September 22, 2026

Informierte Suche als Vorläufer von sprachgesteuerten Robotern

 Vor dem Aufkommen von instruction following robotern und Vision language action modellen gab es die informierte Suche was ein heuristischer Algorithmus darstellt. Verwendet wurde eine feste Kostenfunktion die beim Pfadplanen häufig der Abstand zum Ziel auf der Karte war während bei Computerschach die Kostenfunktion die Bewertungsfunktion der aktuellen Stellung war, also wieviele Figuren eine Seite besitzt und wo diese stehen auf dem Brett.

Informierte Suche mittels Kostenfunktion ist leistungsfähiger als die vorher übliche backtracking suche welche alle möglichkeiten durchprobiert und eine extrem hhohe laufzeit besitzt. Bei der informierten Suche wird nur ein kleiner Teil des gametree berücksichtigt. Es stellt einen Kompromiss da zwischen einem numerischen Solver wie der potential field methode und eine konkrete Anwendungsdomäne wie dem Navigieren eines Roboters in einem Labyrinth.

Informierte Suche hat jedoch ein größes Problem: die Kostenfunktion ist fest in der Software vorgegeben und kann nicht von außen verändert werden. zusätzlich besteht die Kostenfunktion aus einer mathematischen Formel deren Erstellung schwierig ist und die selten für alle Situationen gute Ergebnisse liefert. Beim Schach wird z.B. eine Summe gebildet aus mehreren Einflussfaktoren die unterschiedlich gewichtet werden.

Die neuere KI Forschung ist deshalb von der klassischen informierten Suche abgerückt zugunsten voice control. Voice control erlaubt es während der Laufzeit des Roboters die kostenfunktion von außen zu verändern. Der User entscheidet während der interaktion was das Ziel ist. er kann z.b. sagen "fahre zur ladestation" oder "fahre zum Wegpunkt A". Ein solches Kommando wird in eine Kostenfunktion übersetzt die dann wiederum konkrete Handlungen des Roboters aktiviert. Genauer gesagt versucht der Roboter ähnlich wie der informierten Suche seine Kosten zu minimieren und das Ziel zu erreichen.

Die einfachste Version eines voice control roboters besteht aus einer Menüstruktur wo der Benutzer aus 4 möglichen Befehlen einen Auswählen kann, für jedes Kommando wurde vorher manuell die Kostenfunktion hinterlegt zwischen denen der Benutzer wählen kann. Das entspricht ungefähr den Optionen beim Reinforcement learning. Bei einer komplexeren voice control steuerung kann der Benutzer halbwegs frei ein Kommando eingeben was in eine inviduelle Kostenfunktion übersetzt wird. z.B. durch das bennnen von wegpunkten oder das benennen von aktionsverben. Einfache Kommandos könnten lauten:
1. fahre langsam zu Wegpunkt B
2. fahre schnell zu Wegpunkt C
3. stopp
4. fahre schnell zu Ladestation

Der Benutzer interagiert hier mit dem Roboter mittels einer simplen Sprachgrammatik. Der Parser hat die Aufgabe für jedes mögliche Kommando eine numerische Kostenfunktion zu bestimmen welche sich mittels potential field Suche in Servobefehle übersetzen lässt.


September 19, 2026

Minimal chatbot with distributed representation

 Existing large language models (LLM) are highly complex systems which are impossible to explain to newbies. The following blog post consists of a minimal example.

The human to chatbot interaction works with a vocabulary of 100 words stored in a word embeddings matrix of 20 dimensions. The human enters a sentence which gets converted into a 20d vector and the chatbot responds also with a vector.

================================================================================
          LOG FILE: USER-CHATBOT INTERACTION SESSION #0842
          SYSTEM: MINI-ENGLISH 100-WORD NEURAL COMMUNICATION INTERFACE
          ENCODING: 20-DIMENSIONAL CONTINUOUS DENSE VECTOR [d1..d20] (0.00-1.00)
          DATE: 2026-09-19 10:04:12 UTC
================================================================================

[SYSTEM INIT]
- Vocabulary Size: 100 Words (Discrete Lexicon Index: W000 - W099)
- Input Representation: Sequence of 20D Continuous Floating-Point Vectors
- Output Representation: Sequence of 20D Continuous Floating-Point Vectors
- Vector Quantization: L2 Euclidean Distance Matching (Threshold: < 0.15)
- Session Status: CONNECTED

--------------------------------------------------------------------------------
[TURN 01 - HUMAN INPUT]
Raw Selection: ["What", "Is", "Sun", "Color"]
Sequence Length: 4 Tokens

Input Vectors (20D Matrix):
  Token 1 ("What"):
    [0.91, 0.05, 0.12, 0.88, 0.02, 0.10, 0.00, 0.45, 0.11, 0.02, 0.80, 0.15, 0.03, 0.05, 0.92, 0.01, 0.10, 0.22, 0.05, 0.14]
  Token 2 ("Is"):
    [0.10, 0.02, 0.85, 0.12, 0.01, 0.05, 0.00, 0.90, 0.02, 0.11, 0.20, 0.04, 0.01, 0.08, 0.15, 0.00, 0.05, 0.10, 0.02, 0.05]
  Token 3 ("Sun"):
    [0.05, 0.95, 0.08, 0.10, 0.92, 0.88, 0.70, 0.15, 0.85, 0.00, 0.05, 0.10, 0.90, 0.12, 0.02, 0.08, 0.60, 0.05, 0.88, 0.10]
  Token 4 ("Color"):
    [0.12, 0.88, 0.20, 0.05, 0.15, 0.30, 0.10, 0.25, 0.10, 0.95, 0.08, 0.20, 0.15, 0.02, 0.10, 0.05, 0.12, 0.80, 0.10, 0.25]

[ENCODER PROCESSING]
- Reading sequence [4x20]...
- Temporal hidden state updated. Intent classified: [QUERY: ASTRO_PROPERTY]

[DECODER GENERATION & QUANTIZATION]
- Step 1: Raw Output Vector -> L2 Nearest Match: W082 ("Sun")     | Dist: 0.012
- Step 2: Raw Output Vector -> L2 Nearest Match: W018 ("Is")      | Dist: 0.008
- Step 3: Raw Output Vector -> L2 Nearest Match: W091 ("Yellow")  | Dist: 0.034
- Step 4: Raw Output Vector -> L2 Nearest Match: W095 ("White")   | Dist: 0.041
- Step 5: Raw Output Vector -> L2 Nearest Match: W099 ("<EOS>")   | Dist: 0.002

[TURN 01 - CHATBOT RESPONSE]
Reconstructed Text: "Sun Is Yellow White"

Output Vectors (20D Matrix):
  Token 1 ("Sun"):
    [0.05, 0.95, 0.08, 0.10, 0.92, 0.88, 0.70, 0.15, 0.85, 0.00, 0.05, 0.10, 0.90, 0.12, 0.02, 0.08, 0.60, 0.05, 0.88, 0.10]
  Token 2 ("Is"):
    [0.10, 0.02, 0.85, 0.12, 0.01, 0.05, 0.00, 0.90, 0.02, 0.11, 0.20, 0.04, 0.01, 0.08, 0.15, 0.00, 0.05, 0.10, 0.02, 0.05]
  Token 3 ("Yellow"):
    [0.08, 0.82, 0.15, 0.02, 0.10, 0.25, 0.05, 0.20, 0.08, 0.98, 0.05, 0.18, 0.10, 0.01, 0.08, 0.02, 0.10, 0.85, 0.08, 0.20]
  Token 4 ("White"):
    [0.02, 0.85, 0.10, 0.01, 0.08, 0.20, 0.02, 0.15, 0.05, 0.99, 0.02, 0.12, 0.05, 0.00, 0.05, 0.01, 0.08, 0.90, 0.05, 0.15]

--------------------------------------------------------------------------------
[TURN 02 - HUMAN INPUT]
Raw Selection: ["Why", "Sky", "Blue"]
Sequence Length: 3 Tokens

Input Vectors (20D Matrix):
  Token 1 ("Why"):
    [0.95, 0.02, 0.10, 0.91, 0.01, 0.08, 0.00, 0.30, 0.08, 0.01, 0.85, 0.10, 0.02, 0.04, 0.95, 0.00, 0.08, 0.15, 0.02, 0.10]
  Token 2 ("Sky"):
    [0.04, 0.90, 0.06, 0.08, 0.85, 0.80, 0.65, 0.10, 0.80, 0.00, 0.04, 0.08, 0.85, 0.10, 0.01, 0.05, 0.55, 0.04, 0.80, 0.08]
  Token 3 ("Blue"):
    [0.09, 0.85, 0.18, 0.04, 0.12, 0.28, 0.08, 0.22, 0.09, 0.96, 0.06, 0.19, 0.12, 0.01, 0.09, 0.03, 0.11, 0.88, 0.09, 0.22]

[ENCODER PROCESSING]
- Reading sequence [3x20]...
- Context memory appended from Turn 01 (Atmospheric / Light query scope).

[DECODER GENERATION & QUANTIZATION]
- Step 1: Raw Output Vector -> L2 Nearest Match: W080 ("Light")    | Dist: 0.028
- Step 2: Raw Output Vector -> L2 Nearest Match: W045 ("Scatter")  | Dist: 0.052
- Step 3: Raw Output Vector -> L2 Nearest Match: W030 ("In")       | Dist: 0.011
- Step 4: Raw Output Vector -> L2 Nearest Match: W084 ("Air")      | Dist: 0.039
- Step 5: Raw Output Vector -> L2 Nearest Match: W099 ("<EOS>")    | Dist: 0.001

[TURN 02 - CHATBOT RESPONSE]
Reconstructed Text: "Light Scatter In Air"

Output Vectors (20D Matrix):
  Token 1 ("Light"):
    [0.10, 0.88, 0.25, 0.15, 0.70, 0.65, 0.40, 0.30, 0.60, 0.50, 0.10, 0.15, 0.75, 0.05, 0.10, 0.04, 0.45, 0.50, 0.65, 0.18]
  Token 2 ("Scatter"):
    [0.78, 0.20, 0.40, 0.30, 0.15, 0.10, 0.05, 0.55, 0.20, 0.10, 0.35, 0.60, 0.25, 0.80, 0.20, 0.12, 0.15, 0.10, 0.20, 0.45]
  Token 3 ("In"):
    [0.02, 0.05, 0.10, 0.05, 0.02, 0.01, 0.00, 0.12, 0.05, 0.02, 0.05, 0.02, 0.01, 0.02, 0.05, 0.98, 0.02, 0.05, 0.02, 0.01]
  Token 4 ("Air"):
    [0.03, 0.92, 0.05, 0.06, 0.80, 0.75, 0.10, 0.08, 0.70, 0.00, 0.03, 0.06, 0.80, 0.08, 0.01, 0.04, 0.50, 0.03, 0.75, 0.06]

--------------------------------------------------------------------------------
[TURN 03 - HUMAN INPUT]
Raw Selection: ["Where", "Is", "Water"]
Sequence Length: 3 Tokens

Input Vectors (20D Matrix):
  Token 1 ("Where"):
    [0.88, 0.04, 0.15, 0.85, 0.02, 0.12, 0.00, 0.40, 0.10, 0.03, 0.82, 0.14, 0.04, 0.06, 0.88, 0.02, 0.12, 0.20, 0.04, 0.15]
  Token 2 ("Is"):
    [0.10, 0.02, 0.85, 0.12, 0.01, 0.05, 0.00, 0.90, 0.02, 0.11, 0.20, 0.04, 0.01, 0.08, 0.15, 0.00, 0.05, 0.10, 0.02, 0.05]
  Token 3 ("Water"):
    [0.04, 0.96, 0.05, 0.08, 0.88, 0.82, 0.15, 0.10, 0.78, 0.00, 0.04, 0.08, 0.82, 0.10, 0.01, 0.05, 0.50, 0.04, 0.78, 0.08]

[ENCODER PROCESSING]
- Reading sequence [3x20]...
- Scope shift detected: [QUERY: GEOGRAPHY_LOCATION]

[DECODER GENERATION & QUANTIZATION]
- Step 1: Raw Output Vector -> L2 Nearest Match: W086 ("Ocean")   | Dist: 0.019
- Step 2: Raw Output Vector -> L2 Nearest Match: W022 ("And")     | Dist: 0.005
- Step 3: Raw Output Vector -> L2 Nearest Match: W087 ("River")   | Dist: 0.021
- Step 4: Raw Output Vector -> L2 Nearest Match: W099 ("<EOS>")   | Dist: 0.001

[TURN 03 - CHATBOT RESPONSE]
Reconstructed Text: "Ocean And River"

Output Vectors (20D Matrix):
  Token 1 ("Ocean"):
    [0.02, 0.98, 0.04, 0.07, 0.90, 0.85, 0.20, 0.12, 0.82, 0.00, 0.03, 0.07, 0.85, 0.12, 0.01, 0.04, 0.52, 0.03, 0.80, 0.07]
  Token 2 ("And"):
    [0.01, 0.01, 0.05, 0.02, 0.01, 0.00, 0.00, 0.05, 0.01, 0.01, 0.02, 0.01, 0.00, 0.01, 0.02, 0.05, 0.01, 0.02, 0.01, 0.99]
  Token 3 ("River"):
    [0.03, 0.95, 0.05, 0.08, 0.87, 0.81, 0.18, 0.11, 0.79, 0.00, 0.04, 0.08, 0.81, 0.11, 0.01, 0.05, 0.49, 0.04, 0.77, 0.08]

--------------------------------------------------------------------------------
[SESSION TERMINATED BY USER]
================================================================================

September 18, 2026

Sprache als Bindeglied zwischen Menschen und Maschine

 Künstliche Intelligenz steckte über Jahrzehnte in einer fundamentalen Krise. Das Ziel bestand darin, Robotern das Denken einzuprogrammieren allerdings blieb unklar wie das gehen sollte. Aus der menschlichen biologie war bekannt, dass Lebewesen mit neuronen im Gehirn denken welche elektrische Signale transportieren, unklar blieb jedoch wie sich damit Roboter für konkrete Aufgaben programmieren lassen sollte. Es gab zwar großanlegte Forschung zu künstlichen Neuronalen Netzen beginnend in den 1990er Jahren, doch diese lieferten keine Ergebnisse.

Mathematisch gesehen sind KI Probleme wie die Trajektorieplanung eines Roboters in der NP Hard kategorie verortet. Um solche Probleme zu lösen benötigt man exponential viel Rechenleistung welche jedoch nicht zur Verfügung steht.

Deshalb wurde als weiterer Versuch die Umsetzung von künstlicher Intelligenz mittels wissensbasierter Systeme und Ontologien wie OWL und Cyc in Angriff genommen. Die Idee war es, Weltwissen in maschinenlesbare Regeln zu speichern. Nur leider scheiterte das Projekt ebenfalls.

Bis ungefähr dem Jahr 2010 sah die KI Forschung also pessimistisch aus. Es gab viele ungelöste Probleme, und vorhandene Ideen diese zu lösen scheiterten eins nach dem anderen. Interessanterweise führte selbst die gesteigerte REchenleistung der Computer ab dem Jahr 2000 nicht dazu dass Roboter gesteuert werden konnten. An reinforcement learning problemen wie dem Stabbalance Problem kann man zeigen dass selbst mehrschichtige Neuronale Netze die auf High End GPU ausgeführt werden, nicht im STande sind die Fehlerrate zu senken.

Das Grundproblem bei der KI Forschung war, dass sehr gute Lösungen gab wie z.B. Onotologien, neuronale Netze oder Reinforcement Learning algorithmen aber es mangelte an überschaubaren Aufgabenstellungen. Und genau diese Situation änderte sich ungefähr ab dem Jahr 2010. Ab diesem Moment mobment begann die KI Community zielgerichtet damit sich Toy probleme zu überlegen welche mit den vorhandenen mathematischen Verfahren gelöst werden konnten. Anstatt zu überlegen, wie realisiert man künstliche Inteligenz war die neue Frage: "Wie steuert man einen Micromouse roboter?" "Wie löst man tictactoe mit einem Computer?" "Wie programmiert man einen Roboter der auf Sprachbefehle reagiert?"

Vielleicht eine kurze Einordnung. Die eingangs erwähnten Verfahren der Künstlichen Intelligenz wie parallelcomputer, neuronale Netze, Lisp als Programmiersprache, Ontologie und Clustering Algorithmen sind Lösungen um bestimmte Probleme zu lösen. Für sich betrachtet sind diese Verfahren wertlos wenn es kein Problem gibt was man damit lösen kann. Das passende Problem muss zuvor entwickelt und beschrieben werden. Und genau diese Problemdefinitionen war der Bottleneck in der KI Forschung.

Hier eine kurze Liste mit Problemen:
- Wegfindung in einem Labyrinth
- language games mit speaker hearer
- Stabbalance problem
- Micromouse
- Tetris videospiel
- Visual question answering

All diese Aufgaben bestehen nicht aus Software und es sind keine Algorithmen. Sie haben nichts mit Informatik oder Mathematik im engeren Sinne zu tun. Sondern es sind Spezifikationen ähnlich wie der Wunsch eine Textverarbeitung zu realiseren oder einen bestimmten Computer zu bauen. Der Begriff für diese Aufgaben innerhalb der Informatik lautet meist "Toy problem" Also ein ausgedachtes vereinfachtes Problem das dazu dient vorhandenen Verfahren gegeneinander zu vergleichen. Anstatt zu fragen was ist falsch mit den neuronalen Netzen, oder was ist falsch mit der langsamen Computerhardware, lautet die bessere Frage "Für welches Problem lassen sich vorhandene Algorithmen einsetzen?"

Ein klassisches und bis heute relevantes Toy problem ist das "15 puzzle" spiel, ein Schiebespiel mit 15 Zellen die bewegt werden können und worin eine Reihenfolge erzeugt werden soll. Dieses Puzzle kann durch eien Computer gelöst werden indem suchverfahren mit Heuristiken kombiniert werden. Anstatt den kompletten Gametree durchzusuchen wird eine Manhattan Distanz verwendet plus eine Vorgabe dass zuerst die oberste Zeile sortiert werden soll. Damit findet ein Computer die benötigte Lösung in weniger Rechenschritten.

Die KI Geschichte ab dem Jahr 2010 besteht weniger darin dass neue Algorithmen entwickelt wurden sondern eher darin dass neue KI probleme entdeckt und diskutiert wurden. In den 1980er war das einzige relevante KI Problem nur Computerschach. Es gab keine weiteren formalisierten Wettbewerbe. Ab dem Jahr 2010 erhöhte sich die Zahl der KI Probleme explosionsartig. Es wurden alle bekannten Brett-, Video und Kartenspiele systematisch untersucht auf der Suche nach interessanten Aufgabenstellungen um vorhandenen KI Algoirthmen anzuwenden. Die Forscher stießen dabei auf eine Problemklasse welche als "Sprachspiel" bezeichnet wird, die besonders interessant klingt. Sprachspiele sind die Königsklasse der AI Toy probleme weil sie anders als das 15 puzzle spiel oder Schach nicht nur einen Suchbaum und eine heuristik erfordern sondern zusätzlich grounded language benötigen. Ein Computer kann ein Sprachspiel nur lösen wenn er die Bedeutung von verben und Substantiven versteht.

Die Klasse der Sprachspiele führte ab dem Jahr 2020 zeitgleich zu einer KI Revolution die Ausdruck fand in large language modellen sowie in Sprachgesteuerten Robotern. Anders als im zeitraum vor 2010 sind die Forscher fest davon überzeugt jedes Problem mit Computern lösen zu können. Die steoretype Antwort auf jede Art von Herausforderung besteht darin, neuronale Netze mit einem Sprachproblem zu trainieren.

1. Wie steuert man eine UAV drone? Ein neuronales Netz wird mit einem Sprachmodell trainiert.
2. Wie programmiert man einen Chatbot? Ein neuronales Netz wird mit einem Sprachmodell trainiert.
3. Wie bringt man einen Computer dazu, Tetris zu spielen? Ein neuronales Netz wird mit einem Sprachmodell trainiert.
4. Wie erstellt man die Software für ein selbstfahrendes Auto? Neuronales Netz plus Sprachmodel
5. Wie erreicht man AGI? Ein neuronales Netz wird mit einem Sprachmodell trainiert.

Es ist fast schon absurd, wenn unterschiedliche Herausforderungen alle mit der selben Vorgehensweise gelöst werden. Das funktioniert nur deshalb weil die Mischung aus mehrschichtigen Perzeptrons plus grounded language eine universell einsatzbare Technologie ist welche Informatik mit Linguistik verbindet. 

Communication board for a warehouse robot

The user can activate words on the left panel which will produce a neural encoding. The warehouse robot responds also with natural language on the right side.


September 15, 2026

Das Symbol grounding Problem als Nischendisziplin

Die meisten Informatiker werden noch nie vom Symbol grounding problem gehört haben. Der Grund ist dass es sich nur schlecht in bisherige Wissenschaftsdisziplinen wie Mathematik, Elektrotechnik oder Informatik einordnen lässt. Gleichzeitig ist grounded language fundamental für die Steuerung von Robotern, so dass es Sinn macht die Thematik näher zu erläutern.

Im Kern des Symbol Grounding problem steht natürliche Sprache also Deutsch oder Englisch welche ni einem Wörterbuch gespeichert ist. Am ehesten gehört es also in die Linguistik welche Sprachen erforscht und dessen Bezug zur Wirklichkeit. Wörter referenzieren auf Sensormuster die ein Roboter detektiert sowie auf Kommandos die von einem Menschen formuliert werden. Die konkrete Interkation wird als Sprachspiel bezeichnet. Ein typisches Sprachspiele ist das "pointing game". Dabei sagt Person A einen Begriff wie "Raum B" und Person B muss auf diesen Ort zeigen.

Worte werden in einer numerischen Darstellung von Computern verarbeitet was als embedding bezueichnet wird. Damit sind die wichtigsten Elemente des Symbol grounding bereits erläutert. Weitere Details beziehen sich auf dieses Grundgerüst bestehend aus:
- Wörterbuch, Sprachspiel, embedding

Es verwundert wenig dass grounded language von der etablierten Informatik ignoriert wird, weil die Grundannahme lautet die Realität nicht über Zahlen sondern mittels Worten zu beschreiben. Für Worte gibt es keine mathematische Theorie sondern Worte werden nur außerhalb der Mathematik behandelt.

Worte und Sprachspiele dienen der Kommunikation also dem Nachrichtenaustausch. Man könnte also Grounded language als Teil der Nachrichtentechnik behandeln, wenn man es denn in etablierten Wissenschaftsdisziplinen erläutern möchte. Es gibt einen Sender, eine Botschaft und einen Empfänger. Damit ist zugleich der wesentliche Unterschied zu einem Algorithmus benannt. Ein Algorithmus wird auf einer Turing Maschine also einer CPU ausgeführt, während es in der Nachrichtentechnik keine Algorithmen gibt sondern es gibt Informationsübertragung, also einen Kanal auf dem Bits fließen.

Die klassicshe Nachrichtentechnik inkl. computer basierter Kommunikation ist ein gut erforschtes Gebiet. Deren größter praktischer Erfolg ist das Internet also ein Rechnerverbund der mittels TCP/IP Protokoll interagiert. Man kann sich grounded language als eine Art semantischer Nachrichtentechnik vorstellen wo neben dem Übertragen von Daten auch die Bedeutung der Daten von Bedeutung ist. Das zentrale technische Element ist ein parser, also ein Computerprogram was natürliche Sprache in einen numerischen Vektor übersetzt. Die Übersetzung von Sprache in Vektoren und von vektoren zurück in Sprache dient der Kompression. Ein sehr großer Zustandsraum wie er in der Robotik üblich ist wird projekziert auf einem kompakten selbst definierten Zustandsraum der vollständig durchsuchbar ist und von Computern verarbeitet werden kann. Damit lassen sich np harte probleme lösen.

Dazu ein praktisches Beispiel. Ein Roboter befindet sich in auf einer großen 2d Karte die aus 800x600 Pixeln besteht. MAthematisch gesehen kann der Roboter also einen der möglichen 480000 Pixel als Position einnehmen. Von dort aus kann er weitere Positionen erreichen wodurch sich die Zahl möglicher Trajektorien exponentiell erhöht. Aus Sicht von grounded language kann der selbe Roboter nur eine Position haben in [Raum A], [Raum B] oder [Raum c]. Es gibt also nur 3 mögliche Zustände des Systems. Jedes Label wie [Raum A) referenziert auf eine große Zahl von pixel in der realen Karte und fasst diese unter einem einzigen Begriff zusammen. Selbst wenn der Roboter über mehrere Hd Kameras plus Lidar Sensor verfügt, welche einen datenstrom im Gigabit Bereich liefert, bleibt sprachlich gesenen das System sehr überschaubar. 

Wie moderne Künstliche Intelligenz funktioniert

 Eine verbreitete Annahme lautet, dass Algorithmen dafür verantwortlich sind, dass ein Roboter eine Aufgabe ausführt. Diese Annahme rührt daher, dass im Kern ein Roboter von einem Computer gesteuert wird und dass Algorithmen definieren was der Computer macht. Ohne Software macht ein Computer gar nichts.

Allerdings ist die Gleichsetzung von Algorithmen mit künstlicher Intelligenz nicht geeignet zu erklären wie genau Intelligenz entsteht. Algorithmen sind mathematische Konstrukte als Schritt für Schritt anleitung, es ist ein Program was durch einen Computer abgearbeitet wird. Es fehlt jedoch noch ein wichtiges Element und zwar Sprache. Natürliche Sprache ist die eigentliche Künstliche Intelligenz also jenes Element wodurch ein Roboter denken kann.

Natürliche Sprache wird von Menschen seit mehreren tausend Jahren zur Kommunikation verwendet. Erst seit wenigen Jahren gibt es Versuche, mit Sprache Computer zu steuern. Diese Entwicklung markiert den Beginn der modernen Künstlichen Intelligenz.

Natürliche Sprache besteht aus Worten die in 3 Kategorien eingeteilt werden: Substantive, Verben und Adjektive. Jedes der Worte referenziert auf die wirklichkeit. z.B. gibt es in einer Küche einen "roten Apfel" oder es gibt eine Handlung "öffne Schrank". Über dieses sprachlich Referenzsystem können Roboter wie auch Menschen die komplexe Realität strukturieren.

Natürliche Sprache ist ein Kommunikationswerkzeug, es dient dazu einen Sachverhalten für jemand anderen zu erläutern. es gibt einen Sender, einen Kanal und einen Empfänger. Dieses Kommunikationsmodell kann man auf Roboter übertragen, was als Mensch zu maschine Kommunikation bezeichnet wird. Nicht etwa eine mathematische Betrachtung der REalität führt zu intelligenten Robotern sondern eine linguistische.

Offen bleibt die Frage wie genau Intelligenz mittels Sprache entsteht. Eine These lautet, dass Sprache ein Abstraktionsmechanismus ist und das Denken das kodieren von Realität in ein Sprachliches Muster ist. Damit ein Roboter denken kann muss er Sprache nutzen, dies wird als inner voice bezeichnet. Es ist ein innerer Monolog welche von der Literaturwissenschaft als Stream of consciousness bezeichnet wird. Also das was eine Person intern denkt wenn sie über ein Problem nachdenkt.

Die wohl erstaunlichste Eigenschaft von natürlicher Sprache ist, dass Roboter diese in Handlungen übersetzen können. Es ist möglich einen Roboter so zu programmieren dass er Kommandos wie "greife Tasse" in Servomotor-Bewegungen übersetzt. Damit ist es mögliche Längere Handlungsfolgen durchzuführen. Man beschreibt einen längeren Plan als Abfolge von Worten die durch den Roboter ausgeführt werden.

Technikhistorisch wurde das Verfahren erstmal im Jahr 1970 während des Shrdlu Projektes demonstriert. Shrdlu ist im Kern ein Parser für natürliche Sprache. ein Befehl wird übersetzt in eine Aktion auf dem Bildschirm.

In der KI Geschichte gab es mehrere Versuche denkende Maschinen zu konstruieren. Das Hauptproblem blieb die fehlende Verallgemeinerbarkeit. Ein Pathplanning Algorithmus konnte nicht verwendet werden um eine Greifplanung auszuführen und eine Software die Tetris spielen konnte war nicht im Stande das Pong Spiel zu spielen. Die Antwort auf dieses Problem liegt darin natürliche Sprache als universale Beschreibung zu nutzen. Jede Domäne lässt sich in Worten beschreiben. Man kann jeden Roboter über Sprache steuern egal ob es ein 2 beiniger Roboter ist, eine Drone oder ein selbstfahrendes Auto. Immer wird die Realität in Verben, Substantiven und Adjektiven abgebildet.

Anders als eine Ontologie oder ein knowledge graph muss natürliche Sprache nicht from scratch erfunden werden von der Informatik, sondern das werkzeug existiert seit Jahrtausenden und besitzt einen umfangreichen Wortschatz. Es gibt Worte um Natur zu beschreiben, andere Worte um eine Küche zu definieren, und noch mehr Worte um eine Greifplanung zu beschreiben. Egal was ein Roboter konkret tun soll, kann man es immer in natürlicher Sprache beschreiben.

Sprachinterface für einen Lagerroboter

 Künstliche Intelligenz ist nicht in einem Roboter als Algorithmus verortet sondern zeigt sich im Parser welcher menschliche Befehle ausführt. Ein erster Prototyp besteht aus einem Text widget in das ein Mensch befehle eingibt wie "Fahre zu regal #2". Leider sind solche Freitext eingaben relativ kompliziert maschinell auszuwerten, besser ist das Benutzerinterface als Formular zu gestalten:

a) Aktivität: Scan (0.2), Fahre (0.4), Greife (0.6), Abladen (0.8)
b) Ort: Regal #1 (0.2), Regal #2 (0.4), Regal #3 (0.6)
c) Parameter: klein (0.2), groß (0.4), blau (0.6), gelb (0.8)

Hier ist eine Zuordnung von Kommandos zur Formular Darstellung:
- "Fahre zu regal #2" -> [0.4, 0.4, 0.0]
- "Fahre zu regal #1" -> [0.4, 0.2, 0.0]
- "Scan" -> [0.2, 0.0, 0.0]

Die Formular Darstellung kann direkt in ein neuronales Netz als Input pattern gesendet werden. Der Computer verarbeitet also keine Strings mit kompletten Sätzen, sondern einen mathematischen Vektor. Es handelt sich um eine klassische Backus-Naur-Form Grammatik welche über neural encoding in einen numerischen Feature vektor überführt wird um die Kommunikation zu komprimieren.

Der Fokus liegt also wie eingangs erwähnt weniger auf der internen Verarbeitung im Lagerroboter selber sondern der Schwerpunkt ist ein Kommunikationsprotokoll was möglichst kompakt und maschinelesbar zugleich ist.

Dadurch verändert sich das ursprüngliche Problem. Es geht nicht länger darum ganzu allgemein einen Lagerroboter in einer Programmiersprache wie Python zu programmieren sondern die modifzierte Aufgabenstellung besteht darin, dass der Roboter einen numerischen Array als input erhält, [0.4, 0.4, 0.0], und dafür dann eine Trajekctorie erzeugen soll.

Erst wenn das Kommunikationsprotokoll definiert wurde gibt es für den Roboter einen zustandsraum. In dem obigen Beispiel besteht die Realität des Lagerroboer aus 11 möglichen Wörtern, angefangen von Befehlen, über Zielorte bis hin zu Adjektiven wie Farbwerte. Für diesen Kommunikationsraum eine Roboter software programmieren und darin Fehler zu beheben ist deutlich leichter als das Allgemeine Problem eines Lagerroboters in Software abzubilden.


September 12, 2026

Communication interface for a robot


In contrast to a common assumption AI isn't located inside a robot but its an interface between the robot and its environment. the screenshot shows such an interface for a language game "simon says". The human formulates commands which are translated into word grid and then into a neural encoding. This translation ensures, that the robot understands the command and is able to execute it.

Let us go into the details.
command in natural language: "Simon says kick right leg"
word grid activation: [simon says], [kick], [leg], [right]
binary vector: [1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1]

The binary vector doesn't make sense for a human but its the prefered representation for a computer. It projects the communication into a numerical vector which is a list of numbers. These numbers can be stored, and converted into a movement of a robot.