Gewinner der Karl Max von Bauernfeind-Medaille 2016
Logik, Moral und Welten
fatum 2 | , S. 11
Inhalt

„Hello, World!“

Computer sind radikale Konstruktivisten – ihre Realität ist individuell erschaffen

Wer lernt zu programmieren, wird in der Regel von seinem Computer mit „Hello, World!“ begrüßt. Das erste Programm das man klassischerweise schreibt ist nämlich eines, das eben jene Zeichenkette ausgibt. Diese Tradition, die irgendwann in den 60er oder 70er Jahren ihren Anfang nahm, besteht ungebrochen und hat sich auch auf benachbarte Anwendungen ausgeweitet: Programmier-Lehrbücher und Einführungen in Programmiersprachen beginnen mit „Hello, World!“-Beispielen und die kurzen Programme werden sogar zum Vergleich von verschiedenen Programmiersprachen genutzt. (Wobei das nur sehr bedingt nützlich ist und – wie viele Anwendungen von „Hello, World!“ – mindestens halb im Scherz gemeint ist.)

Es wäre wohl falsch zu viele oder zu tiefe Aussagen und Implikationen in diese Zeichenkette hineinzulesen. In den meisten Fällen könnte sie problemlos durch eine andere ausgetauscht werden, aber sie eignet sich doch ganz hervorragend als Denkanstoß: Warum „Hallo, Welt!“?

Es ist doch eine sehr kuriose Begrüßung. Gerade als allererstes Programm, das man schreibt, wäre es ja durchaus naheliegend den Computer eben den Autor begrüßen zu lassen: Nur „Hallo!“, „Hallo, [Name]!“ oder – pathetischer – „Hallo, Schöpfer!“. Die Welt ist nicht das, was man üblicherweise begrüßt. Wörtlich genommen ist es auch nichts, was man überhaupt begrüßen kann, schließlich ist sie kein Dialogpartner, ja im weiteren Sinne nicht einmal etwas womit man überhaupt direkt interagieren könnte. Die Welt ist ein Konzept, das unter anderem alles beinhaltet, womit man interagieren kann. „Hallo, Welt!“ ist weniger eine Begrüßung als eine konstituierende Aussage: Das Computerprogramm tätigt sie und stellt damit sich selbst als interaktionsfähig und als Teil der Welt fest, bzw. erweckt zumindest diesen Anschein.

Spinnt man diesen Gedanken weiter, führt er zu der Frage, was das denn für eine Welt ist, in der solch ein Computerprogramm sich feststellt. (Er führt natürlich auch zu vielen anderen Fragen jenseits des Fokus dieses Artikels wie: Was ist ein solches „sich feststellen“? Kann ein Computerprogramm das überhaupt?) Philosophisch ist die Frage nach der Welt alles andere als neu und hat verschiedenste Antworten gefunden, die unterschiedlich gut auf Computerprogramme übertragbar sind.

Man kann sich der Frage aber auch von der anderen Seite annähern: Auch in der Informatik ist die „Welt“ ein sehr präsentes Konzept und zwar, passend zum Akt des sich in der Welt Feststellens, im Bereich der künstlichen Intelligenz: Sich tatsächlich als ein Selbst zu erkennen und in einer Welt festzustellen ist schließlich eine Leistung, die einen hohen Grad von Bewusstsein und Intelligenz voraussetzt.

Die Herangehensweisen an künstliche Intelligenz lassen sich grob in 2×2 Gruppen einteilen: Einerseits wird versucht, entweder intelligente Handlungen oder intelligente Gedanken zu produzieren. Andererseits bezeichnet man selbige dann als „intelligent“, wenn sie rational sind oder wenn sie menschlich sind. („Menschlich“ meint hier nicht „humanitär“, sondern bezieht sich auf die Fähigkeit, das Handeln bzw. Denken eines Menschen in der gleichen Situation nachzuahmen.)

Diese Definitionen haben unterschiedliche Vor- und Nachteile; alternativ kann man auch argumentieren, dass sie ohnehin zusammenfallen. Im Fall der praktischen Anwendungen spielt es oft keine Rolle, welche Definition verwendet wird, wie man am Beispiel eines Staubsaugerroboters nachvollziehen kann: Ein solcher Roboter wäre ineffizient, wenn er denselben Quadratmeter eines Zimmers immer wieder reinigen würde, anstatt sich nach einmalig erfolgter Reinigung dem Rest des Zimmers zuzuwenden. Unter der Prämisse, dass die Reinigung des Zimmerbodens das letztendliche Ziel ist, wäre es weder rational, immer und immer wieder denselben Teilbereich zu saugen (oder den gedanklichen Plan zu fassen, das zu tun), noch würde ein Mensch sich so verhalten (oder so denken).

Will man einen Roboter programmieren, der intelligent staubsaugt, müssen einige Grundvoraussetzungen erfüllt werden. Ein solcher Roboter muss etwa überhaupt wissen, dass es eine abzuarbeitende Fläche gibt; er muss wissen, wo er sich befindet – zumindest relativ zu Orten an denen er bereits war bzw. noch nicht war; er muss wissen, ob ein bestimmtes Areal dreckig (d. h. noch zu saugen) ist.* Um einem Roboter zu erlauben, derartiges Wissen zu verwalten, benutzen Informatiker das Konzept der Welt. Frei nach Wittgensteins „Die Welt ist alles was der Fall ist.“1 werden Modelle angelegt, die solche faktischen Informationen codieren und dann die Welt des Roboters darstellen.

Ein Beispiel wäre ein Staubsaugerroboter, dessen Welt als Fläche aus Planquadraten beschrieben wird; 10 solcher Quadrate lang, 5 breit. (Diese Informationen sind dem Roboter vorgegeben und können von ihm nicht verändert werden, sie sind sozusagen nicht-hinterfragbare, ewige Tatsachen.) Jedes dieser Planquadrate kann als dreckig oder nicht-dreckig markiert sein, wobei der Roboter, wenn er einen Bereich gesaugt hat, diesen als nicht-dreckig markieren kann. Eine solche Beschreibung erlaubt dem Roboter nun Entscheidungen zu treffen. Er kann etwa den kürzesten Weg über alle dreckigen Quadrate berechnen, um diesen abzufahren. (Dieses Beispiel ist für einen Staubsaugerroboter recht abstrakt. Ein automatisierter Containerkran z. B. steht aber vor ziemlich dem gleichen Problem: Auf einem rechteckigen Gitter aus möglichen Ablageplätzen für Container muss er jene anfahren, auf denen sich tatsächlich Container befinden, diese dann aufnehmen und transportieren.)

Weil ein solcher Roboter selbst eine Datenstruktur verwaltet, die seine Welt darstellt (und in der er z. B. gereinigte Quadrate als nicht-dreckig markiert), bezeichnet man ihn als Roboter mit internem Welt-Modell. Wichtig ist, dass zwar aus menschlicher, d. h. externer, Sicht auf den Roboter seine Welt so beschrieben ist, für den Roboter hingegen ist das die Welt – eben alles was „der Fall“ ist.

Dies ist zwar ein häufiger Typ von Roboter, aber nicht der einzig mögliche: Soll ein Roboter beispielsweise einen immer gleichen Raum reinigen, etwa eine Lagerhalle mit festen Regalplätzen, und startet dabei immer an dem gleichen Punkt, könnte er auch als Roboter ohne internes Welt-Modell realisiert sein. Seine Programmierung sähe dann anders aus: Anstatt den Roboter anzuweisen, mittels seines Welt-Modells einen optimalen Weg zu suchen und diesen dann abzufahren, könnte das Programm ihm vorgeben, einfach „stumpf“ 100 Meter geradeaus zu fahren, dann zwei Meter nach links zu gehen, sich umzudrehen, 100 Meter zurückzufahren, usw. Interessant ist hier zweierlei: Zum einen sind die Handlungen des Roboters rational und gleichen auch dem, was letztendlich ein Mensch in derselben Situation tun würde, obwohl die „Denkweise“ eines solchen Roboters sehr reduziert ist – er denkt eigentlich gar nicht. Es zeigt sich also hier einer der Unterschiede zwischen den oben beschriebenen Arten von künstlicher Intelligenz; allerdings ist dieser Unterschied beim Blick von außen auf den Roboter nicht zu erkennen.**

Zweitens liegt auch einem solchen Roboter eine Welt im Sinne der Programmierung zugrunde, nur ist sie nicht explizit im Roboter repräsentiert. Ein Algorithmus nach dem beschriebenen Schema setzt voraus, dass die Welt nur 100 Meter lang ist, keine dritte Dimension hat (es gibt also z. B. keine Stufen und Überhänge), etc. Anstatt die Welt explizit zu repräsentieren und dem Roboter beizubringen, Entscheidungen in dieser Welt zu treffen, trifft stattdessen die Programmiererin präventiv diese Entscheidungen und bringt sie dem Roboter bei. Programmierer tun dies, indem sie versuchen sich vorzustellen, welche Entscheidung rational in einer solchen Welt wäre. (In einer Halle, die nur 100 Meter lang ist, 110 Meter in eine Richtung zu fahren wäre beispielsweise nicht rational.) Diese Welt ist dann implizit im Algorithmus des Roboters repräsentiert.

Nichtsdestotrotz werden häufiger explizite Weltmodelle benutzt, insbesondere wenn komplexere Aufgaben bewältigt werden sollen, also ‚intelligentere‘ Roboter geschaffen werden sollen. Zusätzlich haben Roboter meist Sensoren, deren Daten sie in ihre Weltmodelle einfließen lassen. Im Extremfall sind gar keine Fakten vorgegeben: Der Roboter erfährt seine Welt nach und nach mittels dieser Sensordaten. Die meisten Staubsaugerroboter sind etwa in der Lage wahrzunehmen, wenn sie an ein Hindernis stoßen. (Sie haben z. B. einen druckempfindlichen Sensor in ihrer Front.) Ein solcher, allerdings ungewöhnlich intelligenter, Roboter könnte, wenn er in einem unbekannten Raum aktiviert wird, geradeaus fahren bis er an ein Hindernis stößt, und sich dann an diesem Hindernis entlangtasten. Dabei könnte er mitberechnen, wie weit und in welche Richtung er sich bewegt und so seine Welt erfahren. Hier sind wieder zwei Aspekte interessant:

Erstens existiert diese Welt, obwohl zu Beginn unbekannt und vom Roboter selbst erfahren, nur innerhalb der Grenzen dessen, was für den Roboter real sein kann. Sie ist, unter anderem, zweidimensional; Türschwellen sind in dieser Welt nicht nur nicht vorhanden, sie sind nicht einmal vorstellbar. Eine reale Schwelle löst den Sensor entweder aus – dann ist sie ein Hindernis, unüberwindbar wie eine Wand – oder sie tut es nicht, dann existiert sie schlicht nicht. Ein interessanter Aspekt hiervon ist der Fall, in dem der Roboter die Schwelle weder wahrnehmen noch überwinden kann. Er bemerkt also auch nicht, dass z. B. seine Räder schlupfen und er sich de facto nicht von der Stelle bewegt, obwohl sich seine Räder drehen und er sich damit in seiner Welt durchaus bewegt! In diesem Fall wird die Welt des Roboters sich sehr chaotisch verhalten und vor allem nicht mehr eine simple Projektion unserer Welt sein. Aktionen, die in der Welt des Roboters rational sind, werden für einen menschlichen Beobachter sinnlos sein und umgekehrt.

Zweitens konstituiert sich diese Welt aus den Sensorinformationen des Roboters. Zumindest in dem Fall, dass dem Roboter keine Informationen über die Welt präventiv einprogrammiert werden, konstituiert sie sich sogar ausschließlich aus diesen Daten. Diese konstruktivistische Sicht ist wohl intuitiv nachvollziehbar, solange sich die Erfahrungen und Sensordaten eines Roboters auf die Erfahrungen und Sinneseindrücke von Menschen abbilden lassen. Die Welt eines Staubsaugerroboters ist vielleicht zweidimensional und hat ausschließlich haptische Qualitäten, aber sie deckt sich in der Regel eben mit der menschlichen (Sinnes-)Welt, wenn man diese auf zwei Dimensionen und Fühlbares reduziert.

Philosophisch interessanter ist, wenn diese Deckung nicht existiert: Die Sensorinformationen des Roboters müssen schließlich nicht wirklich Sensor-Informationen sein, sondern können irgendwie erzeugt werden. Diese Idee, also dass man in einer Simulation oder Projektion leben könnte und alles was man wahrnähme letztendlich nicht in einer objektiven Realität verankert wäre, oder zumindest nur ein reduziertes Abbild derselben wäre, ist freilich alt. Von Platons Höhlengleichnis bis zu den „Matrix“-Filmen hat sie unter anderem zu Debatten über die Natur von Realität geführt. Der extreme Standpunkt ist, dass es folglich keine Realität im herkömmlichen Sinne gibt (bzw. das dies ein unüberprüfbares und sinnloses Konzept ist) und jedwede „Realität“ letztlich subjektiv und aus individuellen, unsagbar unzuverlässigen Informationen konstruiert wird. Ob der Ursprung dieser Informationen in einer objektiven Realität liegt und sie also tatsächlich Sensor-Informationen (also Wahrnehmungen) sind, ist dieser Ansicht nach unbeantwortbar.

Dieser radikale Konstruktivismus, der im Fall von Menschen viel kritisiert wird, ist für Roboter und Algorithmen in gewissem Sinne der Normalfall. Es ist üblich, Algorithmen für Roboter in Simulationen zu testen und gerade Sinn und Zweck dieser Simulationen, dass sie für den Algorithmus ununterscheidbar von realen Sensorinformationen sind. Viele Programme (etwa solche, die Figuren in Computerspielen steuern) agieren sogar ausschließlich in solchen simulierten Welten. Als Außenstehender weiß man, dass diese Welten nicht nur nichts mit der Realität zu tun haben müssen, sondern auch keineswegs zwischen verschieden Programmen konsistent sein müssen. Computerprogramme und Roboter sind also – philosophisch gesprochen – radikale Konstruktivisten: „real“ ist genau das, was wahrgenommen wird, ihre Welt ist schlicht die Summe aller Erfahrungen.


  1. Ludwig Wittgenstein, Tractutus logico-philosophicus, (Frankfurt am Main: Suhrkamp Verlag, 2003), 9. Ursprünglich veröffentlicht in: Ludwig Wittgenstein, Tractutus logico-philosophicus (London: Routledge & Kegan Paul Ltd., 1922).

Feedback

Anmerkung: Die Angabe Ihrer E-Mail-Adresse dient nur dazu, dass wir Sie benachrichtigen können, wenn Ihr Kommentar freigeschaltet wird. Sie wird nicht mit Ihrem Kommentar angezeigt oder anderweitig veröffentlicht.