Agentenmodellierung mit SOAR

Zu SOAR gibt es mindestens ein gedrucktes Buch mit richtig viel Text darin und gefühlt ein halbes Dutzend Disserationen, die ebenfalls selten weniger als 300 Seiten aufweisen, noch dazu in dieser kleinen LaTeX Schrift mit den lustigen Serien untendran, was wohl besonders seriös wirken soll. Und zumindest in der Einleitung ist diese gesammelte Kompetenz zur kogntiven Architektur schonmal sehr vielversprechend: da geht es immer darum sogenannte Agenten zu modellieren, also Ebenbilder des Menschen. Demzufolge ist SOAR also das perfekte Werkzeug für alle die schonmal einem Roboter beibringen wollten, eine Flasche Bier aus dem Kühlschrank zu holen, oder die Videobilder unter semantischen Aspekten auszuwerten haben.

Leider gibt es mit derlei vollmundigen Ankündigen ein Problem, sie wurden bisher nur auf theoretischer Ebene spezifiziert. Das beste Negativ-Beispiel dürfte wohl ADAPT sein, ein Roboter-Framework, dass alle guten Eigenschaft von SOAR, ACT-R und Epic vereint und was gleich in mehreren seriösen Papern lobend erwähnt wird. Nur, wer ADAPT einmal downloaden möchte, oder gar den Quelltext näher anschauen will wird ihn nicht finden. In irgendeinem Wiki stand mal kleinlaut drin, dass es gar keine OpenSource Version gibt, und auch nicht geplant ist eine zu veröffentlichen. Insofern ist es schwierig eine Software zu testen, die so wohl gar nicht existiert.

Es bleibt also nur übrig, sich mit jenen Bereichen von SOAR auseinanderzusetzen, die es zum kostenlosen Download gibt. Beispielsweise betrifft das „Tanksoar“ Beispiel-Modell für SOAR das schon etwas umfangreicher ist und was so eine Art Robocode (ein Java-Programierspiel) darstellen soll. Das ist jetzt erstmal kein schlechter Ansatz, nur hätte man sich von einem SOAR Beispiel doch etwas mehr gewünscht, als so eine poplige 2D Karte wo irgendwelche Agenten herüberhuschen und sie Anweisungen geben. Und hier kommen wir auch schon zum eigentlichen Problem von SOAR und all den anderen kogntiven Architekturen und zwar scheinen die Erfinder irgendwie dem Glauben verhaftet zu sein, man könne komplexe Szenerien in nur wenigen Zeilen Quellcode abbilden. So fällt vor allem auf, dass SOAR selbst nur wenige Megabyte groß ist, und die Beispiele-Modelle nur im Kilobyte-Bereich als .zip Datei daherkommen.

Natürlich ist es logisch, dass man komplett neue Ideen erstmal in einem kleinen Programm demonstriert, bevor man viel Fleiß in eine ausgewachsene Version steckt, nur leider wird durch diese geringe Programmgröße von vornerein ausgeschlossen, dass ein Nutzen erkennbar wird. Anders gesagt, wenn man komplett ohne SOAR in handelsüblichem C++ mit einer kleinen Game-Engine wie Unity3D und einigen Behaviortrees ebenfalls ein Spiel bastelt, dann kann das mehr und hat auch mehr „Game AI“ als es SOAR jemals haben wird. Warum? Weil die Unity3D Engine mehrere hundert MB groß ist, und die damit erstellten Spiele in aller Regel ebenfalls hohe Speicheranforderungen mitbringen.

Insofern stellt sich die Frage, was genau mit SOAR bewiesen werden soll? Das es prinzipiell möglich ist, einen Roboter zu steuern, oder eine Agentensimulation auf dem Monitor auszuführen? Das hat niemand bezweifelt. Die Kardinalfrage lautet ohnehin nicht, ob Roboter möglich sind, sondern die Kardinalfrage lautet eher, wie man vorhandenen Programmcode graduell erweitert. Es ist fraglich, ob dazu ausgerechnet ein Framework aus der Psychologie hilfreich ist, oder ob man das nicht auch mit klassischen Paradigmen der Informatik wie z.B. objektorientierte Programmierung hinbekommt. Denn das eigentliche Problem bei komplexeren Systemen blendet SOAR elegant aus, und zwar die Frage wie man ein Softwareprojekt durchführt, also nicht nur theoretisch festlegt was eine Software alles können muss, sondern tatsächlich diese Software auch erstellt. Und scheint dann auch der eigentliche Hacken von diesem Tool zu sein, dass sich nur wenige Programmierer finden, die für SOAR überhaupt Erweiterungen programmieren wollen, also bereit sind Sourcecode beizusteuern, damit das Projekt wächst.

Und genau das dürfte dann auch die eigentliche Messlatte für kognitive Architekturen der Zukunft sein: welche besteht aus den meisten Lines of Code?

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s