January 29, 2026

Pong AI with internal teacher

 

The game has 2 modes: a) normal videogame instructions are executed by the AI b) internal teacher, game is paused and text overlay is shown. A press on space toggles between the modes. This two mode system emulates a speaker to hearer interaction. So there isn't a single Game AI available which controls the paddle, but there are 2 layers which have different obligations. 

Künstliche Intelligenz durch offene Systeme

 In der Geschichte der Informatik waren offene vs. geschlossene System nie ein Thema. DIese Kategoriesierung wurde niemals genutzt um über Roboter zu philosophieren, stattdessen wurde der Diskurs anhand des Algorithmusbegriff geführt. So unterscheidet die Informatik zwischen sampling-Algorithmen, heuristischen Algorithmen und backtracking algorithmen.

Die Beschreibung von offenen Systeme ist jedoch um einiges mächtiger als der eher mathematisch orientierte Algorithmusbegriff. Ein offenes System ist eine Form der Orakel-Turing-Maschine wo also neben dem Computerprogram noch ein zweite höhere Instanz existiert die man bei problemen konsultiert. Als Folge entsteht bei offenen Systemen eine Interaktion zwischen dem Hearer der eine Aufgabe lösen soll und dem Speaker, welcher Anweisungen gibt. Diese interaktion lässt sich innerhalb eines Computersystems modellieren ähnlich wie ein netzwerk-Protokoll-Stack und dient dazu Probleme im Bereich der Künstlichen Intelligenz zu lösen.

Die konkrete Implementierung lässt sich am Beispiel eines Lagerroboters erläutern. Dieser navigiert in einer grid map von 100x100 Zellen und muss dort pick&place aufgaben ausführen. Der Lagerroboter ist der Hearer während der Speaker mehrere NPC Quests formluiert wie "fahre in Raum B und nehme dort die Palatte #2 auf." oder "bringe die Palette in Raum A und danach fahre zur Ladestation".

Das besondere an offenen Systemen ist, dass der Anweisungen von der Ausführung getrennt sind. Der Speaker formuliert nur die NPC quests, er denkt sich also Aufgaben aus die Sinn machen. Der Speaker kann jedoch nicht selber diese Aufgaben lösen sondern sendet diese an den Hearer. Dieser Hearer-Roboter übersetzt eine Aufgabe in Servomotor-Aktivitäten und fährt zu einem bestimmten Raum in dem Lagerraum oder lädt die Batterie an der Ladestation.

Programmiertechnisch ergeben sich dadurch mehrere Herausforderungen: a) welche Art von NPC quests machen sinn im Kontext eines Lagerroboters b) wie kann eine konkreter NPC Quests ausgeführt werden? Diese Probleme sind in der Art relativ anspruchsvoll und müssen mit klassischen Algorithmen der Informatik gelöst werden. So könnte eine aufgabe wie "fahre zu Raum B" mit Hilfe eines path planning algorithmus gelöst werden, wie A star.

Die Kommunikation in offenen Systemen ist dabei kein Selbstzweck sondern erst durch die KOmmunikation kann man eine Aufgabe maschinenlesbar gestalten. Indem der Speaker an den Hearer eine Textbotschaft sendet, entsteht eine Interaktipon welche sich in Logfiles speichern lässt. Aus den Logfiles kann man ablesen, ob eine Aufgabe gelöst wurde und wenn nicht warum nicht. Darüber lässt sich dann die Künstliche Intelligenz verbessern. Vielleicht ein Beispiel: Angenommen ein Roboter bleibt vor einem Regal stehen ohne erkennbaren Grund. Wäre das System ein geschlossenes System ohne Kommunikation mit einer höheren Instanz bleibt unklar woran es liegt. Vielleicht ist es ein Hardware-Problem, vielleicht ist die Software abgestürzt, oder vielleicht ist die KI defekt.

Wenn es hingegen ein offenes System ist, braucht man nur die letzten Nachrichten auswerten die vom speaker and den Hearer versendet wurden und schon lässt sich der Fehler eingrenzen. Wenn z.B. die letzte Nachricht war "Speaker: halte an". DAnn ist das Stehenbleiben des Roboters kein Fehler weil er den Befehl des Speakers umgesetzt hat. Die Frage ist dann lediglich warum der Speaker dieses Komando gesendet hat.

January 26, 2026

Improved chatbot for a kitchen robot

In addition to the previous post, the python script was improved a bit. There are more entries in the database, the amount of informaiton is higher, and very important a telemetry mapping function is available. This allows to monitor a teleoperation robot. The amount of codelines was increased to 80 but the software remains easy to understand.

The core element is a database with words. Every word is described with additional key-value informaiton for example a picture or a position. The AI takes the current sensory data and searches for a match in the database and the AI also searches for a text input from a user. If the AI has found an entry in the database its equal to understand a situation. In short, the AI is a database lookup algorithm. Here is an example interaction and of course the source code written in Python3.

----
gathering telemetry ...
attention near apple
robotpos near table
user: lookat table
search database ...
lookat action inspect object
table {'pos': (0, 0), 'desc': 'place for storing objects', 'word': 'noun'}

gathering telemetry ...
attention near apple
robotpos near table
user: grasp apple
search database ...
grasp action take an object
apple {'pos': (10, 3), 'word': 'noun', 'category': 'fruit', 'desc': 'is food to eat', 'filename': 'apple.jpg'}
----

"""
chatbot kitchen robot
a wordlist is stored as python dictionary, user enters command which is searched in the wordlist
application: Teleoperation monitoring
"""
class Chatbot:
  def __init__(self):
    self.data={
      # verb
      "open": "action open something",
      "grasp": "action take an object",
      "ungrasp": "action place object from hand to world",
      "eat": "action eat food",
      "lookat": "action inspect object",
      "walkto": { 
        "word": "verb",
        "category": "action",
        "desc": "move towards location",
        "motor": "legs",
      },
      # noun
      "apple": {
        "pos": (10,3),
        "word": "noun",
        "category": "fruit",
        "desc": "is food to eat",
        "filename": "apple.jpg",
      },
      "banana": {
        "desc": "noun food",
      },
      "table": { 
        "pos": (0,0),
        "desc": "place for storing objects",
        "word": "noun",
      },
      "fridge": {
        "pos": (1,0),
        "word": "noun",
        "status": "closed",
        "category": "furniture",
      },
      "plate": "noun food is served there",
      "door": "noun entrance to room",
    }
    self.telemetry()
    self.parser()
  def getdist(self,p1,p2): # return: manhattan_distance
    result=abs(p1[0]-p2[0])+abs(p1[1]-p2[1])
    return result
  def telemetry(self):
    self.sensor={
      "robotpos": (0,1),
      "camera": "cam02.jpg",
      "attention": (10,3),
    }
    # search robotpos and attention
    print("gathering telemetry ...")
    for i in self.data:
      if "pos" in self.data[i]:
        dist=self.getdist(self.sensor["robotpos"],self.data[i]["pos"])
        if dist<=1:
          print("robotpos near",i)
        dist=self.getdist(self.sensor["attention"],self.data[i]["pos"])
        if dist<=1:
          print("attention near",i)
  def parser(self):
    line=input("user: ") # manuel input
    line=line.split()
    print("search database ...")
    for i in line:
      if i in self.data:
        print(i,self.data[i])
      else:
        print(i,"not found")
    

if __name__ == '__main__':
  c=Chatbot()

January 25, 2026

Chatbot for a kitchen robot

 Artificial Intelligence is not the result of a sophisticated computer algorithm, but it is produced by human to machine interaction. An easy to implement example is a chatbot which is demonstrated for the domain of a kitchen robot. The software was written in 35 lines of code in python and consists of a mini database plus a parser. A command send to the chatbot is searched in the database and found matches are shown on the screen.

From a technical perspective, the chatbot is trivial. It doesn't contain of complex routines and even beginner in the Python language will understand how the program works. The more advanced subject is to explain why such a program is required for a robot control system. The idea is that the AI is stored in the database which is a vocabulary list. For each word e,g. the noun "apple" additional information are provided. In the chatbot the words are linked to a simple definition, but the database can be enhanced with a longer description and even a filename to a picture which shows a photograph of the noun. Such kind of database allows a computer to understand the meaning of a sentence. A sentence like "eat apple" is converted by the parser into a full blown description of the workflow. The software knows that the sentence is referencing to an action word and an object and it knows that it has to with eating food.

-----
user: open door
parsing ...
open action open something
door noun entrance to room

user: eat apple
parsing ...
eat action eat food
apple noun food
-----

"""
chatbot kitchen robot
a wordlist is stored as python dictionary, user enters command which is searched in the wordlist
"""
class Chatbot:
  def __init__(self):
    self.data={
      # verb
      "open": "action open something",
      "grasp": "action take an object",
      "ungrasp": "action place object from hand to world",
      "eat": "action eat food",
      "walkto": "action move towards location",
      # noun
      "apple": "noun food",
      "banana": "noun food",
      "table": "noun place for storing objects",
      "plate": "noun food is served there",
      "door": "noun entrance to room",
    }
    self.parser()
  def parser(self):
    line=input("user: ") # manuel input
    line=line.split()
    print("parsing ...")
    for i in line:
      if i in self.data:
        print(i,self.data[i])
      else:
        print(i,"not found")
    

if __name__ == '__main__':
  c=Chatbot()


January 24, 2026

Programming a symbol grounding engine


The core element is a database which consists of flashcards. Entries in the database are natural language words for [apple, banana, plate, table, ...] and also for verbs like [grasp, walkto, use, ungrasp, ...]. The symbol grounding engine works like a parser for a text adventure: a certain input on the terminal like "grasp apple" is matched with the database. The found entries in the database are extracted and converted into action signals for the robot hand.

In other words, there is no AI algorithm needed, but there is a word database. The database ensures that the computer understands natural language commands like "walkto table, locate apple, grasp banana".

January 23, 2026

Creating an internal teacher with natural language

 Natural language is a powerful tool for humans to describe the reality. THe existing vocabulary can be reused for robotcs applications. The only bottleneck is, that computers can't parse natural language directly but need a parser and an ontology for doing so. The following blog post explains the idea for a kitchen robot.

The starting point is an ontology which is realized as a python dictionary. The ontology stores items in a kitchen and possible actions for these items.

--------------
items:
  apple, food
  banana, food
  plate, dishes
  pot, dishes
action
  prepate_meal, search(food)+eat(food)
  cleanup_kitchen, search(dishes)+search(trash)
--------------

The system is realized as a command line prompt which asks the human operator to enter commands. A possible session is shown next:
$ apple
> apple is food, location is (10,1)
$ milk
> not_found
$ banana
> banana is a food, location is (20,4)
$ prepare_meal
> search(food) -> found: apple,banana
> eat(food) -> eat(apple), eat(banana)

The parser takes the human input and searches in the ontology for a definition, for location and for actions. Its some sort of text adventure game which works also with a parser and a database. If the user enters a command or object name which is not available in the database, the parser will answer the request with an error message. In other words, the intelligence of the AI doesn't depend on the parser itself but its the result of well populated database. Somebody has enter all the kitchen items into the database to make the system highly responsive.
  
  

January 22, 2026

Head up display with grounded language

In science fiction movies of the 1980s, a head up display (HUD) is shown. This allows the audience to see what the robot might see. It was assumed, that such a head up display doesn't has a purpose but its only a special effect. An example for such a head up display is shown on top of this blog post. There are multiple food items on a table and some text boxes with a description.

The surprising situation is, that a head up display and especially the textual labels have a use case from a scientific perspective. They are demonstrating the symbol grounding problem. The robot is able to think and fulfill tasks by using the information from the HUD. A command like "grasp the banana" is converted into an action like "grasp the object on top left which is a fruit and has a weight of 120g". These detail information are extracted from the hud display, because the banana item was recognized in the picture.

A head up display is a photo from the ego perspective of a robot with annotated objects. There is sometimes a status box available which shows additional information. These text boxes ensures, that the robot understands a situation. It makes the teleoperation of the robot smoother. 

January 19, 2026

Sprachspiele vs. Mathematische puzzle

 Über Jahrzehnte hinweg galten Mathematische Rätsel und Denkspiele wie SChach als Testumgebung für Künstliche Intelligenz. Anhand des SChachspiels kann man grundlegende Algorithmen wie Minmax erläutern und geometrische Routenfindungsprobleme sind ideal um darüber Path planning algorithmen zu verstehen.

Allerdings haben diese klassischen KI Probleme einen großen Nachteil: sie blende das Thema natürliche Sprache aus. In einem Spiel wie das 15 puzzle Problem oder im berühmten Tictactoe Spiel gibt es keine Worte sondern es nur ein grid-Raster auf dem die Spieler Steine platzieren. Als interne Datenstruktur für eine Computerumsetzung wird folgerichtig ein Array verwendet womit das Spiel simuliert wird. Damit reduzieren sich mögliche Ansätze zur Entwicklung von künstlicher Intelligenz auf eine mathematisch-logische Sichtweise.

Neben den erwähnten Logikpuzzles gibt es eine zweite Kategorie von Gesellschaftsspielen die in der Informatik erst seit 2010 näher untersucht werden: Sprachspiele. Diese haben ihre Wurzeln weniger in der Mathematik sondern werden traditionell zum Erlenen einer Fremdsprache verwendet. Sprachspiele stellen ein Rätsel da was man nur lösen kann wenn man die Vokabeln der Fremdsprache beherscht. Eine mögliche Aufgabe besteht darin für das englische Wort "apple" die deutsche Übersetzung "Apfel" zu finden oder ein gezeigte Bilderkarte mit dem korrekten Wort zu annotieren.

Obwohl diese Spiele in einem Computer simuliert werden können werden sie bisher nur selten in der KI Forschung eingesetzt. Dies hat etwas mit der traditionellen Ausrichtung auf mathematische Probleme zu tun, weil die Informatik sich historisch bedingt von der Mathematik abstammt also sich primär um Zahlen und Formeln kümmert und weniger um natürliche Sprache, welche innerhalb der Geisteswissenschaft erforscht wird.

Es gibt Indizieren dafür dass ausgrechnet natürliche Sprache der fehlende Baustein ist um Künstliche Intelligenz zu erzeugen. Sprache ist kulturell bedingt ein Zeichen und Sinnsystem was auf die realität referenziert. Frühe Hieroglyphenschriften verwenden bilder und symbole anstatt Substantive, während moderne Sprache auf das lateinische Alphabet zurückgreifen. Der Vorteil von natürlicher Sprache und speziell deren schriftlicher Ausprägung ist, dass es sich um ein etabliertes Zeichensystem handelt was in Wörterbüchern kodifiziert ist. Man muss also nicht eine neue Sprache erfinden die zur Steuerung von robotern verwendet wird sondern kann das bekannte Englische Vokabular für diesen Zweck verwenden. Die einzige Modifikation besteht darin, dass in der Robotik häufig auf einen Subset, eine mini language zurückgegriffen wird, der Roboter also effektiv nur 100 Worte versteht, ähnlich wie ein Textparser in einem Adenturegame.

Das besondere bei einem Sprachinterface ist, dass sich damit eine Fernsteuerung programmieren lässt die anders als eine joystick-Fernsteuerung über einen replay modus verfügt. Man speichert die kommandos die ein Mensch an einen Roboter erteilt in einem logfile und kann das logfile dann später erneut an den roboter senden und dieser wird auf dieselbe Weise reagieren.

Obwohl derartige Roboter bisher nur selten in der Forschungsliteratur erwähnt werden und das Themengebiet des Symbolgrounding hochkomplex ist, lassen sich praktische Roboter mit erstaunlich wenig Aufwand realisieren. Im Grunde reicht es einen einfachen Parser zu programmieren, der 10 worte versteht wie "left, right, up, down, stop, status" und schon kann man an diesen Roboter längere Befehlssequenzen senden. Zugegeben, das Prinzip ist nicht wirklich innovativ, es ist identisch mit der Entwicklung einer domain specific language und wurde in der Robotik unter der Bezeichnung "Karel the robot" seit den 1980er verwendet. Das neue liegt eher darin, dass man auf dieses Hilfsmittel der natürlichen Sprache stärker fokussiert um damit eine vielzahl von Künstliche Intelligenz Aufgaben zu formalisieren.

Ein derartiger Roboter wird nicht über Algorithmen gesteuert sondern die Basis ist ein Englisch-Wörterbuch mit Verben, adjektiven und Substantiven. DIe kenntnis dieser Worte erlaubt es dem roboter statusmeldungen an den BEnutzer zu senden und von diesem Befehle zu empfangen. SYmbol grounding ist folgerichtig die autoamtsierung der Mensch-Maschine-Schnittstelle. ES geht weniger darum, den roboter als Maschine zu programmieren sondern der fokus liegt auf der Schnittstelle zur Außenwelt, also welche Daten an den roboter gesendet werden und welche der Roboter an die Umwelt zurückschickt.

Künstliche Intelligenz früher

 Vor dem Jahr 2010 war die KI Forschung durch Sackgassen, ungelöste Probleme und Pessimismus geprägt. Man könnte sagen, dass die Zeit von 1950 bis 2010 ein einziger langer KI Winter war, bei dem es nicht gelang wichtige Probleme wie Robotik zu lösen. Diese distanzierte Bewertung erhält man wenn man sich die gängige Literatur anschaut, also die Bücher und Konferenz-Proceedings die über Jahrzehnte von Wissenschaftlern publiziert wurden. Während klassische Informatik also software engineering, Datenbanken, Computer netze und Algorithmen einen kontiniurlichen Aufschwung erlebte und praktische Probleme lösen konnte, war die Künstliche Intelligenz niemals erfolgreich.

Am einfachsten lässt sich das Scheitern aufzeigen wenn man versucht konkrete Probleme zu lösen, z.B. eine Software zu programmieren die schach spielt, eine KI entwickelt die einen Roboter steuert oder einen Algorithmus entwirft der ein Selbstfahrendes Auto steuert. Zwar gab es viele Versuche sowas zu implementieren, aber im Regelfall war der ergebnis ernüchternd. Bevor eine Schachsoftware in der Lage ist gegen einen Menschen zu spielen wurde diese Software über Jahre hinweg verbessert, unzählige Manstunden sind in solche Projekte geflossen. Und bei Algorithmen zur Robotiksteuerung sieht es noch schlechter aus. Dort sind selbst sehr umfangreiche Programmbibliotheken wie das ROS System nicht im Stande einfachste roboter durch ein Labyrinth zu steuern.

Es gab bis 2010 durchaus Erfolge, z.B. hat der Deep blue Computer im Schach gegen einen Menschen gewonnen und das selbstfahrende Auto Stanley konnte im Jahr 2005 die Ziellinie der Darpa Grand challenge durchqueren. Allerdings war der Programmieraufwand für diese Prototypen extrem hoch und die Resultate sind nicht verallgemeinerbar.

Die gute Nachricht lautet dass sich das Unvermögen eine intelligente Software zu programmieren sich gut eingrenzen lässt. Es reicht aus die folgende Aufgabe näher zu untersuchen: "Programmieren sie eine Software die einen Roboter steuert. Der Roboter soll in einem Labyrinth vom Startpunkt zum Zielpunkt fahren und dabei Hindernissen ausweichen. Erlaubt ist als Programmiersprache jede vorhandene sprache, ebenfalls erlaubt ist jeder bekannte Algorithmus und jedes bekannte Informatik-Buch zu verwenden. Viel erfolg."

Die traurige Nachricht lautet, dass so eine Programmieraufgabe viel zu umfangreich ist. Informatiker vor dem Jahr 2010 sind damit immer gescheitert. Das Problem hat damit zu tun, dass vorhandene Programmiersprachen wie C/C++, vorhandene Algorithmen wie RRT und vorhandene Literatur wie "Russel/Norvig:AIMA" nicht ausreichend sind um das obige Problem mit dem Maze roboter zu lösen. Selbst wenn es gelänge in C/C++ einen Roboter zu programmieren der Hindernisse umfährt, wird der fertige Roboter nicht wirklich überzeugen können. Es wird ein Projekt mit einer hohen Zahl von Codezeilen werden während die praktische Einsatzfähigkeit nahe null ist.

Leider sind die erwähnten Tools, also Programmiersprachen, Algorithmen und Informatik-Bücher bereits das beste vom besten. C/C++ ist die effizienteste Programmiersprache die in Kombination mit dem ebenfalls sehr mächtige RRT Algorithmus eigentlich in der Lage sein sollte, einen Roboter zu steuern. Tut es aber nicht.

Der Grund warum es bis 2010 Künstliche Intelligenz ein unüberwindliches Hinderniss darstellte hat mit der Fokussierung auf Computer zu tun. Die unausgesprochene Vorstellung in der Informatik ist, eine Software zu erstellen die auf einer CPU ausgeführt wird, und diese Software soll dann ein Problem lösen. Informatiker haben Zugriff auf einen Computer auf dem ein Program mausgeführt werden kann und sie benötigen dann eine Software die das Problem löst. Diese Software wird in aller Regel neu geschrieben und hier liegt das Problem. Niemand weiß wie eine KI Software aussehen soll. Das STandardparadigma der Informatik funktioniert nicht.

Lediglich bei Nicht-KI Themen wie Datenbanken, Textverarbeitung oder mathematischen Problemen ist es sinnvoll computerzentriert vorzugehen. Wenn z.B. in einer Datenbank die Inhalte einer Tabelle aufaddiert werden sollen, reicht es dafür in C/C++ eine Software zu schreiben oder noch besser, man sucht nach einer bereits existierenden Bibliothek und verwendet diese lediglich für das konkrete Beispiel. Klassische Informatik funktioniert immer computer zentriert, d.h. es gibt eine vorhandene Hardware + Software die dann auf ein konkretes Problem angewendet wird. Lediglich bei KI Themen funktioniert dieses eingeübte Vorgehen nicht. Es gibt keine KI Standardbibliotheken und selbst das Neuschreiben von Software führt nicht zum erfolg.

Man kann die Zeit bis 2010 so umschreiben, dass damals die KI Community versucht hat Software zu entwickeln mit denen Computer intelligent werden, aber das alle Versuche dieser Art gescheitert sind. Selbst unkonventionelle Ansätze welche durch eine neue Generation von Informatikern verfolgt wurde war nicht erfolgreich. z.B. könnte ein alternatives Vorgehen darin bestehen auf die altmodische C/C++ Sprache zu verzichten zugunsten der neueren Python Sprache und den RRT Pfadplanungsalgorithmus zu ersetzen durch ein neuronales Netz. Man hätte damit zwar ein innovatives Robotik-Projekt allerdings würde auch dieses leider scheitern.

Damit dieser Blogpost nicht ausschließlich pessimistisch endet, zum Schluss noch ein kleiner Ausblick wie seit dem Jahr 2010 Robotikprojekte durchgeführt werden. Neuartige Robotik basiert darauf Sprachspiele zu maschinisieren die erforderlich sind um Probleme zu lösen. Ein Speaker übermittelt natürlichsprachige Anweisungen an einen Hearer, der ein Labyrinth durchquert. Die dabei ausgetauschte Kommunikation wird dann in ein Computermodel formalisiert. Damit kann der computer sowohl als Speaker als auch als Hearer agieren und so das Problem lösen.

Der Fokus verschiebt sich dabei von der früheren Programmierung eines Computers hin zum Entwurf eines Sprachspiels. Erst wenn das Sprachstil existiert wird dafür ein Computerprogram erstellt. Damit ist klar definiert was Künstliche Intelligenz ist, hähmlich die maschinelle Ausführung von Sprachspielen.

In der klassischen Informatik wird dies als verteilte KI bzw. agentenbasierte KI beschrieben. Allerdings gehen Sprachspiele weit darüber hinaus weil Sprachspiele auch zwischen Menschen stattfinden können. Im kern wird Sprache als Werkzeug eingesetzt um von der Realität zu abstrahieren.

Ein Sprachspiel ist ein vergleichbar mit klassischen Gesellschaftsspielen wie Mühle, TicTacToe oder Schach, allerdings mit dem Unterschied dass es nicht um logisches Denken geht sondern um das Beherschen einer Sprache. Meist werden Sprachspiele eingesetzt zum Fremdsprachen lernen, Beispiele sind das "Simon Says" spiel, das "Ich sehe was was du nicht siehst" und Übersetzungsspiele bei dem ein Bild in das korrekte Wort übersetzt werden muss.

Derartige Sprachspiele wurden von der Informatik über Jahrzehnte ignoriert. Man kann sie zwar ähnlich wie Schach oder wie ein Kartenspiel in einer Software simulieren und dafür sogar eine KI entwickeln, die das Sprachspiel automatisch löst, nur wurde dies von der Informatik meist nicht als lohnenswerte Aufgabe angesehen. zu unrecht, denn Sprachspiele sind die Schlüsseltechnologie bei der Entwicklungt künstlicher Intelligenz.

Moderne KI seit dem Jahr 2010 lässt sich erstaunlich simpel zusammenfassen. Es geht darum sich neuartige Sprachspiele zu überlegen, diese auf einem Computer zu simulieren und in Datasets und Neuronalen Netzen hochzuskalieren. Wenn man das realisiert, erhält man dabei automatisch eine hochentwickelte Künstliche Intelligenz die in der Lage ist als chatbot zu kommunizieren, die roboter steuern kann und die muster erkennt. Wichtig ist, dass das Sprachspiel oder der Trainingsdatensatz für neuronale Netze an irgendeiner Stelle eine Sprachkomponente beinhaltet. Es müssen also zwingend Verben und Substantive enthalten sein, weil es sonst kein Sprachspiel ist.

Es ist sinnvoll die Geschichte der KI grob in zwei Phasen einzuteilen: vor 2010 wurden mathematische Gesellschaftsspiele untersucht wie das 15 puzzle, Schach und Labyrinthspiele. Seit 2010 werden zusätzlich noch Sprachspiele untersucht z.b. "Visual question answering" "instruction following", "image annotation". Dieser veränderte Fokus erklärt die Erfolge der Künstliche Intelligenz seit dem Jahr 2010.
 

January 16, 2026

Taqging based evaluation functions

 Despite its philosophical implication, Artificial Intelligence is also a technical subject within computer science. There are even some algorithms available to realize game playing agents in software. The most famous one is perpahs an evaluation fucntion which is used since the 1980s in computer chess. The inner working of evaluation function including a semantic improvement should be explained next.

In a classical heuristic evaluation function the current game state is mapped towards a score from 0.0 to 1.0 and this score helps the gradient descent solver to find the optimal action. In case of a path planning problem on a 2d grid map, the score is the manhattan distance to the goal, and in case of computer chess the is the strength of a player determined by the amount of chess pieces on the board.

For complex problem from robotics, the score can't be determined directly because its unclear if a certain game state is an improvement or not. Especially for biped walking based on mulitiple joints its impossible to determine a numerical score for a certain pose. What can be utilized instead is a tagging mechanism. Instead of calculating the numerical score, the computer determined only the detected tags. A tag is a semantic anchor like [finger_open] or [battery_low]. Such a tag doesn't describe the game state with numbers but with words. The numerical scores have to be calculated in a second step:

Game state -> semantic tags -> numerical score

The main advantage of a tagging mechanism is that its much easier to encode domain specific knowledge. There is no need to describe a game state from a mathamtical perspective, but its enough to provide a list of words to annotate a game state. This works great easpecially for complex motion capture annotation. An example list of detected tags for a bipod robot might be: [left_foot_front] [balance_stable] [right_foot_back] [servo_motor_off].

The objective for the computer program is to determine the correct tags in realtime. The robot is moving on the screen and in the background all the tags are shown on the screen.