Samstag, 2. Januar 2016

Sebastian Stiller, Planet der Algorithmen. Ein Reiseführer, München 2015

(Knaus Verlag, 253 S., Klappenbroschur, 14.99 €)

1. Was ich verstanden habe
2. Was ich nicht verstanden habe
3. Was mich interessierte

Vor einiger Zeit fragte mich ein Freund, was Algorithmen seien, und ich versuchte, ihm diese Frage zu beantworten, scheiterte dabei aber kläglich. Ich hatte geglaubt, ich wüßte, was Algorithmen seien, mußte nun aber einsehen, daß ich es doch nicht wußte. Oder anders: irgendwie wußte ich es trotzdem, aber ich konnte es meinem Freund einfach nicht erklären. Ich war einfach nicht in der Lage, zu definieren, was ein Algorithmus ist.

Nach der Lektüre von Sebastian Stillers „Planet der Algorithmen“ weiß ich jetzt, daß das Problem nicht bei mir und meiner persönlichen Unfähigkeit lag, sondern an den Algorithmen. Algorithmen sind einfach nicht definierbar. In den verschiedenen Standardwerken der Algorithmik werden Algorithmen nicht definiert, sondern Beispiele dafür gebracht, was Algorithmen sind. Den Rest muß die Intuition des Lesers leisten. Wer die Beispiele versteht, weiß, was ein Algorithmus ist: „Wer erklären will, was ein Algorithmus ist, beginnt mit unserer Intuition. Daran ist nichts verwerflich. Am Anfang der Formalwissenschaften steht immer die Intuition.“ (Stiller 2015,  S.47) – Das verstehe ich sogar, obwohl es hier ja eigentlich darum geht, was ich nicht verstanden habe. Intuition und Denken gehören immer eng zusammen. Und da Algorithmen Stiller zufolge etwas mit Denken zu tun haben sollen, müssen sie selbstverständlich auch etwas mit Intuition zu tun haben.

Ein oft verwendetes Beispiel für Algorithmen ist das Kochrezept. So wie ein Kochrezept festlegt, was für ein Kuchen oder was für ein Braten aus den Zutaten hervorgehen soll, legt ein Algorithmus fest, was für Produkte aus einem bestimmten Ausgangszustand hervorgehen können. Allerdings hält Stiller Kochrezepte für kein gutes Beispiel dafür, was Algorithmen tatsächlich leisten. Aus einem Rezept für Marmorkuchen kann immer nur ein Marmorkuchen hervorgehen (obwohl er natürlich auch mißlingen kann): „Der Unterschied zwischen einem Kochrezept, das alles auf einen Einheitsbrei reduziert, und dem Algorithmus, bei dem aus einem Prinzip eine ungeahnte Vielfalt wächst, ist leicht zu übersehen.“ (Stiller 2015, S.63) – Mit ein und demselben Algorithmus können nämlich sehr viele verschiedene Dinge gemacht werden. So kann man mit dem gleichen Algorithmus den Autoverkehr regulieren und Gesichter auf Photos erkennen. (Vgl. Stiller 2015, S.173f.)

Stiller ist jedenfalls nicht ängstlich, und er schlägt mutig eine Definition für Algorithmen vor. Algorithmen, so Stiller, sind Turingmaschinen, und eine Turingmaschine ist „das allgemeinste Modell für das Berechnen, das wir uns vorstellen können. Es ist der allgemeinste formale Begriff, den wir für Algorithmen kennen“. (Vgl. Stiller 2015, S.81)

Das scheint also ganz leicht zu sein: ein Algorithmus ist eine Turingmaschine. Das kann man durchaus verstehen, aber man hätte es als Laie doch gerne noch etwas genauer. Turingmaschinen bilden nach einem Vorschlag von Alan Turing (1912-1954) höchstselbst, so Stiller, ein „allgemeines Modell für formales Schließen“. (Vgl. Stiller 2015, S.81) An anderer Stelle aber hält Stiller im Unterschied zu diesem Vorschlag von Turing fest, daß Turingmaschinen „im Prinzip“ nichts anderes sind als „ein Blatt Karopapier, auf das man in jedes Kästchen 0 oder 1 schreiben kann: ein Bit“. (Vgl. Stiller 2015, S.146) – Das Beschriften von Karokästchen mit Nullen und Einsen hat für mein Verständnis aber wenig mit formalen Schlußverfahren wie etwa einem Syllogismus zu tun.

Vollends verwirrend wird für mich die Sache aber, wenn Stiller auf Quantencomputer mit ihren qBits zu sprechen kommt: „Die einzigen Phänomene, die anders rechnen als die Turingmaschine, stammen aus der Quantenphysik. Ein Quantencomputer funktioniert anders als die Turingmaschine und anders als unsere Vorstellung vom Berechnen.“ (Stiller 2015, S.82)

Da verstehe ich nämlich gleich zwei Sachen nicht: erstens sind Stiller zufolge Turingmaschinen das allgemeinste Modell für formales Schließen (bzw. Rechnen), das wir kennen, ja sogar das wir uns überhaupt vorstellen können. Wie kann es also noch eine andere Maschine wie den Quantencomputer geben, der ganz anders funktioniert? Ist die Turingmaschine nun das allgemeinste Modell oder nicht? Eins von beidem geht nur.

Das Zweite, was ich nicht verstehe, ist, inwiefern ein Quantencomputer tatsächlich grundsätzlich anders funktionieren soll als eine Turingmaschine, wenn es um so etwas wie formales Schließen geht. Natürlich verstehe ich, daß ein qBit etwas anderes als eine Null oder eine Eins in einem Karokästchen auf einem Blatt Papier ist. Ein qBit hat keine eindeutige Zuordnung, sondern nur eine Wahrscheinlichkeitsverteilung auf den Karokästchen. Stiller beschreibt das sehr anschaulich an einem Rubbellos: „Ein qBit ist wie ein Rubbellos. Wenn man das Los aufrubbelt und es ist eine Niete, ist es nichts mehr wert, also 0. Wenn man es aufrubbelt und es ist ein Gewinn, ist es eine 1. Solange das Los aber nicht aufgerubbelt, sondern heil ist, ist es weder 0 noch 1. Es gibt nur eine Wahrscheinlichkeitsverteilung, dass es 0 oder 1 sein wird, wenn man es aufrubbeln wird.“ (Stiller 2015, S.147)

Das verstehe ich sehr gut. Ich verstehe auch eine andere Eigenschaft von qBits, die darin besteht, daß sie sich – wenn ich es richtig verstanden habe (doch wieder eine Einschränkung) – im Unendlichkeitsraum ‚drehen‘ lassen und dabei Zustände zwischen 0 und 1 anzeigen können. (Vgl. Stiller 2015, S.148f.) Ich will an dieser Stelle nicht in Details gehen, weil das bei Dingen, die man sowieso nicht versteht, ein allzu müßiges Unterfangen wäre. Das Ergebnis ist jedenfalls, daß ‚Probleme‘, die eine Turingmaschine nur zu 75 Prozent erfolgreich berechnen kann, von Quantencomputern in 80 Prozent der Fälle erfolgreich berechnet werden können. (Vgl. Stiller 2015, S.150ff.)

Das alles kann ich einigermaßen bereitwillig, wenn auch etwas verwirrt, nachvollziehen. Was ich aber nicht nachvollziehen kann, ist, inwiefern diese Rechenkunststückchen irgendetwas qualitativ am Prinzip des formalen Schließens ändern, so daß das angeblich allgemeinste Modell dafür, das wir uns überhaupt vorstellen können, die Turingmaschine, durch das gänzlich anders geartete Modell, dem Quantencomputer, in Frage gestellt würde; abgesehen davon, daß ich immer noch nicht verstehe, was das Beschriften von Karokästchen mit Nullen und Einsen mit formalem Schließen zu tun hat.

Es gibt noch ein anderes schönes Beispiel, das Stiller für das Erklären von Algorithmen verwendet: Algorithmen, so Stiller, funktionieren wie das Lösen eines guten Rätsels. Ein gutes Rätsel besteht darin, daß es zwar schwierig zu lösen zu sein scheint, daß aber die Lösung offen zutage liegt, sobald man den richtigen Tipp bekommt. Wenn man dem Algorithmus den richtigen Tipp gibt, kann er das Rätsel lösen. Der richtige Tipp besteht, so Stiller, darin, daß er „die Lösung verrät“. (Vgl. Stiller 2015, S.106) – Auf den Punkt gebracht: ein Algorithmus kann schwer zu lösende Rätsel (bzw. Probleme) lösen, weil er die Lösung, die er finden soll, schon kennt.

Das verstehe ich nicht. Davon kriege ich Kopfschmerzen. Aber vielleicht haben wir es hier ja auch mit einem Zeitreisenproblem zu tun. – Arme Janeway. Armer Rezensent.

Das paßt zu einer anderen Stelle in Stillers Buch, die ich auch irgendwie nicht verstanden habe. Es geht um das Problem, wie man nach einem Umzug einen unsortierten Bücherhaufen (500 Bücher) auf die einfachste und effektivste Weise in den Bücherschrank einordnet. (Vgl. Stiller 2015, S.38ff.) Die beste Lösung dieses Problems liegt Stiller zufolge darin, den einen Bücherhaufen in zwei Bücherstapel aufzuteilen, „fein säuberlich nach Titel sortiert auf dem Fußboden vor dem Bücherregal“. Dann gehe man wie folgt vor: „Du nimmst das erste Buch von deiner Seite, sagen wir ‚Aachen. Ein Reiseführer‘, und das erste Buch von der anderen Seite, sagen wir ‚Asterix als Gladiator‘ und vergleichst, welches weiter nach links gehört: in diesem Fall ‚Aachen. Ein Reiseführer‘.“ (Stiller 2015, S.40)

Zunächst mal habe ich einen Einwand gegen das Sortierprinzip. Ich würde niemals „Asterix“ der gleichen alphabetischen Reihe zuordnen wie einen Reiseführer, obwohl zugegebenermaßen Asterix und Obelix viele Reisen durch die antike Welt unternehmen. Jedenfalls gehört „Asterix“ unbedingt in eine andere Reihe, in der ich nur Comics, aber keine Reiseführer einordne.

Aber abgesehen davon: wer hat eigentlich die beiden Bücherstapel sortiert? Wie sind aus dem unsortierten Bücherhaufen zwei sauber sortierte Stapel geworden? Stiller gibt eine wiederum verwirrende Antwort: „Das Zauberwort heißt: Delegieren. Wer nicht zusammenzieht, sondern eine ganze Bibliothek von Grund auf sortieren muss, teilt die Bücher zuerst in zwei möglichst gleich große Hälften. Dann bittet er die nachgeordnete Hierarchieebene, beide Hälften zu sortieren. (Nicht im Ganzen – das ist schließlich Chefsache –, nur jede Hälfte für sich.) Die nachgeordnete Hierarchieebene macht es dann wie der Chef: Halbieren und delegieren. Hat die nächtsttiefere Ebene ihren Arbeitsauftrag irgendwie erfüllt, muss man nur noch – wie beim Zusammenziehen – zwei sortierte Viertel zu einer sortierten Hälfte zusammenfügen.“ (Stiller 2015, S.41f.)

Ich soll also delegieren. An wen? Gehe ich zur nächsten Jobvermittlungsagentur und schaue mich dort nach arbeitssuchenden Studenten um, die die Arbeit für mich erledigen? Oder erledigt das der Algorithmus für mich, der dann übrigens auch noch so faul ist – obwohl es doch eigentlich um meine eigene Faulheit gehen sollte und nicht um die Faulheit des Algorithmusses (vgl. Stiller 2015, S.9, 18, 63) – die Sache des Sortierens und Stapelns von Hierarchieebene zu Hierarchieebene an immer wieder andere studentische Algorithmen zu delegieren? Und gibt es hier eine Stoppregel?

Es ist wie mit dem Rätsel: um es zu lösen, muß der Algorithmus die Lösung schon kennen, und um Bücher zu sortieren, müssen die Bücher schon sortiert sein.

Das verstehe ich nicht.

Weitere Verstehensprobleme beim Lesen des Buches ergeben sich für mich aus der Art und Weise, wie der Autor Dinge erklärt, indem er Begriffe verwendet, die er nicht erklärt. Zum Beispiel der „Simplex“. Der Simplex ist ein Algorithmus, der Planungsprobleme lösen kann und der entwickelt wurde, um die Versorgung Berlins während der Blockade Ende der 1940er Jahre sicherzustellen. Ich finde das Wort „Simplex“ sehr erfreulich, weil ich mich davon persönlich angesprochen fühle. Wenn etwas simpel ist, sollte es eigentlich sogar jemand wie ich verstehen können. Stiller schreibt dazu:
„Der Simplex löst sogenannte (1) lineare Programme. ... Darüber hinaus ist er der wichtigste Baustein für die Lösung der schwierigen, sogenannten (2) ganzzahligen linearen Programme. Der Ausdruck (3) ‚Programm‘ ist dabei irreführend. Es handelt sich nicht um Computerprogramme, sondern um Typen mathematischer (4) Probleme, – ähnlich wie (5) Gleichungssysteme. Lineare Programme und ganzzahlige lineare Programme haben sehr vielfältige Anwendungen.“ (Stiller 2015, S.15; die Zählung von (1) bis (5) stammt von mir)
In dieser Definition des „Simplex“ stecken gleich fünf nicht definierte Begriffe: Was sind ‚lineare‘ Programme? Was sind ‚ganzzahlige‘ lineare Programme? Was sind ‚Programme‘? Was sind ‚Probleme‘? Und was sind ‚Gleichungssysteme‘?

Um diese Definition des simplen Simplex-Algorithmusses zu verstehen, wäre ein Glossar am Ende des Buches ganz hilfreich gewesen. Der fehlt aber leider. Stattdessen gibt es immer wieder in den Text eingefügte Zeichnungen, die die im Text gemachten Aussagen noch einmal auf einem um einige Grade niedriger liegenden Komplexitätsniveau veranschaulichen und damit auch das, was man als Leser tatsächlich verstanden hat, nicht etwa veranschaulichen, sondern lediglich noch einmal verdoppeln.

Immerhin haben mich meine Verständnisprobleme auf ein tieferliegendes Problem aufmerksam gemacht. Dieses Problem besteht darin, daß mich die Probleme, mit denen sich die Algorithmiker beschäftigen, einfach nicht interessieren! Und das gilt wohl so auch für die ganze Mathematik, mit der man uns in der Schule immer gequält hatte. Um die Mathematik einigermaßen interessant zu machen, werden irgendwelche ‚Textaufgaben‘ konstruiert, deren narrative Struktur das fehlende Interesse der Schüler kompensieren soll. Geschichten hört bzw. liest man schließlich immer gerne. Auch Stiller greift zu diesem Trick. Um die endlos langweiligen Algorithmen etwas interessanter zu machen, gestaltet er sein Buch als Reiseführer. Aber mir geht es hierbei wie mit Asterix. Weder Asterix noch Algorithmen haben irgendetwas mit Reiseführern wie „Aachen. Ein Reiseführer“ gemeinsam.

Den Algorithmen fehlt einfach die narrative Struktur, und die kann man ihnen auch nicht äußerlich hinzufügen, indem wir z.B. so tun, als läsen wir kein Buch über Algorithmen, sondern einen Reiseführer über einen Planeten. Die narrative Struktur eines Algorithmusses besteht in einer langweiligen Abfolge von: Unter bestimmten Voraussetzungen tust du etwas Bestimmtes; und wenn sich daraus bestimmte weitere Voraussetzungen ergeben, tust du dasselbe nochmal oder etwas anderes; und wenn sich daraus wiederum bestimmte weitere Voraussetzungen ergeben, wiederhole einen von den vorherigen Schritten, usw.

Über ganze fünf Seiten hinweg erzählt Stiller z.B. die ‚Geschichte‘ von drei Freunden, die sich vor das Problem gestellt sehen, drei Zimmer in einer Wohnung so unter sich aufzuteilen, daß jeder mit dem Ergebnis zufrieden ist und kein Streit entsteht. (Vgl. Stiller 2015, S.205-210) Zu diesem Zweck beschreibt Stiller einen hilfreichen Algorithmus, der so tut, als wäre die Wohnung dreieckig, und jedes der 144 Zimmer in diesem großen Dreieck ist ebenfalls dreieckig. Jedes dieser Zimmer hat ein bis zwei Türen, und die drei Ecken sind jeweils mit einer von drei Farben bemalt. Der Algorithmus muß das Zimmer finden, dessen Ecken von jeder der drei Farben angestrichen sind. Die Geschichte verläuft nun wie folgt:
„Der Algorithmus läuft durch diese Türen und sucht den dreifarbigen Raum. Er beginnt an einer Tür in den Außenwänden. Die Tür führt in einen Raum mit drei Wänden. ... Mindestens eine der Wände ist eine Tür – wir sind gerade durch sie in den Raum gelangt. Das heißt, mindestens zwei der drei Ecken in diesem Raum haben unterschiedliche Farben. Was ist mit der dritten Ecke? Entweder sie hat die dritte Farbe – dann haben wir einen dreifarbigen Raum gefunden – oder sie hat eine der Farben der beiden anderen Ecken. In dem Fall hat der Raum nach der Türenregel eine weitere Tür und eine Wand ohne Tür.  Wir gehen durch die neue Tür, kommen in einen Raum, und die Geschichte wiederholt sich.“ (Stiller 2015, S.208)
„... und die Geschichte wiederholt sich“, tatsächlich, immer und immer wieder, ganze fünf Seiten lang! Wenn ich einer der drei Freunde gewesen wäre, hätte mich nicht etwa das Problem mit der Zimmeraufteilung, sondern diese Geschichte für immer mit ihnen entzweit. Algorithmiker sind anscheinend die schlechtesten Geschichtenerzähler der Welt.

Aus diesem Grunde kann ich Sebastian Stiller von ganzem Herzen nur zustimmen, wenn er schreibt: „Warum sollte man eine Wissenschaft ernst nehmen, die sich mit so etwas beschäftigt?“ (Stiller 2015, S.111) – Auch wenn er es damit wahrscheinlich nicht ernst meint.

Download

Kommentare:

  1. Dass gar nicht klar sei was ein "Algorithmus" nun sei, hat mich auch schon gewurmt. Besonders da mein täglich Brot daraus besteht. - Es könnten durchaus tiefe Dinge dahinterstecken, wie ja so vieles gar nicht klar sein muss, wenn man weiter bohrt. Die Zahlen, Variablen, Funktionen, die man in der Schule zu gebrauchen lernt, da darf man ja auch nicht zu genau fragen. "Intuitiv" wissen wir es vielleicht, oder haben die richtige Art der Manipulation gelernt,.. aber wissen wir wirklich was diese Dinge sind, oder sind wir durch das Training nur so sehr daran gewöhnt, dass sie bloß einsichtig erscheinen (und wir dadurch sogar vielleicht an ihrem Wesen vorbeischauen!)
    - Aber vielleicht ist es beim Algorithmus sogar behandelbar. Man muss sich nur entscheiden ob man:
    a) Die unscharfe, metaphorische Bedeutungsweise nehmen möchte. Das Kochrezept oder Programm, als endliche Befehlsfolge, die beispielsweise von einem Prozessor abgearbeitet wird.
    b) Die formalen Definitionen der Berechenbarkeitstheorie - (die Berechnungen könnte man sogar mit Steinen im Sand durchführen, wenn man genügend Zeit hat: https://xkcd.com/505/ )

    Weiß nicht, ob Ihnen, dass etwas hilft. Ein bisschen habe ich mich mit dem Kram und formalen Sprachen auseinandergesetzt,.. weiß aber nicht, ob es mir gelänge, das besser an den Mann zu bringen als dieses Buch es versuchte.

    .. "Der Algorithmus läuft durch diese Türen und sucht den dreifarbigen Raum. Er beginnt an einer Tür in den Außenwänden. Die Tür führt in einen Raum mit drei Wänden." -
    Das ist aber auch schon wieder diese Art von Metaphorik, mit der ich mich schwer tue, in die ich aber auch manchmal verfalle. Ein Algorithmus "will" oder "tut" ja nichts. Er arbeitet nur die in ihn gelegte Logik ab.. Nur ist da, gerade wenn dieser z.B. mit dem Input von Sensoren und Kameras/Lesern versorgt wird, ja oft ein Sinn in dieser hineingelegten Logik, die solche Sprechweise nahelegt - wenn z.B. eine Sortierung vorgenommen wird bei der gewisse Warengruppen zusammengehalten werden sollen, dann verleitet das leicht zu sagen: der Algorithmus "wolle" die roten T-Shirts von den blauen Pullovern trenen.

    Leute wie Dennett scheinen bie derartiger "sekundärer" Intentionalität kein Problem zu haben, sie neben die "echte" unseres Bewusstseins zu stellen... Und ich bin mir auch nicht so sicher, jetzt wo die neuronalen Nezte nochmal so richtig fahrt aufgenommen haben, wird's schon langsam gruselig. (Sehr gespannt auf den 9. März: https://www.youtube.com/watch?v=SUbqykXVx0A )

    AntwortenLöschen
    Antworten
    1. Vielen Dank! Der Kommentar ist sehr hilfreich.

      Löschen
  2. (ganz amüsant: hier war jetzt auch so ein Captcha drunter, mit dem ich beweisen sollte, dass ich kein Bot/Algorithmus sei: das nutzte Bilderkennung, worin die neuronalen Netze erst jetzt allmählich ziemlich gut geworden sind. - Da wird man sich wie in Bladerunner bald bessere Dinge ausdenken müssen.)

    AntwortenLöschen