January 29, 2026

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.

No comments:

Post a Comment