Bug: Fehlende Funktionalität in ACT-R


Als Einstieg ein kleiner Exkurs zu Mindforth. Für alle, die noch nie etwas von Mentifex oder Mindforth gehört haben, sei gesagt, dass unter dem Pseudonym „AI has been solved“ in Usenet-Foren und in Programmier-Web-Foren regelmäßig sehr interessante Artikel gepostet werden, die auf Mindforth verweisen. Was Mindforth wiederum ist, erfährt man auf der verlinkten Webseite und dort steht als Selbstbeschreibung dass es eine „unified cognition theory“ wäre, was keineswegs nur als Scherz gemeint ist, sondern die Wahrheit ist. Der Begriff „unified cognition theory“ ist keineswegs eine Erfindung von Mindforth sondern wird auch im Umfeld von SOAR zur Selbstbeschreibung eingesetzt. Soweit zur Vorgeschichte, und was hat das alles mit ACT-R zu tun? Im Grunde ist der Unterschied zwischen Mindforth und ACT-R nicht besonders groß nur mit dem Unterschied dass ACT-R nicht von Mentifex erfunden wurde, sondern von jemand anderem. Aber vielleicht zu den Details.

Möchte man verstehen, was genau die Mindforth Software eigentlich tut, empfielt sich der Blick in den Sourcecode der als Forth-Quelltext verfügbar ist. Darin findet sich z.B. ein Submodul zu „Speech“ oder „Motor“. Wenn man jedoch versucht zu verstehen, was die derartigen Submodule eigentliche tun findet man was? Richtig, keine Antwort auf diese Frage. Was einerseits an Forth als Programmiersprache liegt, andererseits aber auch daran, dass Mindforth ein Mook-up darstellt. Nun sollte man sich jedoch hüten, genau das in alle Wet hinausposaunen, weil man damit dem Projekt unrecht tun würde. Stattdessen ist es viel spannender zu analysieren, was denn die „Speech“ und „Motor“ Module in ACT-R für eine Funktion haben. Hier ist das ganze nicht in Forth programmiert, dafür aber in LISP oder Java. Auch hier kann man Quelltext anschauen. In der Java-Version von ACT-R gibt es die Datei „speech.java“, welche nach der Selbstbeschreibung die Funktion hat

„The speech module representing ACT-R’s vocal speech generation.“

Sie ist exakt 4,1 kb groß und besteht aus 131 Zeilen Java-Quellcode. Inhaltlich besteht der Quellcode aus einer Klasse, die im Kopf 10 Variablen definiert und danach folgen dann noch einige Methoden der Klasse, die im wesentlichen aus set und get Funktionen bestehen und administrativen Charakter haben. Wollte man in einem Satz zusammenfassen, was das „Speech“ Modul von ACT-R tut, so lautet die Antwort „gar nichts“. Eine Funktionalität ist nicht erkennbar und irgendwelche konkreten Anwendungsszenarien wo es sinnvoll eingesetzt wird gibt es auch keine. Insofern fühlt man sich ein wenig an Mindforth erinnert, wobei Mindforth noch wenigstens lustig ist, bei ACT-R ist das ganze einfach nur traurig. Man könnte jetzt noch weitere Codefragmente von Java ACT-R einer näheren Begutachtung unterziehen insbesondere den Bereich der sich um das sogenannte Chunking kümmert, (einer mythisch überhöhten Funktionalität von kognitiven Architekturen welche in der Selbstdarstellung in der Lage ist aus Fehlern zu lernen). Aber vermutlich wird der dortige Sourcecode ebenso bedeutungsfrei sein, wie das „speech.java“ Modul.

Letztlich drängt sich der Verdacht auf, dass ACT-R so ähnlich funktioniert wie die Geschichte „Des Kaisers neue Kleider“ die im wesentlichen mit der Dummheit der Leute spielt.

Damit soll keineswegs ausgedrückt werden, dass es prinzipiell ungmöglich wäre, mit Hilfe eines Computers die Module „speech“ oder „chunking“ zu programmieren und auszufüreh, so dass sich eine sinnvolle Funktionalität ergibt, man kann jedoch annehmen, dass man dafür wesentlich mehr Sourcecode benötigt, als die 4,1 kb welche in ACT-R für „speech“ vorgesehen sind. Nur mal so zum Vergleich: simple Sprachsynthese Software im Umfang von espeak benötigt bereits das 1000 fache an Speicherplatz (4,1 MB). Möchte man hingegen eine natürlich klingende Sprachsoftware haben, sollte man ungefähr 4,1 GB einplanen (1 Mio mal der Codeumfang von ACT-R „speech.java“).

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