„Algorithms to Live By“ von Brian Christian und Tom Griffiths macht eines besser als alles andere: dem Leser eine beruhigende Perspektive auf all die schwierigen Probleme zu geben, mit denen er tagtäglich zu kämpfen hat. Zu manchen von ihnen wurden simple und erwiesenermaßen optimale Lösungsstrategien gefunden. Andere wiederum sind erwiesenermaßen schwer: man kann sie nicht in vertretbarer Zeit optimal lösen. Aber vielleicht ist ja „gut genug“ gut genug? In diesem Fall stehen dir wieder verschiedene Taktiken zur Auswahl.
Ganz davon abgesehen ist oft nicht mal die optimale Strategie so perfekt wie wir es uns wünschen. Es ist einfach unmöglich keine Fehler zu machen und auch die optimale Herangehensweise kann das nicht verhindern. Aber genau deswegen unterscheidet man ja zwischen Vorgehen und Ergebnis. Und außerdem gibt dir das eine gewisse Beruhigung: Auch wenn es immer wieder mal nicht zu 100% klappt, befolgst du trotzdem schon die optimale Strategie. Noch besser ist einfach unmöglich, Fehlschläge gehören dazu.
Wie genau erreicht „Algorithms to Live By“ all diese weisen Einsichten im Leser? Es präsentiert die Lösungen die Computerwissenschaftler über die Jahre gefunden haben, als Rechner Schritt für Schritt den selben Problemen begegnet sind, mit denen wir auch jeden Tag zu kämpfen haben. Das Bild der Maschine, die stur alle Möglichkeiten durchprobiert, bis die beste gefunden wurde, ist einfach veraltet. Das ist nun mal gar nicht mehr möglich bei den unglaublich komplexen Problemen, mit denen sie sich heute beschäftigen. Stattdessen wurden andere Strategien entwickelt, um trotz dieser großen Komplexität ziemlich gute Lösungen zu finden. Strategien, die auch wir Menschen anwenden können und sogar überraschenderweise sehr oft bereits instinktiv anwenden. Wer hätte das gedacht? Allerdings kann man sich jetzt anscheinend nicht mehr gegen diese Erkenntnis wehren: Evolution hat uns mit einigen (fast) optimalen Algorithmen ausgestattet, die uns dabei helfen mit möglichst wenig Energieaufwand erfolgreich die Welt um uns herum zu navigieren.
Algorithms to Live By
Das ganze wurde in 11 verschiedenen Bereichen demonstriert. Optimales Stoppen, Erkunden oder Ausnutzen, Sortieren, Zwischenspeichern, Ablaufplanung, Bayes’sche Regeln, Überanpassung, Entspannung, Zufall, Netzwerke und Spieltheorie. Was das alles zu bedeuten hat, erkläre ich gleich. Wie genau die Auswirkungen und Erkenntnisse der einzelnen Bereiche zu verstehen sind, wird in zukünftigen Artikeln erläutert.
Optimierungsprobleme
Wann immer eine Entscheidung getroffen werden soll, gilt es zwischen folgenden zwei Optionen abzuwägen. Nach welchem Standard kann man die einzelnen Optionen vergleichen? Solange man das nicht weiß, muss man Informationen sammeln, um eine gute Entscheidung treffen zu können. Je länger man Informationen sammelt, desto besser kann man beurteilen, ob eine bestimmte Option gut ist, desto größer ist allerdings auch die Wahrscheinlichkeit, dass man die beste Option bereits verpasst hat. Angenommen, dass man also nie wieder zurück kann und Optionen sofort auswählen kann, ist der beste Mittelweg nach 37% der Möglichkeiten von der Erkundungsphase zur Entscheidungsphase zu wechseln, in der man eine Option sofort auswählt, wenn sie die aktuellen Erwartungen übertrifft.
Das bietet die besten Erfolgschancen besonders sobald die Menge der Auswahlmöglichkeiten immer größer und größer wird. (Bei zufällig raten geht die Chance gegen null.) Gleichzeitig hast du allerdings immer noch nur eine 37% Wahrscheinlichkeit die beste Option auszuwählen und damit in 63% der Fällen nicht die beste Entscheidung getroffen. Aber wie gesagt: Sogar optimale Lösungen sind nicht so perfekt, wie wir es uns wünschen würden, und gerade hast du eindeutig eine ziemlich gute Option abbekommen.
Sobald man dann allerdings auch nur eine der Annahmen verändert, z.B. zweite Chancen zum Auswählen erlaubt, bereits vorher einen gewissen Vergleichsstandard kennt, oder eine objektive Messzahl hast, wer wie gut ist, ändert sich alles. Für jeden dieser Fälle gibt es neue optimale Strategien, die du allerdings erst mal in Erfahrung bringen müsstest, um sie optimal einzusetzen.
Andererseits wurde auch in zahlreichen Studien bewiesen, dass wir Menschen diese Prinzipien schon ziemlich erfolgreich instinktiv anwenden. Vielleicht brauchst du dir also gar keine so großen Sorgen zu machen.
Andere Szenarien der Optimierungsprobleme umfassen zum Beispiel die Abwägung zwischen Erkunden und dem Ausnutzen der erlangten Informationen und die Entscheidung, welche Dinge man zwischenspeichert und welche man vergisst. Letzteres Beispiel erklärt zum Beispiel auch die Funktionsweise unseres eigenen Gedächtnisses, welches auch ein optimales System darstellt angesichts der unglaublich riesigen Menge an Daten, mit denen es jeden Tag bombardiert wird.
Ablaufplanung
In diesem Spezialfall der Optimierungsprobleme wird eine besondere Regel besonders klar: je nachdem was du optimieren willst, sind verschiedene Ansätze die besten Strategien. Möchtest du möglichst selten Verspätung haben erfordert das eine andere Strategie, als wenn du eine möglichst geringe Gesamtverspätung erzielen willst. Vielleicht musst du allerdings auch bedenken, dass Kontextwechsel Zeit kostet, oder Prioritäten für die verschiedenen Aktivitäten beachten. In jedem Fall ändert sich die optimale Strategie. Sehr oft verwenden wir sie bereits instinktiv. Zu wissen wann welche optimal ist, hilft dir allerdings auch dabei zu erkennen, nach was du aktuell optimierst und dein Ziel möglicherweise zu ändern. Das alles macht diesen Bereich besonders spannend.
mit Komplexität umgehen
Ich überspringe hier zwar gerade einiges, aber das zweite große Thema des Buches nach diesen klassischen Optimierungsproblemen sind die Strategien im Angesicht von Problemen, die sich nicht vollständig berechnen lassen. In diesen Fällen musst du zu Kampf-geprüften Taktiken der Computerwissenschaft greifen und möglichst simple Lösungen bevorzugen, die Regeln und Begrenzungen strategisch entspannen, bis du das Problem lösen kannst, und dich vom Zufall unterstützen lassen. All das kann dabei helfen doch noch eine gute Lösung zu finden.
viele weitere Themen
Ich habe irgendwie gerade das Gefühl, dass ich den Umfang dieses Buches nicht wirklich korrekt abbilden kann. Weiterhin werden zum Beispiel Erkenntnisse aus der Netzwerkoptimierung und der Spieltheorie präsentiert und dir erklärt, warum du bereits instinktiv ziemlich gut darin bist, die Zukunft anhand weniger Datenpunkte vorauszusagen – anhand von Vorinformationen die dein Gehirn bereits seit deine Geburt für dich sammelt. Alles sehr spannend und so aufklärend, dass ich dieses Buch eindeutig auf die Liste der Pflichtlektüren für alle (lesenden) Menschen setze.
Lies das Buch selbst und lass dich vom darin umgesetzten Humor in die Welt der Computerwissenschaft hineintragen. Gleichzeitig bleibt es allerdings immer unglaublich leicht auf deinen Alltag übertragbar und leicht verständlich. Ein absolutes Meisterwerk, dass du dir nicht entgehen lassen solltest. Also, worauf wartest du noch?