Total berechenbar? - Christoph Drösser - E-Book

Total berechenbar? E-Book

Christoph Drösser

0,0

Beschreibung

Von Amazon und Netflix bis zu Facebook-Newsfeed und Online-Dating – Algorithmen bestimmen, was wir kaufen, was wir wissen und mit wem wir ausgehen. Mathematik-Verführer Christoph Drösser hat die wichtigsten Algorithmen identifiziert. Wie kein Zweiter mit der Gabe gesegnet, mathematisch komplexe Zusammenhänge zu veranschaulichen, erklärt er, wie sie funktionieren – und nimmt den Algorithmen so die Aura des Bedrohlichen. Er beleuchtet ihre positive Rolle bei der Vorhersage von Katastrophen und Epidemien genauso wie ihre unheilvolle beim Trading an den Börsen. Ein Buch, geschrieben mit aufklärerischem Furor, das uns ein Stück Autonomie im Internet zurückgibt.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern
Kindle™-E-Readern
(für ausgewählte Pakete)

Seitenzahl: 262

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Christoph Drösser

Total berechenbar?

Wenn Algorithmen für uns entscheiden

Bibliografische Information der Deutschen NationalbibliothekDie Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.

Dieses Werk ist urheberrechtlich geschützt.

Alle Rechte, auch die der Übersetzung, des Nachdruckes und der Vervielfältigung des Buches oder von Teilen daraus, vorbehalten. Kein Teil des Werkes darf ohne schriftliche Genehmigung des Verlages in irgendeiner Form (Fotokopie, Mikrofilm oder ein anderes Verfahren), auch nicht für Zwecke der Unterrichtsgestaltung – mit Ausnahme der in den §§ 53, 54 URG genannten Sonderfälle –, reproduziert oder unter Verwendung elektronischer Systeme verarbeitet, vervielfältigt oder verbreitet werden.

© 2016 Carl Hanser Verlag München

www.hanser-literaturverlage.de

Herstellung: Denise Jäkel

Umschlaggestaltung und Motiv: Hauptmann & Kompanie Werbeagentur, Zürich

Grafiken: Christoph Drösser

Datenkonvertierung E-Book: Kösel, Krugzell

ISBN 978-3-446-44699-1

E-Book-ISBN 978-3-446-44707-3

Inhalt

Cover

Titel

Impressum

Widmung

Einleitung Das Zeitalter der Algorithmen

Kapitel 1: Rechnen Schritt für Schritt zum Ziel

Kapitel 2: Suchen PageRank – die Grundlage für Googles Macht

Kapitel 3: Finden Routenplanung – der optimale Weg von A nach B

Kapitel 4: Empfehlen Woher Amazon und Netflix wissen, was uns gefällt

Kapitel 5: Verbinden Was Facebook uns zeigt und was nicht

Kapitel 6: Vorhersagen Wie aus Korrelationen Prognosen werden

Kapitel 7: Investieren Wie Algorithmen die Märkte beherrschen

Kapitel 8: Verschlüsseln Von NSA und RSA – Algorithmen und Privatsphäre

Kapitel 9: Komprimieren Wie Algorithmen Speicherplatz sparen

Kapitel 10: Lieben Romantik in Zeiten des Online-Datings

Kapitel 11: Lernen Auf dem Weg zur künstlichen Intelligenz

Schluss Wir sind nicht berechenbar!

Weitere Algorithmen

Der euklidische Algorithmus

Datenbanken

Schnelle Fourier-Transformation

Auto-Tune

Fehlerkorrektur

Mehrgitterverfahren

Literatur

Für Oliver und Lukas

Einleitung Das Zeitalter der Algorithmen

Ich hatte kürzlich Geburtstag. Wer bei Facebook, dem sozialen Netzwerk, eingeschrieben ist, der weiß, was an diesem Tag passiert: Meine »Freunde«, also die Menschen, mit denen ich mich auf Facebook verbunden habe, bekommen an diesem Tag einen Hinweis. Dann können sie in meine »Chronik« einen Gruß hineinschreiben. Die meisten beschränken sich auf ein »Happy Birthday«, manche garnieren ihre Gratulation mit einem der vielen Emojis, die Facebook für solche Zwecke anbietet. Der Beglückwünschte freut sich, dass über 100 Menschen an diesem Tag an ihn denken. Er klickt bei jedem der Glückwünsche auf den »Gefällt mir«-Button. Am nächsten Tag, also nach 24 Uhr, so verlangt es die Etikette, postet er selbst einen Beitrag, in dem er sich für die vielen Glückwünsche bedankt und beteuert, dass er einen wundervollen Tag verbracht hat. Das lesen dann wiederum viele Freunde, die am Tag vorher den Anlass übersehen hatten, gratulieren nachträglich, und das Geburtstagskind freut sich noch einmal.

Im Ernst? Ist das das Niveau, auf dem wir heute unsere persönlichen Beziehungen pflegen? Gesteuert von einem Algorithmus, der dafür sorgt, dass wir keinen Jubeltag mehr vergessen? Haben wir die Verantwortung für unser soziales Leben dem Computer übergeben und klicken nur noch reflexhaft auf die Schaltflächen, die er uns anbietet? Babybild posten, Babybild liken, ach wie knuddelig, Smiley!

Man muss nicht gleich den Untergang des Abendlandes befürchten angesichts dieser neuen Rituale, die wir im Zeitalter der digitalen Vernetzung pflegen. Schließlich sind die Rituale der alten analogen Welt, mit Abstand betrachtet, nicht weniger absurd und manchmal sogar geradezu lächerlich. Und ich muss zugeben, dass ich mich tatsächlich über viele der Glückwünsche gefreut habe. Aber wir können es nicht abstreiten: Algorithmen haben unser Leben im Griff, und nicht alle Beispiele sind so harmlos wie dieses. Algorithmen suchen für uns nach Informationen, zeigen uns den Weg von A nach B. Sie beeinflussen, welches Buch wir lesen und welchen Film wir schauen. Sie beurteilen unsere Kreditwürdigkeit und haben zunehmend Einfluss darauf, welcher Bewerber eine begehrte Stelle bekommt. Sogar unsere Liebes- und Lebenspartner können wir uns per Algorithmus vermitteln lassen.

»Die Algorithmen« für allerlei Übel in der Welt verantwortlich zu machen, ist eine deutsche Spezialität. Wir beschuldigen nicht die Computer und deren Programme oder die Technik allgemein – nein, die Algorithmen sind uns unheimlich. In anderen Ländern hat das Wort längst nicht so eine Brisanz. In den USA habe ich im Supermarkt sogar einen Wein namens »Algorithm« gefunden, der in Deutschland wahrscheinlich im Regal verstauben würde. Schuld am schlechten Image der Algorithmen ist wohl hauptsächlich der 2014 verstorbene Herausgeber der Frankfurter Allgemeinen Zeitung Frank Schirrmacher. In seinen Büchern Payback und Ego machte er die Rechenregeln verantwortlich für die Endsolidarisierung der Gesellschaft und letztlich den Siegeszug des digitalen Kapitalismus.

Natürlich hat Schirrmacher den Gegner nicht zufällig gewählt. Hätte er sich den Computer vorgenommen, hätte man bei diesem noch an ein Werkzeug denken können, das man so oder so benutzen kann, zu guten oder schlechten Zwecken – wie etwa einen Hammer. Der Algorithmus dagegen ist für ihn mehr als ein reines Werkzeug – er ist ein logisches Prinzip, das unser Denken infiziert und schleichend unsere Zivilisation verändert. Wir setzen nicht nur den Computer für Berechnungen ein, wir halten alles für berechenbar. Und machen uns selbst berechenbar.

Was ein Algorithmus eigentlich ist, erklärt Schirrmacher nur unzureichend, und viele von denen, die das Wort heute im Mund führen, werden um eine Definition verlegen sein. Der Zweck dieses Buchs ist es, die Diskussion über die Macht der Algorithmen zu erden. Ich versuche, einige der wichtigsten Algorithmen zu erklären, die heute unser Leben beeinflussen. Dabei hoffe ich auf zwei Effekte beim Leser: Erstens möchte ich die Rechenverfahren ein wenig entmystifizieren. Wenn es heißt, dass der Algorithmus einer Supermarktkette herausfinden kann, ob eine Kundin schwanger ist (siehe Seite 137), dann klingt das zunächst nach Spionage in den intimsten Bereichen. Bei näherem Hinsehen entpuppt sich das Verfahren aber als eine simple Analyse der Einkaufshistorie der Kundin, die Alarm schlägt, wenn diese eine Reihe von bestimmten Produkten gekauft hat.

Ich hoffe aber auch, dass ich beim Leser ein wenig Bewunderung wecken kann für die teilweise genialen Ideen, die in Algorithmen stecken. Es geht bei der Entwicklung der Rechenverfahren ja nicht nur darum, ein Problem überhaupt zu lösen, sondern auf möglichst schlanke und elegante Weise. Wir erwarten, dass unser Navigationsgerät eine Route zwischen zwei Städten in ein paar Sekunden berechnet, sonst ist es nutzlos. Und selbst Aufgaben, die wir banal finden, etwa eine Liste alphabetisch zu sortieren, kann ein Computer elegant oder weniger elegant bewältigen. Allein für den Sortier-Job gibt es mindestens 15 trickreiche Algorithmen (siehe Seite 42).

Wenn man sich konkret mit Algorithmen beschäftigt, wird aber auch deutlich: Sie »denken« anders als wir. Ihre Stärke ist es, viele simple Rechenschritte in kürzester Zeit durchzuführen. Sie brauchen exakte Eingaben, und sie bestehen aus sehr konkreten kleinen Schritten, die einer nach dem anderen abgearbeitet werden. Ein Schachcomputer spielt anders als ein menschlicher Schachspieler. Er berechnet bis zu einem gewissen Horizont alle möglichen Spielzüge, bewertet sie kühl und sucht sich dann den besten aus. Das können Menschen nur bis zu einem gewissen Grad, sie verlassen sich viel mehr auf ihre Intuition und ziehen dann den Turm von h1 nach e1, weil es sich richtig anfühlt. Man kann Gefühle als eine geniale »Abkürzung« des Denkens ansehen: Wer aus dem Bauch heraus entscheidet, der schont den Kopf, entlastet sein Gehirn von der Aufgabe, jede Situation neu bis ins Letzte zu durchdenken. Er lässt sich buchstäblich von »Vor-Urteilen« leiten, die ihre Wurzel in seinen Erfahrungen haben. Man nennt solche intuitiven Denk-Abkürzungen auch »Heuristiken«.

Was ist die bessere Alternative? Das kann man nicht pauschal beantworten. Nehmen wir das Beispiel der Bewerberauswahl für eine zu besetzende Stelle: Viele Chefs werden sich ihres Bauchgefühls rühmen, das ihnen sagt, ob ein Bewerber auf die Stelle »passt«. Gut möglich, dass dahinter lediglich ein vorurteilsbehaftetes Schubladendenken steckt, das einsetzt, wenn ein dicker, schwarzer oder weiblicher Bewerber den Raum betritt. Es gibt gute Argumente dafür, Bewerbungsverfahren so lange wie möglich anonym durchzuführen – und auch dafür, zumindest eine gewisse Vorauswahl einem Algorithmus zu überlassen, der nur auf die objektiven Qualifikationen der Bewerber schaut.

Das heißt nicht, dass Algorithmen keine Vorurteile hätten und nicht diskriminierend wirken. Bekannt ist das Beispiel von Googles »Autocomplete«-Funktion, die einem schon während der Eingabe von Suchbegriffen Vorschläge macht. So ergänzte die Suchmaschine bei der Eingabe von »Bettina Wulff« ehrabschneidende Begriffe. Das lag natürlich daran, dass über die damalige Präsidentengattin die wildesten Gerüchte im Netz kursierten – und die »objektive« Suchmaschine gab sie blind wieder. Kurz bevor die Sache vor Gericht kam, änderte Google die Funktion, jetzt ist es möglich, rufschädigende Ergänzungen zu unterdrücken. Das geschieht aber nur, weil hier Menschen in den Algorithmus eingreifen. Lässt man ihm freien Lauf, so hat er immer noch einen hohen Unterhaltungswert: Gibt man »Angela Merkel …« ein, so steht an oberster Stelle die Ergänzung »Jüdin«, auf »Darf man …« ergänzt Google »… sein Kind Adolf nennen«.

Noch ein Google-Beispiel: Geben Sie einmal in die Bildersuche »CEO« ein, das Kürzel für den Vorstandschef einer Firma, das auch bei uns zunehmend verwendet wird. Als ich das getan habe, zeigten die ersten 49 Bilder Männer. Das 50. war eine Fotografie der »CEO Barbie«, einem Sondermodell der Anziehpuppe. Auf Platz 67 schließlich die erste richtige Frau, Angela Ahrendts, Ex-Chefin der Modemarke Burberry. Auf Platz 99 ein Foto der Yahoo!-Managerin Marissa Meyer, es begleitete die Meldung, dass sie 2012 einen gesunden Jungen zur Welt gebracht hatte. Die nächste Frau stand schließlich auf Platz 143: Ursula Burns von Xerox, gleichzeitig die erste Schwarze.

Dahinter steckt keine böse Absicht – der Algorithmus (siehe Kapitel 2) gibt letztlich das wieder, was die Nutzer ins Netz stellen beziehungsweise worauf sie klicken. Er zeigt uns den Status quo – und zementiert ihn damit gleichzeitig. In automatisch generierten Stellenanzeigen, die einem auf manchen Websites begegnen, zeigte Google Männern höher dotierte Jobs als Frauen. Das ist ebenso wie das Ergebnis der Bildersuche eine logische Folge der Tatsache, dass Männer in den Chefetagen überrepräsentiert sind. Logisch im Sinne des Programms, das diese Anzeigen auswählt.

Algorithmen müssen diskriminieren, denn das ist ihr Zweck. Wenn ich ein Programm schreibe, das die Kreditwürdigkeit von Menschen beurteilen soll, dann muss ich manche Menschen gegenüber anderen bevorzugen. Welche Kriterien sollen dabei erlaubt sein? Rein statistisch kann kein Zweifel daran bestehen, dass bei Bewohnern eines Stadtteils, in dem vorwiegend biedere Eigenheime stehen, die Chance größer ist, dass sie brav ihre Monatsraten zahlen, als wenn der Kreditnehmer in einem heruntergekommenen Viertel wohnt. Aber es wäre unfair dem Einzelnen gegenüber, dieses Kriterium bei der Kreditvergabe heranzuziehen, weil es nicht direkt mit seiner Zahlungsmoral zusammenhängt. Deshalb wird es den Banken gesetzlich verboten. In anderen Bereichen, etwa beim Marketing, werden täglich bloß aufgrund ihrer Wohnadresse Urteile über Menschen gefällt, ob das fair ist oder nicht. Zum Beispiel gibt es Web-Shops, die nach der Postleitzahl beurteilen, ob sie ihrem Kunden eine Zahlung per Rechnung einräumen oder nicht.

Weil Algorithmen nach mathematischen Prinzipien arbeiten und auf denselben Input hin immer denselben Output produzieren, ist es leicht, sie als »objektiv«, als unbestechlich hinzustellen. Aber auch wenn ihre Berechnungen unpersönlich und kühl sein mögen – über sie hat immer ein Mensch entschieden. Sei es der Programmierer oder sein Auftraggeber. Wenn Facebook behauptet, der Algorithmus bringe uns immer nur die Nachrichten, die wir doch am liebsten sehen wollen, dann ist das natürlich Unsinn – dauernd schraubt der Konzern an den Reglern, die unterschiedliche Arten von Nachrichten in den Strom spülen, genauso wie Google die Kriterien für das Ranking seiner Suchergebnisse modifiziert. Für diese Kriterien kann man die Firmen kritisieren. Detailliertere Kritik könnte man üben, wenn man den Algorithmus kennen würde. Der aber ist ein Firmengeheimnis.

Die Firma Uber hat sich aufgemacht, das etablierte Taxisystem zu »disrupten«, wie man auf Silicon-Valley-Denglisch sagt. Ein hoch reguliertes System, das bei Anbietern und Kunden zu viel Frust führt, soll ersetzt werden durch einen freien Markt, bei dem das Angebot und auch der Preis durch die Nachfrage bestimmt werden. Die Uber-Tarife sind nicht konstant, sondern fluktuieren gewaltig – als im Dezember 2013 in New York ein Schneesturm tobte, mussten die Kunden plötzlich fast achtmal so viel bezahlen wie sonst. Surge pricing nennt Uber das. »Uber bestimmt nicht den Preis«, sagte der von vielen gehasste Uber-Chef Travis Kalanick 2013 dem Magazin Wired, »der Markt bestimmt den Preis. Wir haben Algorithmen, die herausfinden, was der Markt ist.«

Aber Uber ist keine gemeinnützige Mitfahrzentrale aus den 1980er-Jahren. Und seine Algorithmen reflektieren nicht nur den Markt, sondern sie greifen kräftig in diesen ein. Weder für den Anbieter, also den selbständigen Fahrer, noch für den Kunden ist die momentane Lage wirklich transparent. Öffnet der Kunde auf seinem Handy die App, sieht er auf dem Stadtplan rings um seinen Standort kleine Autos herumfahren. Aber das sind keine tatsächlichen Uber-Autos, die Firma hat zugegeben, dass es sich um eine symbolische Darstellung handelt: Denn wären auf der Karte keine Autos zu sehen, würde der Kunde vielleicht ein anderes Transportmittel wählen.

In der App für die Fahrer wiederum werden auf der Karte farblich bestimmte Viertel hervorgehoben, in denen viele Kunden auf ein Taxi warten. Aber auch das ist nicht ein Abbild der tatsächlichen Nachfrage, sondern die Prognose des Algorithmus. Im besten Fall sorgt eine gute Prognose dafür, dass die Fahrer schon da sind, wenn die Nachfrage entsteht, etwa nach einem Konzert. Bei einer Fehlprognose irren die Fahrer auf der Suche nach Kundschaft durch die Straßen. Auf jeden Fall handelt es sich hier nicht um einen für Anbieter und Kunden transparenten Markt, sondern um die Illusion eines Marktes, die von Uber gemanagt wird.

»Sowohl Gesetze wie Algorithmen werden von Menschen geschrieben«, schrieb Andrian Kreye 2014 in der Süddeutschen Zeitung. »Der Unterschied liegt darin, dass die Gesetze der kollektive Ausdruck einer Gesellschaft sind. Soziale Veränderungen und vor allem Werte formen Gesetze. Algorithmen aber werden von Ingenieuren geschrieben. Die sind keine Vertreter der Gesellschaft, sondern handeln im Dienst eines Instituts, einer Firma, eines Geheimdienstes oder auch nur für sich selbst.« Die Gesellschaft täte also gut daran, über Algorithmen nachzudenken. Das kann man auch, ohne Programmierer zu sein. Sogar wenn der Quellcode des Algorithmus nicht bekannt ist: Selbst eine »Blackbox« kann man testen, indem man untersucht, wie sie auf unterschiedliche Eingaben reagiert. Algorithmic accountability nennt das der Medienwissenschaftler Nicholas Diakopoulos (siehe Seite 254).

Solche Initiativen, die versuchen, ein Bewusstsein für Algorithmen zu schaffen, erscheinen mir mehr zu versprechen als die Forderung nach staatlicher Aufsicht, nach einem »TÜV für Algorithmen«, wie ihn die Schriftstellerin Juli Zeh in der Zeit forderte. Auch die Forderung mancher EU-Politiker an Google, seine Algorithmen offenzulegen, ist nicht nur unrealistisch, sondern auch unfair – keine Firma sollte gezwungen werden, ihr Tafelsilber öffentlich zu verschenken. Je mehr »Algorithmisten« es aber in der Gesellschaft gibt (ein Ausdruck, den der Big-Data-Spezialist Viktor Mayer-Schönberger geprägt hat), also Experten, die Algorithmen analysieren, testen und beurteilen können, umso mehr wird auch die Öffentlichkeit die Algorithmen hinterfragen, die unser Leben bestimmen.

Und vielleicht weicht dann auch die undifferenzierte Ablehnung von allem, was computerberechnet ist, einer kenntnisreicheren Beurteilung. »Wir wissen nicht, was sie tun, deswegen empfinden wir zu Recht massives Unbehagen an der Digitalisierung. Wir werden durchschaut, können aber nicht zurückschauen«, schreibt Christoph Kucklick in seinem 2015 erschienenen Buch Die granulare Gesellschaft. Je mehr wir zurückschauen, mit und ohne Expertenhilfe, umso weniger dämonisch werden die Computerprogramme sein, und umso nüchterner kann man die Interessen analysieren, die sich in ihnen materialisieren. Und umso häufiger entscheiden nicht die Algorithmen für uns, sondern wir entscheiden uns für Algorithmen, weil sie unser Leben vereinfachen.

Und die Algorithmen, auf die wir keinen Einfluss haben, können wir zumindest verwirren. Wenn wir nicht verhindern können, dass wir Datenspuren hinterlassen, können wir immerhin verwirrende Spuren erzeugen. Obfuscation nennt man das auf Englisch, was so viel heißt wie Verdunkelung, Vernebelung. Es gibt ein Programm namens AdNauseam, das im Hintergrund auf sämtliche Werbebanner klickt, die beim Surfen eingeblendet werden. Damit wird das Profil der persönlichen Vorlieben eines Nutzers völlig unbrauchbar. Eine App namens TrackMeNot stellt laufend sinnlose Anfragen bei Google und verwässert damit ebenfalls das persönliche Profil. Man kann Obfuscation auch in der richtigen Welt betreiben – etwa indem Kunden im Supermarkt ihre Kundenkarten tauschen. Dann profitieren sie immer noch von Sonderangeboten, machen aber den Algorithmen das Leben schwer. Es gibt bereits ein Buch, das eine Fülle solcher Anti-Algorithmen-Streiche aufführt (Obfuscation. A User’s Guide for Privacy and Protest von Finn Brunton und Helen Nissenbaum).

Aber in vielen Fällen lassen wir uns ja freiwillig von Algorithmen überwachen. Wer, wie die Selbstvermesser der »Quantified Self«-Bewegung, alle seine täglichen Aktivitäten und biologischen Parameter in Form von Daten und Messwerten abspeichert und sich dann von einem Computer den persönlichen Ernährungs- und Trainingsplan berechnen lässt, der entscheidet sich bewusst für ein algorithmisches Leben. Viele finden es angenehm, wenn eine äußere Instanz ihnen die Arbeit abnimmt, das eigene Leben zu planen – seien es Eltern, der Arbeitgeber oder eben ein Algorithmus. Ob ein dermaßen optimiertes Leben ein glücklicheres ist, ist eine andere Frage.

Eine Sorte von Computerprogrammen sollten wir allerdings in den nächsten Jahren besonders im Auge behalten: die neuronalen Netze, neuerdings mit dem Schlagwort »Deep Learning« etikettiert (siehe Kapitel 11). Bei denen kann man drüber streiten, ob man sie noch als Algorithmen bezeichnen will – sie laufen zwar auf gewöhnlichen Computern seriell und nach vorgegebenen Programmstrukturen ab, aber sie lernen selbsttätig, Dinge zu kategorisieren und daraus Regeln abzuleiten. Und diese Regeln liegen, anders als bei klassischen Algorithmen, nicht explizit vor. Nicht einmal der Programmierer weiß, was sich das neuronale Netz da zusammengereimt hat. Diese Netze werden die intelligenten Maschinen der Zukunft steuern – die selbstfahrenden Autos, die Übersetzungsmaschinen, die digitalen persönlichen Assistenten. Man muss nicht gleich darüber fantasieren, ob sie uns Menschen bald intellektuell überlegen sein werden. Aber sie werden zunehmend in unser Leben eingreifen, und das nach Regeln, die wir nur erahnen können.

Ein paar Worte noch zu den Algorithmen, die ich für dieses Buch ausgewählt habe. Im Rahmen eines populären Buchs ist der Grad an Komplexität, den man vermitteln kann, begrenzt – deshalb kommen in vielen Kapiteln als Beispiele Algorithmen vor, die schon ein paar Jahre oder Jahrzehnte alt sind, oft waren sie die Ersten ihrer Art und haben eine ganze Schar von weiteren, komplizierteren Programmen hervorgebracht. Sie stehen also stellvertretend für eine ganze Klasse von Verfahren, die in dem jeweiligen Gebiet angewandt werden. Ich habe versucht, die wichtigsten Algorithmen zu identifizieren, die heute und in Zukunft unseren Alltag beeinflussen werden. Außen vor geblieben sind die für Mathematiker teilweise bahnbrechenden Verfahren, mit denen sich etwa die Berechnung bestimmter Gleichungssysteme schneller beschleunigt hat als die Rechenkapazität der Hardware, die sich nach dem mooreschen Gesetz alle zwei Jahre verdoppelt (siehe Seite 35).

Dieses Buch ist weder ein Manifest gegen die bedrohlichen Algorithmen, noch bejubelt es die Segnungen der Computerverfahren, ohne ihre Schattenseiten zu sehen. Mit einfachen Antworten kann ich nicht dienen. Ich bin fest davon überzeugt, dass Bildung dabei helfen kann, sich souveräner in der neuen Welt zu bewegen. Grundlagen der Algorithmen gehören in die Lehrpläne der Schulen, auch ein paar einfache Programmierfähigkeiten können nicht schaden. Je mehr wir über die Verfahren wissen, die uns täglich begegnen, umso weniger hilflos müssen wir uns ihnen gegenüber fühlen. Und umso weniger berechenbar werden wir.

Kapitel 1: Rechnen Schritt für Schritt zum Ziel

»Es werden 500 g Spargel geschält, 15 Minuten in Wasser gekocht und dann in Stücke geschnitten. Die Köpfe beiseitestellen, der Rest wird mit dem Mixstab püriert. Das Püree dann durch ein Haarsieb drücken, bis auch der letzte Tropfen des Spargelsafts herausgepresst ist …«

Wolfram Siebeck schreibt seit Jahrzehnten in der Zeit über das Kochen, und seine Rezepte (hier: Spargelflan mit Paprikasauce) werden von vielen glühenden Verehrern und Verehrerinnen nachgekocht. Siebeck liebt eine blumige Sprache, oft benutzt er die erste Person: »Die kleinen Wunderwerke sehen ein bisschen blass aus. Deshalb habe ich vorher auf die Teller rote Paprikasauce gegossen. Die ist folgendermaßen entstanden …« Aber reduziert man seine Journalistenprosa auf ihr logisches Gerippe, dann ist jedes seiner Rezepte ein Algorithmus.

Ein Algorithmus ist eine Reihe von Vorschriften, bei der jeder Schritt eindeutig definiert ist. Ein Rezept eben. An keiner Stelle muss der Hobbykoch, der Siebecks Gericht nachkochen will, eine kreative Eingebung haben – hält er sich stur an Siebecks Vorschrift, dann sollte eine genießbare Mahlzeit dabei herauskommen.

Damit aus Siebecks Sätzen ein Algorithmus wird, den zur Not auch ein Kochroboter nachvollziehen kann, müssen sie in eine formale Sprache übersetzt werden. Das kann zum Beispiel ein Flussdiagramm sein. Ich habe mir die Mühe gemacht, einen Teil des Rezepts (ohne die Sauce) in ein solches Diagramm zu übersetzen.

An diesem Beispiel erkennt man schon einige Eigenschaften, die einen Algorithmus ausmachen:

–Er hat einen Anfang und ein Ende. Das mag sich jetzt banal anhören, ist es aber gar nicht: Zum Beispiel heißt es in Siebecks Rezept: »Deshalb habe ich vorher …« Das heißt, es gab einen zweiten Strang von Anweisungen, die zur fertigen Paprikasauce führten. Ein Algorithmus hat aber einen einzigen Anfangspunkt, deshalb muss man die Zubereitung der Sauce irgendwo in diesem einen Strang unterbringen. (Das ist auch im wirklichen Leben so, wenn ein einzelner Koch ein Gericht zubereitet, er kann immer nur eine Sache auf einmal tun – deshalb habe ich eine starke Abneigung gegen Rezepte, die einem irgendwann sagen, was man eigentlich schon hätte tun müssen!)–Er besteht aus endlich vielen Anweisungen. Das heißt nicht unbedingt, dass er auch nach endlich vielen Schritten zu Ende ist, wie wir gleich sehen werden!–Jeder Schritt ist ein präzise definierter Befehl. Jedenfalls sollte er es sein – hier gibt es ein paar Freiheiten: Der Befehl »Mit Salz, Pfeffer und Muskat abschmecken« enthält keine Mengenangaben, da ist durchaus Raum, das Gericht zu verderben. Und beim Backen im Ofen fehlt die Temperaturangabe – die sollte in einem Rezept tatsächlich drinstehen.–Meistens folgt ein Befehl auf den nächsten, es gibt aber einige Stellen, an denen sich das Diagramm verzweigt, erkennbar an den rautenförmigen Abfragen. Dort wird jeweils überprüft, ob eine gewisse Bedingung erfüllt ist. Falls ja, folgt der nächste Schritt, falls nein, geht man einen oder mehrere Schritte zurück. Also: Man drückt das Spargelpüree durch ein Sieb und überprüft in regelmäßigen Abständen, ob alles Wasser herausgedrückt ist. Oder man backt den Flan im Ofen so lange, bis er gestockt ist (in der Praxis sollte man natürlich nicht einmal pro Minute nachsehen, sondern frühestens nach 30 Minuten). In einem Fall läuft bei dieser Abfrage ein Zählindex von 1 bis 4 – diese kompliziert aussehende Prozedur bedeutet nichts weiter, als dass vier Portionsformen ausgebuttert werden. Ich hätte das auch für die Schritte »Formen ins heiße Wasserbad stellen« und »Inhalt der Förmchen auf je einen Teller stürzen« so aufschlüsseln können.

Da die Anweisungen in umgangssprachlichem Deutsch gegeben werden, gibt es natürlich immer noch genügend Raum für Missverständnisse. So steht nirgends, dass der Ofen eingeschaltet und vorgeheizt wird. Man könnte argumentieren, dass »Im Ofen garen« ein Unterprogramm ist, das diese Schritte beinhaltet. Ein absoluter Laie, der das Programm ausführt, könnte das übersehen – und weil die Masse im kalten Ofen nicht stockt, wird die Abfrage nie mit »ja« beantwortet, das Programm dreht sich sozusagen unendlich im Kreis und gelangt nie zu seinem Endpunkt. Das passiert auch mit schlecht programmierten Computeralgorithmen bisweilen – dann »hängt sich das Programm auf«, wie man so schön sagt.

Und weil wir uns in der wirklichen Welt befinden und Lebensmittel Naturprodukte sind und nicht perfekt normiert, gibt es natürlich noch andere Stellen, an denen etwas schiefgehen kann. Aber davon abgesehen, ist das Siebeck-Rezept ziemlich idiotensicher.

Diese »Idiotensicherheit« ist das Wesen jedes Algorithmus. Er lässt im Idealfall keinen Raum für Interpretation. Zu jeder Zeit ist klar, was zu tun ist und was danach zu tun ist. Der Ausführende – sei es ein Mensch oder ein Computer – muss nicht über besondere Intelligenz verfügen, sondern nur die Anweisungen lesen und präzise ausführen können. Die Gebrauchsanweisung zum Bau eines Ikea-Regals ist ein Algorithmus – wenn das Regal nachher schief ist, dann liegt das nicht am Algorithmus, sondern daran, dass der Kunde die Schritte nicht korrekt ausgeführt hat. Jedenfalls würde Ikea das behaupten.

Auch wenn der Gegenstand eines Algorithmus abstrakte Objekte wie Zahlen und Buchstaben sind: Der Algorithmus ist kein Computerprogramm, sondern die allgemeine Struktur eines klar definierten Prozesses. Ein Computerprogramm ist eine Umsetzung des Algorithmus in eine Sprache, die der Computer versteht.

Ein Algorithmus hat also immer etwas Zwanghaftes. Er führt bei gleichen Anfangsbedingungen immer zum selben Ergebnis. Damit ähnelt er den sogenannten Rube-Goldberg-Maschinen, die Sie vielleicht schon einmal in einem Film gesehen haben: Ein Ball fällt auf eine Wippe, die Wippe stößt einen Dominostein um, es folgt eine ganze Kaskade von Ereignissen, die perfekt choreografiert sind und teilweise extrem unwahrscheinlich erscheinen. Aber wenn man die physikalischen Bedingungen genau kontrolliert, passiert jedes Mal dasselbe.

Solche Maschinen faszinieren uns, weil sie auf den ersten Blick chaotisch wirken, ihnen aber eine uhrwerkhafte Präzision innewohnt. Wenn A, dann B. Wenn B, dann C. Und so weiter. Ordnung in einer sonst oft unberechenbaren Welt.

Abstrakte Regeln allein reichen nicht aus, damit etwas ein Algorithmus ist. Zum Beispiel ist das Schachspiel ein sehr formalisiertes, in sich begrenztes System, das sich sehr abstrakt beschreiben lässt. Ein Algorithmus ist es deshalb noch lange nicht – auf einen Zug folgt nicht zwingend ein anderer, immer muss der Spieler über den nächsten Schritt entscheiden.1 Aber natürlich kann man Algorithmen entwickeln, die Schach spielen. Sie berechnen zu jedem Zeitpunkt den nächsten Zug – etwa, indem sie alle möglichen Züge bestimmen, jeden davon nach einem gewissen System bewerten und dann den mit der höchsten Wertung auswählen.

Auch wenn Algorithmen aus einfachen Schritten bestehen – auch der simpelste Algorithmus kann zu komplexen Ergebnissen führen. Das zeigen in der Mathematik etwa die Fraktale, jene unendlich verästelten Formen, die auf sehr einfachen Regeln beruhen. Das berühmte »Apfelmännchen« etwa entsteht letztlich aus einer Funktion, bei der aus einer Zahl x der Wert x2 + c berechnet wird, mit einer festen Zahl c. Oft sehen wir das Ergebnis eines Algorithmus und denken: Dahinter muss doch Intelligenz oder Kreativität stecken! In Wirklichkeit sind es nur ein paar simple Befehle. Das werden Sie in den folgenden Kapiteln noch des Öfteren sehen.

Kann ein Algorithmus Kunst produzieren? Zumindest reproduzieren kann er sie: So sind musikalische Partituren zunächst auch nichts weiter als Algorithmen – sie legen fest, welche Noten in welcher Reihenfolge zu spielen sind. Man kann nach der Vorlage eines Notenblatts die Walze einer Spieluhr bauen, die dann mechanisch das Musikstück beliebig oft spielt.

Moment, werden Sie sagen, das ist doch eine rein maschinelle Reproduktion der Noten, da steckt doch weder Gefühl noch Interpretation drin. Das stimmt. Ein menschlicher Pianist zum Beispiel nimmt die Noten und fügt ihnen etwas hinzu: Er schlägt die Tasten unterschiedlich stark an, er verzögert und beschleunigt. Das alles kann man elektronisch aufzeichnen (mit sogenannter Midi-Software) und dann jederzeit reproduzieren, was aber auch nichts grundsätzlich anderes ist als das Abspielen einer Tonbandaufnahme. Aber inzwischen gibt es Software, die einen »menschlichen Faktor« in die Wiedergabe eines Musikstücks einbaut. Die Noten werden nicht mathematisch präzise wiedergegeben, sondern mit leichten Variationen in Länge und Lautstärke. Wissenschaftler an der Uni Wien haben sogar die interpretatorischen »Fingerabdrücke« berühmter Pianisten analysiert. Vielleicht kann man sich eines Tages aussuchen, in welchem Stil man ein bestimmtes Stück interpretiert haben will. Der Algorithmus besorgt den Rest.

Man muss also dem Produkt eines Algorithmus das Maschinelle nicht ansehen, das in ihm steckt. Das Berechnete sieht nicht immer berechnet aus. Das zeichnet viele der Algorithmen aus, die uns in diesem Buch interessieren werden: Programme, deren Output fast menschlich auf uns wirkt. Sie suchen zu einem Menschen den passenden Partner, sie wählen die Nachrichten nach unseren Vorlieben aus, schlagen uns ein neues Buch vor, verbinden uns mit unseren Freunden. Sie spielen Schach wie ein Mensch (oder besser), sie reden mit uns in fast fehlerfreiem Deutsch, sie erkennen, was auf Bildern zu sehen ist. Aber ist das wirklich dasselbe, als wenn ein Mensch das tut? Sind wir wirklich so berechenbar? Was bleibt uns noch an Unberechenbarem? Zu der Frage werden wir am Ende des Buchs zurückkommen.

Eine gewisse Abneigung gegen das Rechnen haben nicht nur Menschen, die der Mathematik sehr fernstehen. Als ich Mathematik studierte, Ende der 1970er-Jahre, lief durch diese Wissenschaft noch ein ziemlich tiefer Graben: auf der einen Seite die »reine« Mathematik, deren Vertreter mit Papier und Bleistift, Kreide und Tafel arbeiteten und nach Beweisen für komplizierte Theoreme suchten; und auf der anderen Seite die »angewandte« Mathematik, die nach Rechenverfahren für die damals noch riesigen Computer suchte. Die erste Gruppe blickte oft ein wenig verächtlich auf die zweite herunter. »Die rechnen doch nur!«

Auch ich hatte damals nicht viel für die angewandte Mathematik übrig. Einen Beweis zu finden ist eine kreative Tätigkeit, für die es eben kein Rezept gibt. Was ich damals nicht sah: Ein Algorithmus mag ein Rezept sein, aber ihn zu finden ist eine genauso kreative Tätigkeit wie das Austüfteln eines theoretischen Beweises. Nehmen wir das Problem, den kürzesten Weg zwischen zwei Punkten auf der Landkarte zu finden. Das war vom Standpunkt eines bornierten reinen Mathematikers eine triviale Aufgabe: Man betrachtet einfach alle möglichen Wege von A nach B und wählt den kürzesten aus. Dass dies bei einer hinreichend komplizierten Karte praktisch unmöglich ist, war nach dieser Denkweise egal – es ging ja ums Prinzip.

Dabei ist es natürlich eine intellektuell sehr anspruchsvolle Aufgabe, einen Algorithmus zu finden, der einen solchen Weg in einer vertretbaren Zeit findet (siehe Kapitel 3). Umgekehrt beruhen moderne Verschlüsselungsalgorithmen darauf, dass es eben kein bekanntes Verfahren gibt, das eine große Zahl in ihre Primfaktoren zerlegen kann, bevor unser Universum an sein Ende gekommen ist. Verbunden mit einem Algorithmus ist immer die Frage, wie viel Rechenzeit er beansprucht.

Ist das überhaupt eine interessante Frage, wenn doch die Computer immer schneller werden? Ich habe weiter oben schon das mooresche Gesetz erwähnt – jene empirische Regel des Intel-Ingenieurs Gordon Moore, nach der sich die Zahl der Transistoren auf einem Chip alle zwei Jahre verdoppelt. Damit einher gehen die Speicherkapazität von Chips und die Rechengeschwindigkeit. Seit er das Gesetz 1965 formulierte, hat es sich immer wieder als treffend erwiesen. Die heutigen Rechner rechnen mehr als zehn Millionen Mal so schnell wie damals, die Rechenkraft eines Supercomputers der 1990er-Jahre steckt heute in einem Handy – warum muss man sich dann überhaupt Sorgen machen um die Effizienz eines Algorithmus?

Was viele nicht wissen: Die rasante, exponentielle Entwicklung der Computer-Hardware wurde begleitet von einer oft noch größeren Beschleunigung der Software. Aus einer Veröffentlichung des Fraunhofer-Instituts für Algorithmen und Wissenschaftliches Rechnen (SCAI) habe ich die folgenden Zahlen: Zwischen 1985 und 2005, also in 20 Jahren, wurden die Prozessoren der Rechner um den Faktor 4000 schneller. Das heißt: Derselbe Algorithmus, der auf den alten Maschinen eine Laufzeit von 56 Stunden hatte, brauchte nun nur noch 50 Sekunden. Aber dieser Algorithmus war nicht mehr gebräuchlich, man benutzte jetzt einen, der 20 000-mal so schnell war. Und das bedeutet: Selbst auf der alten Hardware hätte dieser Algorithmus nur zehn Sekunden gebraucht, war also schneller als der alte Algorithmus auf den neuen Computern. Und ließ man den neuen Algorithmus auf der neuen Hardware laufen, dann brauchte er nur noch eine Zehntelsekunde – eine Verbesserung um den Faktor zwei Millionen, an der die Verbesserung der Software, des Algorithmus, den größeren Anteil hatte.

Mathematiker und Informatiker sind also an Algorithmen interessiert, die eine möglichst kurze Laufzeit haben. Die messen sie nicht auf einem bestimmten Computer, sondern in einer allgemein definierbaren Form. Insbesondere fragen sie danach, wie sich die Laufzeit verändert, wenn man immer größere Zahlen eingibt. Wenn also etwa der Input statt vier Ziffern acht Ziffern hat – verdoppelt sich dann die Laufzeit, vervierfacht sie sich oder wächst sie noch schneller? Dieses Wachstum im Zaum zu halten ist eine der wichtigsten Aufgaben der Entwickler von Algorithmen.

Betrachten wir ein Beispiel, die Multiplikation. Eine der Grundrechenarten – wir haben uns daran gewöhnt, dass ein Computer zwei beliebig große Zahlen in Sekundenbruchteilen miteinander malnehmen kann. Umso mehr mag es manchen erstaunen, dass noch immer an neuen Algorithmen zum Multiplizieren geforscht wird. Für gewöhnliche Zahlen benutzen auch Computer die Rechenmethode, die wir alle in der Schule gelernt haben. Aber manchmal müssen Mathematiker sehr, sehr große Zahlen miteinander multiplizieren. Wenn die beiden Faktoren jeweils eine Milliarde Stellen haben, dann kann die Multiplikation selbst auf einem modernen Computer einige Wochen dauern. Moderne Algorithmen schaffen das dagegen in weniger als zwei Minuten.

Wie berechnen wir gewöhnlich das Produkt zweier mehrstelliger Zahlen, etwa 5134 und 2674? Bei den meisten Menschen sieht das etwa so aus:

5134 ∙ 2674

10268

 30804

  35938

   20536

13728316