ACT-R ausprobiert


Heute mal ein kleiner unprofessioneller Softwaretest und zwar bezüglich ACT-R, der wohl geheimnisvollsten kognitiven Architektur die es derzeit gibt. Tun wir doch einmal so, als wüssten wir noch gar nichts über das Programm und stellen uns mal vor, es wäre eines von diesen Shareware-Spielen die billig programmiert wurden und dementsprechend mit wenig Aufmerksamkeit bedacht werden können.

Die aktuelle Programmversion von ACT-R gibt es zum Download auf http://cog.cs.drexel.edu/act-r/download.php und zwar gleich in der Java-Version. Klickt man dort auf den Button „Development distribution“ (unter dem Begriff „distribution“ wird normalerweise eine größere Programmsammlung verstanden), wird eine 1,0 MB große Zip-Datei auf die Festplatte heruntergeladen, die weder ein Benutzerhandbuch noch Beispiele enthält. Besser ist, man wählt „Release distribution“ aus, weil es dort gleich mehrere Beispiele gibt. Also los, Download gestartet und die enthaltene .jar Datei direkt auf der Kommandozeile als Java-Applikation gestartet:

Dann gleich über die Menüleiste eines von diesen Beispiel-Programmen ausgewählt und auf „Run“ klicken. Dann entsteht die Ausgabe, die man oben auf dem Screenshot sehen kann. Und was soll das? Tja, das ist schwer zu deuten, aber vielleicht weiß ja die Anleitung mehr. Im Verzeichnis „doc“ findet sich eine pdf-Datei im Umfang von sagenhaften fünf Seiten (von denen Seite 1 bereits durch ein pixeliges JPEG-Bild von einem Gehirn und die Seite 5 nur zur Hälfte bedruckt ist). Und darin findet sich dann die ernüchterne Schreckensmeldung, dass zwar ACT-R in Java erstellt wurde, aber möchte man dafür Modelle entwickeln man wohl oder übel auf LISP zurückgreifen muss:

„The ACT-R model syntax generally follows the same syntax as the canonical LISP version, with a few differences.“

Und hier wird deutlich, was man mit ACT-R machen kann: im Grunde kann man damit LISP Dateien (als ACT-R Modelle bezeichnet) in den Editor laden und auf „Run“ klicken. Das bedeutet, wenn man LISP beherscht wird man ACT-R lieben.

In den zahlreichen weiterführungen Anleitungen rund um ACT-R stand zwar selbstzufrieden drin, dass im Laufe der Jahre mehr als 100 unterschiedliche Modelle publiziert wurden, die sicherlich auch auf irgendwelchen FTP-Servern zum Download bereitstehen, es ist jedoch anzunehmen, dass sie alle ausnahmlos ebenfalls in LISP erstellt wurden und aus heutiger Sicht nicht mehr zeitgemäß sind. Insofern stellt sich die Frage, ob ACT-R heute noch seine Daseinsberechtigung hat, und ob die Portierung nach Java nicht nur Kosmetik darstellt.

LISP
Es ist erstaunlich, dass auch die Java Version von ACT-R mit Lisp-Dateien gefüttert werden will. Scheinbar ist Java ACT-R demnach nur eine Laufzeitumgebung um einen LISP Dialekt auszuführen? Oder anders gesagt, die Grenzen von LISP sind zugleich die Grenzen von ACT-R. Deshalb vielleicht einige Worte zu LISP. Die LISP Community feiert bis heute ihren größten Erfolg auf fast jedem Powerpoint Vortrag, dass nähmlich die Raumfahrtbehörde NASA im Rahmen der Mission „DeepSpace 1“ LISP als Programmiersprache ausgewählt hat, um damit den AI-Agent der Sonde zu programmieren. Was jedoch häufig nicht erwähnt wird ist, dass DeepSpace 1 ein einziger großer Flop war und nicht nur die Software während des Fluges abgestürzt ist und mit hohem manuellem Aufwand neuprogrammiert werden musste, sondern dass auch die Ziele der Mission nicht erfüllt wurden, so dass sich die NASA von LISP verabschiedet hat. Im Grunde war DeepSpace 1 auch die letzte Mission, wo LISP im Weltraum eingesetzt wurde, und seitdem wurde auf die Programmiersprache C++ und neuerdings Java gewechselt. Natürlich könnte man sagen, dass die NASA keine Ahnung hat von Computern und erst Recht nicht von embedded Systemen, nur stellt sich andererseits die Frage, wieviel Knowhow denn erforderlich ist, um mit LISP etwas sinnvolles anzufangen. Keineswegs soll hier verneint werden, dass man mit LISP im Allgemeinen und mit dem ACT-R LISP im besonderen sinnvolle Programme erstellen kann, nur leicht verständlich und mit geringem Aufwand veränderbar sind derartige Programme eher nicht.

Böse formuliert, scheinen mir kognitive Architekturen wie ACT-R und SOAR nach wie vor so eine Art von Leistungsschau der LISP Community zu sein, die keineswegs Artifical General Intelligence anstrebt als vielmehr nach LISP General Intelligence zu streben scheint. Denn mal ehrlich, was soll folgender Programmcode denn bedeuten?

(spp start-report :u -2)
(spp detected-sound  :u 10)
(spp sound-respond-low :u 10)
(spp sound-respond-medium :u 10)
(spp sound-respond-high :u 10)

Dagegen ist PostScript als Sourcecode ja geradewegs simpel zu verstehen. Natürlich steckt in solchen Zeilen eine innere Logik drin, sonst könnte der Code ja nicht ausgeführt werden, aber diese Logik gab es damals im Mission Planner von DeepSpace 1 auch …

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