August 24, 2025

Wie ist der aktuelle Stand in Sachen künstlicher Intelligenz?

Bis zum Jahr 2010 war es simpel den aktuellen Stand zusammenzufassen. Bis ca. 2010 gab es eine universitäre KI Forschung die von zahlreichen Rückschlägen geprägt war, aber keine nennenswerte Ergebnisse präsentieren konnte. Extrem hochentwickelte Software aus dieser Zeit waren Schachcomputer. Deren Algorithmen konnten nur Schach spielen aber sonst gar nichts. Es war unklar wie man Roboter programmieren könnte, was jedoch verfügbar waren das waren Industrieroboter für wiederkehrende Aufgaben. Einige Prozesse wie das Punktschweißen wurden damit automatisiert aber auch hier blieb unklar wie man Roboter für komplexere Aufgaben einsetzen konnte.

Neuartige Ansätze wie neuronale Netze gab es zwar vor 2010, allerdings war unklar wie genau man damit Probleme innerhalb der KI lösen könnte. Es gab zwar Bücher und wissenschaftliche Zeitschriften zu dieser Thematik, allerdings war das Gebiet der KI innerhalb der Informatik isoliert.

Ab ungefähr dem Jahr 2022 änderte sich die Situation überraschend. Ausgangspunkt war das Large language model chatgpt was anders als frühere Deep Learning projekte auch außerhalb der Informatik auf große Aufmerksamkeit stieß. Die geschätzten Nutzerzahlen für chatgpt im Zeitverlauf waren:

- dec 1, 2022: 1 million users
- jan 20, 2023: 10 million users
- March 8, 2023: 100 million users
- Aug 2025: 800 million users

Parallel zur gestiegenen Nutzerzahl berichteten Medien also Fernsehen und Zeitungen über das Thema Künstliche Intelligenz. Es gab umfangreiche Reportagen, Hintergrundberichte und Meinungen über denkende Maschinen und mögliche Zukunftsszenarien.

Large language models blieben bisher das einzige Beispiel für Künstliche Intelligenz was in der Öffentlichkeit wahrgenommen wurde. Andere Anwendungen wie z.B. Roboter und selbstfahrende Autos hatten bisher keinen Durchbruch erlebt. Sie werden zwar innerhalb der Informatik diskutiert und es gibt auch wissenschaftliche Veröffentlichungen aber bisher fehlt es an einer größeren Nutzerzahl außerhalb der Informatik. Im Zuge des Hype rund um Künstliche Intelligenz ab 2022 wurden zwar künftige humanoide Roboter angekündigt, aber eine Massenproduktion gibt es zum Zeitpunkt Aug 2025 nicht.

Es gibt folgende Erklärungen dafür. Entweder wird erst in Zukunft der Hype um Roboter beginnen, also ab 2026 oder später. Oder aber, Roboter sind technisch bedingt nicht realisierbar und Künstliche Intelligenz ist auf Large language modelle beschränkt. Das also sobald man versucht Roboter mittels Software zu steuern es aus techischen Gründen nicht funktioniert oder ökonomisch keinen Mehrwert generiert.

August 20, 2025

Anleitung zur Benutzung von Google Scholar

Zweifelsohne ist Google Scholar die mächtigste Suchmaschine für wissenschaftliche Texte im Internet, während gleichzeitig es dazu wenig bis gar keine Benutzeranleitungen gibt. Von der Bedienung her kann man soviel über die Webseite auch gar nicht erzählen, weil es eigentlich nur ein Textfeld plus einen einzigen Button gibt. Der Button hat noch nicht mal eine Beschriftung wie submit oder ok sondern ist einfach nur eine Lupe. Zwar gibt es im Menu die Möglichkeit die Ergebnisse anhand des Jahres weiter einzugrenzen oder sogar die Sprache als Filter zu bestimmen, doch in den meisten Fällen ist die Ergebnisliste ohne diese Parameter umfangreicher und damit besser.

Trotz der einfachen Bedienung ist Google Scholar eine komplexe Webseite, die weitaus höheres Vorwissen erfordert als die Google web Suche. Das hat weniger etwas mit der Weboberfläche an sich zu tun sondern mit den dahinterliegenden rund 50 Mio wissenschaftlichen Artikeln. Der Zugriff auf diese Informationen stellt Anforderungen an das Vorwissen der Benutzer. Das heißt, damit man etwas findet sollte man bereits mit einem Fach bestens vertraut sein, was natürlich ein Vorwissen der Benutzer erfordert. Dieser selbstreferentielle Zirkelschluss führt dazu, dass die Mehrzahl der Benutzer die Webseite genau einmal ausprobieren und dann  entmutigt aufgeben.

Aber egal, Google Scholar kann man als moderne Form des wissenschaftlichen Arbeitens beschreiben. Anstatt in einer Bibliothek im Katalog zu blättern ,um dann aus dem Magazinbestand ein Buch zu entleihen, was man innerhalb der Räume der Bibliothek lesen darf, hält Google Scholar die o.g. 50 Mio wissenschaftliche Dokumente im Volltext bereit ,auf die man über den Webbrowser zugreifen kann. Hinzu kommt, dass man im Textbestand per Volltext suchen kann, wodurch das Auffinden von Fachartikeln erleichtert wird.

Anders als einen Roman oder ein Comic kann man wissenschaftliche Texte nicht linear von vorn nach hinten durchlesen um sich davon unterhalten zu lassen, sondern wissenschaftliche Texte dienen als Ressource um sich Notizen anzufertigen. Diese Notizen dienen später, wenn die Lektüre 2 Wochen oder länger zurückliegt dazu, sich das Gelesene in Erinnerung zu rufen. Allein das Wissen, dass ein bestimmter Artikel interessant geschrieben war reicht nicht aus, man muss über die erstellten Notizen ermitteln, was in dem Text genau drinstand. Der Fokus liegt also klar auf den Sachinformationen und weniger auf der Lektüre als solche.

Die meisten Nutzer von wissenschaftlichen Datenbanken werden ihre Notizen hierarchisch anlegen. Man erstellt einen Oberbegriff wie z.B. Informatik und für diesen Obergriff dann Untersektionen wie Programmiersprachen, Hardware und Betriebssysteme. in die jeweilige Kategorie sortiert man ein, was man gelesen hat. Ein geeignetes Softwareprogramm, um die Gliederung sowie die eigentlichen Notizen zu verwalten, ist ein Outline-Editor wie Myinfo, Notecase oder AZZ cardfile. Man kann aber auch ein normales Word processing Tool wie MS Word oder Libreoffice writer verwenden und dort die Gliederungssicht einblenden.

Das Hauptproblem in der Benutzung von Google Scholar ist die hohe Zahl an Treffern für ein Thema. Gibt man sehr allgemeine Begriffe in die Suchmaske ein wie z.B. "computer" oder "history" wird man als Antwort Millionen von Dokumenten erhalten, die man unmöglich alle lesen kann. Die eigentliche Kunst besteht darin, bereits im Suchfeld das Thema soweit einzugrenzen, dass nur wenige Artikel angezeigt werden. Dazu benötigt man ein Vorwissen über das korrekte Vokabular in einem Fachgebiet. Angenommen, man interessiert sich für die Geschichte von Computern. Dann führt eine Anfrage wie:
"computer stack machine Pipelining RISC" zu einer überschaubaren Trefferanzahl von lediglich 500. Wenn man dann noch das Jahr auf „vor 2000“ festlegt, erhält man eine gute Einführung in das Themengebiet.

Die erforderlichen Vokabeln für die Suchmaske entnimmt man den eigenen Notizen. Obwohl die meiste Vokabeln sehr kompliziert klingen und erklärungsbedürftig sind, haben sie den großen Vorteil ,dass sie unveränderliche Richtmarken in einem Fach sind. Der Begriff RISC oder Pipelining wird in dieser feststehenden Bedeutung von mehreren Autoren über Jahrzehnte hinweg verwendet. Er dient als Schlüssel, um sich einem Themengebiet zu nähern und von dort aus weitere Unterthemen zu erforschen.

August 16, 2025

Clockless CPU with buffers

 

Classical cpu design is based on a synchronized pipeline, see figure on top. The modules of the CPU like fetch, decode and execute need all the same amount of time to process an instruction and this allows to parallelize the workflow. Let us monitor the pipeline for a single instruction.
The instruction enters the pipeline at the left and needs 4 seconds for the first stage, then it gets delivered to the decode stage where it needs another 4 seconds duration until its processed. The last stage on the right needs additional 4 seconds. in total the instruction will take 4+4+4=12 seconds.
The advantage of a the pipeline is, that multiple instructions are executed in parallel. If the software program consists of 10 instruction, the CPU won't take 10x12 seconds = 120 seconds, but the processing needs only 10x12/3=40 seconds.
The disadvantage of the shown pipeline has to do with the synchronization of the stages. Each stage needs to be timed so that it will take exactly 4 seconds. In contrast, a clockless cpu has an incoming queue for each stage. There is no centralized synchronized pipeline anymore, but the CPU modules are connected like agents in a multi agent system. Let us monitor the execution of a single instruction.
The instruction is delivered to the incoming queue of the first stage which is “fetch”. Its executed within 1 seconds and then its delivered to the incoming queue of the decode stage. Because this stage needs much longer to process a single instruction, its likely that the instruction has to wait until the incoming queue is empty. This is the FIFO principle. If the instruction was processed its delivered to the third stage which is the execute module.
Even if the clockless architecture is more complicated to realize it has a great advantage. It allows to locate a bottleneck. In the initial synchronized pipeline its impossible to find the slowest module in the pipeline because all the stages need the same amount of time. It doesn't make sense to optimize on the modules, because every stage is timed in a 4 seconds duration.
In contrast, in the clockless version it is possible to measure and improve the performance of each individual stage. At the slowest module, the instruction queue is filled all the time.

August 15, 2025

Simulating a clockless CPU in python

Asychronoos CPUs are the holy grail in chipdesign The famous GA144 is based on a clockless design, but it has never enter mainstream computing because the Forth language is different from existing ecosystem. On the other hand, its very difficult to invent a new processor design. Even the existing clock driven CPUs from Intel, Arm and AMD have a transistor count of billions and more.
To simplify the task drastically it makes sense to simulate a CPU with a python program in under 100 lines of code. Its a single python class which contains of a main loop, a fetch_method and a decode_method. A typical program which is executed by the simulated CPU is:
program = [
  ('LOAD', 'A', 5),
  ('LOAD', 'B', 3),
  ('ADD', 'A', 'A', 'B'),
  ('HALT',)
]
The task for the python program is to parse the commands like [load,add,halt]. To investigate a clockless CPU design a certain modification in the simulator is needed which is a different execution speed of each method. The fetch_method has a builtin time.sleep() command for 1 seconds, while the decode_method has a time.sleep() for waiting 4 seconds. This modification ensures, that the different modules of the CPU are running with a different speed which is the core element of a clockless architecture. Synchronizing the overall system can be realized with a shared bus, aka a message queue. The queue provides a put and a get command for writing and receiving data from the queue.
Let us observe an example. The fetch_method copies the next command e.g. “load A 5” from the memory into the buffer and needs 1 second for the task. Then the command gets executed by the decode_module which takes 4 seconds. in the meantime, the fetch_method runs in the idle mode.
On the first look it doesn't make sense to run each module with a different speed, because the fetch_method has to wait until the decode_module is ready. The advantage is, that the bottleneck is visible. In the diagram its shown clearly, that the slowest part of the system is the decode module. So the problem can be located.
If the CPU was realized as a single method, it remains unclear why it takes so long until the operation is done. It makes sense to group the CPU into modules according to their running speed. This allows to focus on the slowest modules and try to improve its operation.

 

August 05, 2025

The computer age and the industrial society

 The industrial revolution can be divided in three periods with each 100 years.
- 1770-1870 steam engine
- 1870-1970 electronics age
- 1970-present computer age

Its a surprise, that espeically the electronics age took 100 years in total. During this period, computer technology wasn't availableff but only prototypes were created. The starting year of the computer age was 1970, which is also the starting time of the Unix clock. Early Amateur clubs were:

Amateur Computer Society 1966, U.S.
Amateur Computer Club (ACC), founded in 1973, U.K.
Homebrew Computer Club from 1975, U.S.

These clubs have emerged from former ameteur electronics clubs. Early attempt to build computers were based on electronics circuits. Modern transistors and IC were assembled together with the goal to build a pocket calculator which can add and subtract numbers.

Since the 1970, computer technology has emerged quickly. The idea of a computer itself remained stable over decades. So it makes sense to summarize the duration from 1970-2070 as the computer age. During this period, the computer was the most influential technology available. The latest iteration of computers is able to control robots and process natural language, but the technology is also based on computers which consists of hardware and software.

In contrast, former electronics from 1870-1970s was working with a different principle. Electronics is based mostly on physics, it has to do with using electrical current for connecting components. Even if a computer is also an electronics device, it is operating with a different self understanding. Computers are special sort of electronics device, which complex.

August 02, 2025

Simplified phase model of the industrial revolution

from
duration years
invention
1784
86
steam engine
1870
99
electricity
1969
90
computer
The industrial revolution can be divided into longer subperiods which are determined by a single key innovation which are steam engine, electricity and the computer. In contrast to a popular description, the model consists of only 3 phases with each around 90 years duration. The last period, the computer revolution, can be subdivided into smaller phases which are the generations of computer technology like transistor, microchips, the internet and Artificial intelligence. These sub-periods have only a duration of each 20 years.
The overall industrial revolution includes a period of 3x90=270 years and describe the technological change from simple agricultural society in 1784 towards robotics society in 2054.
The core component of the third period, the computer, can be found in very different versions. Computer is a term used for main frame univacs with a magnetic memory in the 1970s, its also used for home computers in the 1980s, and for more advanced desktop computer in the 2000s which were equipped with graphical operating systems. Also, a computer is needed to power routers which are connected over the internet, and a computer is needed to power recent large language models to enable artificial intelligence. Even if computers can be built in multiple ways, the device consists always of a CPU and a memory.