Die Frühzeit der Nouvelle AI


Obwohl über „Nouvelle AI“ nur relativ wenig bekannt ist, wird man zugeben müssen, dass diese die Entwicklung der Künstlichen Intelligenz der Gegenwart nachhaltig beeinflusst hat. Deshalb ist es wichtig, ihre Wurzeln zu verstehen. Anstatt auf Rodney Brooks zu fokussieren, soll diesmal ein weiterer Protagonist der Nouvelle AI näher beleuchtet werden: Mark W. Tilden.

Dieser wurde vor allem über BEAM Roboter bekannt welche im Rahmen des Satbot Projektes sogar in den Weltraum geflogen sind. Was ist ein BEAM Roboter? Zunächst einmal etwas vollkommen anderes als ein Roboter wie Shakey: ein BEAM Roboter wird nicht über einen Mikroprozessor programmiert, sondern über einen analogen Schaltkreis gesteuert. Das bedeutet, das Entwicklungsmodell solcher Roboter ist eng verwandt mit Radiobasteln. Vom Aufbau her ähneln Beam-Roboter den Braitenberg-Vehiceln.

Das besondere an BEAM Robotern ist das, was sie nicht sind. Sie sind keine denkende Maschinen und es sind auch keine Expertensysteme oder neuronale Netze. Das bedeutet, die üblichen Theorien aus der künstlichen Intelligenz haben bei BEAM Robotern keine Relevanz vielmehr stellen sie eine eigenständige Gruppe da.

Technisch gesehen kam Mark W. Tilden von der Hardwareseite, ihm ging es vor allem darum BEAM Roboter zu bauen. In den 1990’er gab es beispielsweise Lötkurse wo man lernen konnte, wie man aus Büroklammern und ausrangierten Servomotoren selbst solche BEAM Roboter zusammenbauen kann. Das wirklich interessante daran war, wie damals Mark W. Tilden die Frage nach dem Bewusstsein seiner Kreaturen beantwortet hat. Und zwar gar nicht. Vielmehr wurde die Reaktion eines Beam Roboters von seiner Umwelt bestimmt, d.h. wenn er beispielsweise von einem Tisch nach unten auf den Boden fiel, dann ging er dadurch eventuell kaputt und vielleicht verbog er sich ein Bein. Das war dann eben Pech. Und das war die eigentliche Innovation, das derlei Fehlerkultur früher nicht existierte. Die Robotik davor war weitestgehend durch Demonstration geprägt, das also ein komplexer Roboter in einem klar definierten Setting aggierte und dort (zumindest in der Demonstration) keinerlei Fehler vorhanden waren. Die Robotervideos aus der Zeit von 1950-1990 zeigen meist Maschinen, die nahezu perfekt Gegenstände greifen können oder im Raum navigieren. Natürlich waren derartige Systeme keineswegs tatsächlich perfekt, vielmehr waren die Filmaufnahmen nur gestellt, und Mark W. Tilden und die meisten seiner Kollegen wussten das auch. Und deshalb war es etwas besonderes, dass die BEAM Roboter plötzlich durch die Welt gelaufen sind, und wenn ein Fehler passierte, wurde eben nicht die Kamera abgestellt und der Versuch für beendet erklärt, sondern ganz im Gegenteil, dann wurde es erst spannend.

Man kann sagen, BEAM Robotik war das erste Mal dass Roboter Fehler machen durften. Es wurde der ideologische Überbau geliefert dafür, dass es nicht schlimm ist, dass jetzt das Bein von dem Walking-Bug verbogen ist und er folglich nicht mehr exakt geradeaus läuft sondern nur noch humpelt. Ferner wurde es nicht als Problem angesehen, dass ein Beam Roboter eigentlich keine richtige Aufgabe hatte, sondern zufällig durch die Gegend zockelte. Warum war diese Fehlerkultur so wichtig? Weil dadurch die Möglichkeit geschaffen wurde, dass die Umwelt eines BEAM Roboters derartige Fehler erkennt. Wenn man beispielsweise sieht, wie so ein Roboter auf eine Tischkante zuläuft und dann nicht etwa anhält sondern weiterläuft, dann wird man unbewusst sagen, „ops ein Fehler, das hätte nicht passieren dürfen“.

Heute würde man noch einen Schritt weiter gehen, heute würde man diesen Vorfall ins Jira Bugtracking-System heineinschreiben als: „BEAM Roboter hält nicht vor Tischkante an, sollte gefixt werden“. Und auf diese Weise kann man dann den eigentlichen Lernprozess starten, weil nähmlich die Antwort auf solche Fehler ein Softwareentwicklungsprozess ist, der versucht den Fehler zu beheben. Als Antwort könnte man beispielsweise einen Mikrocontroller einbauen und dort eine If-Prüfung hineinprogrammieren, mit der der Fehler dann verhindert wird. Das ganze wird dann als Bottom Up Softwareentwicklung bezeichnet. Und im Grunde funktioniert nach diesem Prinzip auch die Entwicklung des Google Car und ähnlicher Beispiele. Im Grunde ist das Google Car so eine Art von Beam-Roboter für den Softwareentwickler Fehlerreports erstellen und das dann fixen. Und zwar immer nur den konkreten Bug. Und anders als bei der Robotik früher gibt es auch kein übergreifendes theoretisches Modell, sondern vielmehr ist das ganze als paradigmenfreie Zone zu betrachten wo man sich von einem Workaround zum nächsten hangelt und dabei das System immer intelligenter wird.

Man kann sagen, die direkte Konsequenz aus der Fehlerkultur der frühen BEAM Roboter sind heutige Agile Development Prozesse wie sie bei der Entwicklung komplexer cyberphysikalischer Systeme eingesetzt werden.

Ein Beam Roboter ist im Grunde die Verkörperung von Imperfektion. Es ist der materialisierte Softwarebug. Denn, ohne Sensorik und ohne Mikrocontroller wird der Beam Roboter keinerlei Aufgaben erfüllen. Er wird noch nichtmal in seiner Umgegung korrekt navigieren können. Sondern im Grunde ist ein Beam Roboter der Worst-Case einer Maschine, es ist eine Unsinnsmachine die komplett fehlerbehaftet ist. Der Witz ist jedoch, dass man BEAM Roboter sehr gut von der Intelligenz steigern kann. Denn wo der Fehler so offensichtlich ist, kann man ihn auch fixen. Baut man beispielsweise nur einen primitiven Lichtsensor in einen BEAM Roboter ein, dann ist zumindest das Problem der Navigation vorläufig gelöst. Der Roboter wird sich dann auf die Lichtquelle zubewegen und man kann jetzt darüber nachdenken, welche neuen Probleme sich daraus ergeben. Und so geht es immer weiter. Im Grunde hat der BEAM Roboter nur eine wirkliche Aufgabe: Fehler zu erzeugen, also Bugs. Und diese Bugs werden dann von Softwareentwicklern wahrgenommen und mit etwas Mühe auch gefixt. Dadurch erhält man ein fehlergetriebenes Entwicklungsmodell.

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