Kategorien
Uncategorized

Kognitionswissenschaft

Bereits in der Einführung habe ich ja geschrieben, dass ich in den letzten anderthalb Jahren viel darüber gelernt habe, was ich alles nicht weiß. Heute will ich einmal von einem Forschungsgebiet berichtet, von dem ich nicht einmal wusste, dass es existiert: der Kognitionswissenschaft nämlich.

(Und ja, alle die sich seit Jahren damit beschäftigen: Lacht nur. Aber fragt euch danach vielleicht auch mal, warum euer Thema – zumindest in Europa – nicht bekannter ist.)

Also: Ich bin bis vor kurzem davon ausgegangen, dass die Kognition des Menschen etwas ist, womit sich die Psychologie beschäftigt, genauer (ta-dah!): die Kognitionspsychologie. Hier beschäftigt man sich mit der Frage, wie das menschliche Denken organisiert ist: wie funktionieren Wahrnehmung und Aufmerksamkeit, wie speichert unser Gehirn Informationen, wie lernt es, wie löst es Probleme, produziert Ideen, trifft Entscheidungen oder trifft Schlussfolgerungen?

Nun neigt man als Informatiker natürlich bei all dem dazu, Vergleiche mit einem Computer anzustellen. Man sucht überall Gemeinsamkeiten und Unterschiede zwischen dem Gehirn und den Rechnern, die es sich ausgedacht hat. Tatsächlich hatten Leute wie Alan Turing, die die ersten Computermodelle erdacht haben, bevor man überhaupt Computer bauen konnte, genau das im Sinn: Sie wollten ein Modell dessen entwerfen, wozu menschliches Denken in der Lage ist und wozu nicht.

Was ist nun Kognitionswissenschaft?

Und letztlich ist genau das auch der Ausgangsgedanke der Kognitionswissenschaft. Im Gegensatz zur Kognitionspsychologie richtet sie den Blick nicht ausschließlich auf den Menschen, sondern auf alle Arten von denkenden oder informationsverarbeitenden Systemen. Natürlich hofft sie, dabei auch etwas über das menschliche Denken zu lernen, aber sie will auch umgekehrt das, was wir über menschliches Denken gelernt haben, auf künstliche Systeme übertragen.

Die Kognitionswissenschaft ist somit inhärent interdiszplinär. Instinktiv denkt man dabei an eine Kreuzung aus Kognitionswissenschaft und Informatik (insb. Künstliche Intelligenz), aber in den gängigen Darstellungen des Themas werden noch mehr Disziplinen genannt, die gerne in Form eines Heptagramms dargestellt werden.

Ursprünglich lag der Kognitionswissenschaft tatsächlich das sogenannte „Computermodell des Geistes“ zugrunde, nach dem man versuchte, das menschliche Gehirn als eine Art Computer zu modellieren. Dieses Modell gilt jedoch aufgrund heutiger Erkenntnis über die Funktionsweise des Gehirns als widerlegt. Stattdessen sucht man inzwischen nach Unterschieden, Gemeinsamkeiten und passenden Abstraktionen, die allen Arten von Kognition (natürlich wie künstlich) gerecht werden.

Verbindung zum Algorithmischen Denken

Eines der Probleme der Kognitionswissenschaft ist es, dass sie als Feld so gewaltig (und so unsauber gegen benachbarte Disziplinen abgegrenzt) ist, dass es niemand mehr überblickt. Wer sich davon überzeugen will, der kann einmal einen Blick in die Proceedings der Jahrestagung der Cognitive Science Society werfen, der stolze 3642 Seiten umfasst. Ich selbst habe jedenfalls noch nie einen derart riesigen Tagungsband mit derart vielen verschiedenen Themen gesehen. Die meisten Wissenschaftler sind daher nach wie vor nur in einem Teilbereich der Disziplin unterwegs und halten bestenfalls oberflächlich Kontakt zu den anderen Disziplinen.

Und so würde auch ich sie nutzen wollen. Tatsächlich hat die Kognitionswissenschaft manche Ergebnisse hervorgebracht, die hier tatsächlich relevant sind – so beispielsweise die bereits erwähnte Erkenntnis, dass sich biologische Gehirne eben nicht wie Computer verhalten. Zugleich gibt es Modelle, die sowohl biologische als auch technische Kognition als informationsarbeitende Systeme beschreiben, und die sind für die Zwecke meines Projekts natürlich nützlich. Hilfreich finde ich auch, dass man überall dort, wo man eine Verbindung zwischen zwei der oben genannten Disziplinen sucht (beispielsweise zwischen der Philosophie des Geistes und der Informatik / Künstlichen Intelligenz), in der Kognitionswissenschaft fündig wird.

Andererseits fehlt der Kognitionswissenschaft (soweit ich das am Anfang meiner Reise überblicke jedenfalls) eine wichtige Komponente dessen, was mich im Rahmen meines Projektes interessiert. Sie versteht sich nämlich in erster Linie als deskriptive Disziplin, die beschreibt, wie kognitive Systeme Informationen verarbeiten. Letztlich will sie in erster Linie verstehen, wie Kognition funktioniert. Sie scheint dagegen weniger daran interessiert, sich präskriptiv zu betätigen.

Letzteres ist aber gerade ein Ziel des algorithmischen Denkens: Es geht darum, analog zur Entscheidungstheorie nicht nur zu beschreiben, wie wir typischerweise an eine Aufgabenstellung (sei es nun das Treffen einer Entscheidung, das Lösen eines Problems oder das Schaffen kreativer Werke) herangehen, sondern auch, wie wir es tun sollten. Somit reiht sich die Kognitionswissenschaft ein in die lange Reihe von Disziplinen, die zu diesem Ziel beitragen können, ohne es jedoch als Hauptfokus zu haben.

Kategorien
Uncategorized

Algorithmus und Heuristik

In diesem Blog wird viel von Algorithmen und Heuristiken die Rede sein. Dabei zeigt ein Blick in die Literatur, dass nicht alle unter diesen Begriffen das Gleiche verstehen. Wie so häufig entwickelt man zwar schnell ein Gefühl dafür, was gemeint ist, die formalen Definitionen unterscheiden sich aber teilweise in wichtigen Punkten. Daher versuche ich mich hier gleich zu Beginn an einer Klarstellung, was ich im Rahmen dieses Blogs mit diesen Begriffen meine.

Zunächst einmal geht es immer darum, ein Problem zu lösen. Ein solches Problem kann dabei darin bestehen, eine Schachpartie zu gewinnen, eine Rechenaufgabe zu lösen, den Blumenladen in der Innenstadt zu finden oder mit den mir gegebenen Mitteln stinkend reich zu werden. Immer soll dabei eine Ausgangssituation in eine Zielsituation verwandelt werden oder zumindest in etwas, was diesem Ziel möglichst nahe kommt.

Algorithmus und Heuristik sind nun Vorgehensweisen, mit denen ein solches Problem mehr oder weniger gut gelöst wird. Ein Algorithmus ist dabei eine schrittweise Handlungsanweisung, wobei die Schritte so eindeutig definiert sein müssen, dass keine Missverständnisse aufkommen können. So ist die Handlungsanweisung „Beschwöre einen Djinn und bitte ihn um eine Tonne Gold“ kein Algorithmus für das Problem „Wie werde ich stinkend reich?“, weil der Schritt „Beschwöre einen Djinn“ nicht gut genug definiert ist.

Ein klassisches Beispiel für einen Algorithmus ist dagegen ein Kochrezept, mit dem wir eine Ausgangssituation (einen Stapel Zutaten) in eine Zielsituation (ein schmackhaftes Essen) verwandeln, wobei wir eine Reihe wohldefinierter Anweisungen (eine Zwiebel fein würfeln, 5 Minuten in heißer Butter dünsten,…) abarbeiten. Aber auch die Anweisungsfolge, mit der uns das Navi an unser Ziel bringt („In 200 Metern links abbiegen!“), oder die Rechenvorschrift, mit der wir zwei ganze Zahlen multiplizieren, sind Algorithmen.

Algorithmen müssen übrigens keinesfalls immer deterministisch sein, d.h. bei gleicher Ausgangssituation die gleiche Folge von Schritten ausführen und somit zum gleichen Ergebnis kommen. Es gibt nämlich auch randomisierte Algorithmen, bei denen Ablauf und Ergebnis vom Zufall beeinflusst werden. Ein einfaches Beispiel ist eine Partie „Schere, Stein, Papier“: wenn man dieses Spiel immer nach dem gleichen Verfahren gegen einen intelligenten Gegner spielt, wird dieser früher oder später hinter unseren Algorithmus kommen und dieses Wissen dann gegen uns verwenden. Aber auch in der Mathematik gibt es überraschenderweise Probleme, die sich leichter lösen lassen, wenn man dabei den Zufall mitspielen lässt.

Was aber sind nun Heuristiken? Im Grunde handelt es sich ebenfalls um Algorithmen, allerdings mit den folgenden Besonderheiten:

  • Sie sind ohne großen Aufwand (Zeit, Energieverbrauch,… ) durchführbar.
  • Sie führen auch bei gleicher Ausgangssituation nicht zwingend zum gleichen Ergebnis.
  • Das Ergebnis ist nicht notwendigerweise perfekt.

Manche Heuristiken können sogar dann ausgeführt werden, wenn die Ausgangssituation gar nicht vollständig bekannt ist, andere ignorieren ganz bewusst Teile dessen, was sie eigentlich wissen könnten, um so schneller zu Ergebnissen zu gelangen. Wenn wir beispielsweise einem Auto ausweichen müssen, wäre es wenig sinnvoll, bei unserer Reaktion auch die Farben der Blumen am Straßenrand oder den Redeschwall unseres Beifahrers mit einzubeziehen. Um so schnell wie möglich handeln zu können, beschränken wir uns auf die beiden Autos und einige wenige Hindernisse, mit denen wir absolut nicht kollidieren wollen. Alles andere wird ausgeblendet – ob zu Recht oder zu Unrecht, merken wir dann erst hinterher.

In der Informatik verwendet man Heuristiken, wenn ein Problem zu schwierig ist, um exakt gelöst zu werden. Das menschliche Gehirn dagegen verwendet Heuristiken für so gut wie alle Probleme. Die genaue Vorgehensweise ist uns dabei für gewöhnlich nicht bewusst, weshalb manche Forscher argumentieren, dass es sich bei Heuristiken gar nicht um Algorithmen handelt – schließlich können wir häufig nicht Schritt für Schritt angeben, wie wir es geschafft haben, das Problem zu lösen. Andererseits gelingt es der Kognitionspsychologie immer wieder, explizite Beschreibungen für solche unbewussten Heuristiken zu finden, und dabei handelt es sich (bisher jedenfalls) dann eben doch um ein Vorgehen, das man als (randomisierten) Algorithmus beschreiben kann.

Aus diesem Grund werde ich im Folgenden unter einer Heuristik stets eine Art „Quick-and-Dirty“-Algorithmus verstehen: effizient, unter Umständen etwas händewedelnd, meist aber mit passablen Ergebnissen. Wenn dagegen Algorithmen gemeint sind, die immer die gleiche Schrittfolge ausführen und dabei zum optimalen Ergebnis kommen, dann werde ich diese ausdrücklich als klassische Algorithmen bezeichnen.

Zwei Arten von Algorithmen

P.S.: Und ja, mir ist bewusst, dass es noch zahlreiche weitere Möglichkeiten gibt, Algorithmen zu unterteilen und dass es allein zwischen den Extrempunkten „klassischer Algorithmus“ und „Heuristik“ noch viele Zwischenstufen gibt. Aber solange wir hier (noch) nicht in die Feinheiten der theoretischen Informatik eintauchen, lasse ich diese vorerst noch außen vor.

Nachtrag (8.3.2021): Inzwischen habe ich zu dem Thema einen neuen Beitrag geschrieben, in dem die Aussage, dass Heuristiken ein Spezialfall eines Algorithmus sind, korrigiert wird.

Kategorien
Uncategorized

Intuition – zwischen den Extremen

Bauchentscheidungen

In den letzten Wochen habe ich das Buch „Bauchentscheidungen“ des international anerkannten Psychologen Gerd Gigerenzer gelesen. Das (populärwissenschaftlich geschriebene) Buch ist 2007 unter dem Titel „Gut Feelings“ erschienen und hat sich seither sehr erfolgreich verkauft, so dass ich mich gefreut hatte, endlich Zeit dafür zu haben.

Beim Lesen beschlich mich aber zunehmend der Eindruck, dass die Dinge hier der „Message“ zuliebe doch recht einseitig dargestellt werden. Schon der deutsche Untertitel („Die Intelligenz des Unbewussten und die Macht der Intuition“) lässt erahnen, dass Gigerenzer die menschliche Intuition in einem ziemlich positiven Licht sieht. Damit grenzt er sich ganz ausdrücklich von den Arbeiten der bekannten Psychologen Daniel Kahneman und Amos Tversky ab, die in ihrer Forschung immer wieder Beispiele dafür geliefert haben, wie die menschliche Intuition völlig danebenliegen kann.

Der gemeinsame Feind: Der Erwartungsnutzenmaximierer

Als Informatiker stelle ich mir hier die (für Geisteswissenschaftler vielleicht gar nicht nachvollziehbare) Frage, wie angesehene Forscher zu derart unterschiedlichen Einschätzungen gelangen können. Denn die Alltagsbeobachtung sagt ja, dass beides richtig ist: In vielen Situationen kommen wir mit unserer Intuition ziemlich weit, in bestimmten Situationen dagegen versagt unser Bauchgefühl völlig.

Es sagt eine Menge aus über die lange in der Wirtschaftstheorie gepredigten Glaubenssätze, dass diese einfache Alltagsbeobachtung jahrzehntelang geleugnet wurde und dass man stattdessen ohne jede Evidenz behauptete, im Inneren jedes Menschen würden komplexe Optimierungsalgorithmen ablaufen, die uns zu „Erwartungsnutzenmaximierern“ machen. Jeder Mensch, so die These, würde aus den vorhandenen Informationen die für ihn und seine Ziele bestmöglichen Entscheidungen ableiten.

Nun zeigen sowohl die Ergebnisse Gigerenzers als auch die Ergebnisse von Kahneman und Tversky, dass dem überhaupt nicht so ist und dass Intuition ganz anders funktioniert. Allerdings nähern sie sich dem Problem von entgegengesetzten Seiten: Während Gigerenzer zu zeigen versucht, dass Intuition den formalen Algorithmen der klassischen Entscheidungslehre sogar überlegen sein kann, suchen Kahneman und Tversky nach Beispielen, bei denen das Gegenteil der Fall ist.

Extrempositionen

Ein Stückweit ärgert es mich, wenn ausgerechnet in Büchern, die eine große Leserschaft erreichen wollen, solche Extrempositionen bezogen werden. Denn natürlich glaubt weder Gigerenzer, dass die menschliche Intuition immer zu überlegenen Ergebnissen führt, noch sind Kahneman und Tversky davon überzeugt, dass sie immer daneben liegt. Die Wahrheit ist komplizierter, sie hat viel damit zu tun, wer welche Testfragen stellt und mit welcher Absicht.

Diese Situation kennen wir auch aus dem Alltag. Wenn ich möchte, dass mein Gegenüber meinen Test besteht, stelle ich eben einfache Fragen. Und so fragt Gigerenzer danach, welche von zwei Städten wohl größer ist – eine Frage, die deshalb auch mit Halbwissen vergleichsweise gut zu beantworten ist, weil die Antwort mit der Bekanntheit der Stadt korreliert ist. Daraus, dass Menschen diese Frage oft auch dann richtig beantworten, wenn sie die Größe der Stadt gar nicht kennen, folgert er, dass die Intuition (hier konkret: die sogenannte Rekognitionsheuristik) ein mächtiges Werkzeug ist. Doch was wäre, wenn man den gleichen Teilnehmern stattdessen die Frage gestellt hätte, welche der Städte älter ist oder welche südlicher liegt? Hier ist die Korrelation mit der Bekanntheit deutlich weniger ausgeprägt, und ich vermute daher, dass die Ergebnisse nicht annähernd so gut gewesen wären.

So aber wird der Eindruck erweckt, als könne es auf die Frage „wie intelligent ist die menschliche Intuition“ nur eine Antwort geben. Und das ist in einem solch komplexen Thema eine gefährliche Vereinfachung.

Die Folgen der Übertreibung

Die Probleme, die sich aus dem Argumentieren mit Extremen ergeben, kennen wir aus dem politischen Alltag seit Jahren – die Mitte, der Ausgleich, der Kompromiss gehen darüber immer mehr verloren. Und leider treffen wir auch in der Politik den Typ des Wissenschaftlers an, der nur seinen eigenen Standpunkt, sein eigenes Modell, seine eigene Prognose gelten lässt. Typischerweise entstammen diese Wissenschaftler einer Disziplin, in der eindeutige Wahrheiten gar nicht beweisbar sind, was aber durch umso bessere rhetorische Schulung oder größere Überzeugung ausgeglichen wird. Argumentiert wird mit Extremen; gemäßigte, vermittelnde oder gar zweifelnde Standpunkte wirken langweilig, passen nicht in einen Tweet und verkaufen sich weder in den Abendnachrichten noch als Buch.

Dem Vertrauen der Allgemeinheit in die Wissenschaft hat dies nicht gutgetan. Wenn (um ein aktuelles Beispiel zu nennen) die einen Wissenschaftler mit fast schon religiöser Hingabe einen harten, monatelangen Lockdown zur Bekämpfung der Corona-Pandemie fordern, während die anderen mit genau der gleichen Überzeugung jede Form von Lockdown als nutzlosen und gefährlichen Unfug zur Bekämpfung eines maßlos übertriebenen Problems bezeichnen, fragt sich der sprichwörtliche Mann auf der Straße natürlich, wieso er irgendwelches Vertrauen in diese Wissenschaftler haben sollte. Und dieser Zweifel an den Wissenschaft, ihren Methoden und Erkenntnissen wird in den letzten Jahren ja auch immer deutlicher ausgesprochen…

Die wahren Fragen

Was also kann die Wissenschaft tun? Bei aller Freude am Diskurs ist es wichtig, sich daran erinnern, dass Extrempositionen so gut wie nie die Wahrheit sind, sondern dass komplexe Sachverhalte es erfordern, dass man alle Seiten gleichermaßen beleuchtet.

Bei den oben genannten Autoren finden sich zwischen den Zeilen (und vor allem in ihren Forschungsarbeiten) natürlich auch genau diese Grautöne, die echte Wissenschaft auszeichnen. Und wir erkennen auch die Fragen wieder, die ein Algorithmiker instinktiv gestellt hätte:

  • Wie schwer ist das zu lösende Problem überhaupt?
  • Wie eindeutig ist die Aufgabenstellung definiert?
  • Wie vollständig sind die Informationen, über die die Person verfügt?
  • Wie wichtig ist die Qualität der Lösung?
  • Wieviel Zeit hat die Person zur Verfügung?
  • Welche Ressourcen (Denkleistung etc.) hat die Person zur Verfügung?
  • Hat die Person Erfahrung mit vergleichbaren Situationen?
  • Spielt der Zufall eine Rolle, und falls ja: sind die Wahrscheinlichkeiten bekannt?
  • Gibt es einen intelligenten Gegenspieler?

Anhand dieser Fragen wird hoffentlich deutlich, wie viele verschiedene Anforderungen es an eine gute Intuition gibt und auf wie viele Arten man ihre Qualität beurteilen kann. Ich wage – auch aus der Erfahrung der Informatik in diesem Bereich – zu behaupten, dass die Forschung hier noch ganz am Anfang steht. Jeder Schritt dabei ist wertvoll, aber er sollte nicht vorschnell als Teil einer universellen Wahrheit wie „vertrauen Sie ruhig öfter ihrem Bauchgefühl“ verkauft werden.

Kategorien
Uncategorized

Rezension: Algorithms to Live By

Ich möchte gleich zu Beginn ein Buch besprechen, das einen riesigen Beitrag dazu geleistet hat, dass mir der Zusammenhang zwischen „Computer-Algorithmen“ und „Alltags-Algorithmen“ klar geworden ist. Es handelt sich um das Buch „Algorithms to Live By“ (deutsch: Algorithmen für den Alltag) von Brian Christian und Tom Griffiths.

B. Christian, T. Griffiths: Algorithms to Live By. Henry Holt, 2016

In dem Buch zeigen die Autoren anhand zahlreicher Beispiele auf, wie Algorithmen, die ich aus der Informatik seit Jahren kannte, auch im Alltag ganz selbstverständlich zum Einsatz kommen. Und ich muss zugeben, dass ich an manchen Stellen schlicht fassungslos war, dass mir das nicht einmal aufgefallen war, obwohl mir sowohl Algorithmus als auch Alltagssituation durchaus vertraut waren. Umgekehrt werden auch Alltagssituationen besprochen, die wir alle kennen, und mit Algorithmen verknüpft, die vielleicht weniger bekannt sind, die aber nichtsdestotrotz entweder sinnvoll sind oder zumindest ein neues Licht auf unsere tatsächlichen Entscheidungen werfen.

Wer einen ersten Eindruck von den Ideen bekommen will, die in „Algorithms to Live By“ diskutiert werden, dem sei Tom Griffiths‘ TED-Talk von 2017 empfohlen, den man auf Youtube finden kann. Für alle anderen möchte ich hier ein paar Beispiele auflisten:

  • Der Explore-Exploit-Tradeoff zeigt, wie sich das Verhältnis zwischen „Neues ausprobieren“ und „Erprobtes genießen“ im Laufe der Zeit verschiebt und auch, dass sich das tatsächliche Verhalten von Menschen meist erstaunlich nah an der Idealkurve liegt. Ich selbst habe auch gelernt, dass ich nahezu zum mathematisch perfekten Zeitpunkt geheiratet habe…
  • Das Kapitel über das Sortieren im Alltag (Sie sortieren im Alltag gar nicht? Dachte ich auch…) hat mich gleich mehrfach überrascht und mich zu einer Reihe von Überlegungen angeregt, von denen in künftigen Blogeinträgen noch die Rede sein wird.
  • Speicherhierarchien hielt ich ebenfalls für etwas, was nur in Computern vorkommt. Wieder falsch gedacht…
  • Im Kapitel über Netzwerke gab es gleich mehrere Fundstücke, die mir sehr zu denken gegeben haben. So habe ich da gelernt, warum wir genauso wie Computer darauf achten müssen, unsere Eingangspuffer (physisch ebenso wie geistig) nicht zu überlasten, und ich habe verstanden, was mit Messies wirklich passiert. Aber auch die Exponential-Backoff-Strategie fand ich erhellend und die Erkenntnis, dass sie im Umgang mit anderen Menschen sinnvoller sein kann als das gängige „Ich rufe ihn zweimal an, dann kann er mir den Buckel runterrutschen“.
  • Vielleicht das größte Aha-Erlebnis aber hatte ich im Kapitel über Spieltheorie. Mir war gar nicht bewusst, welche Rolle Emotionen bei spieltheoretischen Dilemmata spielen, aber wenn man es einmal gesehen hat, macht es absolut Sinn. Und es zeichnet ein ziemlich hässliches Bild davon, wie weit das derzeit so verbreitete individualistische Weltbild an der evolutionären Wirklichkeit vorbeigeht…

Tatsächlich könnte ich hier noch stundenlang weiterschreiben, denn eigentlich habe ich alle paar Seiten etwas gefunden, was mich weitergebracht oder zumindest zum Nachdenken angeregt hat. Vor allem zeigt das Buch Zusammenhänge auf zwischen zwei Disziplinen, die ich bisher immer isoliert betrachtet habe. Dadurch hat es schon jetzt die Art verändert, wie ich Algorithmik (oder sogar Informatik insgesamt) unterrichte, und es hat mich zu einer Reihe von Forschungsideen inspiriert. Ja, allein dass ich jetzt diese Zusammenfassung schreibe, führt mich in Versuchung, das Buch erneut durchzulesen und dabei diesmal auch den Endnoten und Quellen im Anhang stärkere Bedeutung beizumessen.

Zusammenfassend kann ich nur jedem – egal ob er sich nun für Informatik interessiert oder „nur“ dafür, wie wir Menschen ticken – empfehlen, einen Blick in dieses Buch zu werfen. Ich selbst jedenfalls würde es jederzeit in der Liste der 10 Bücher führen, die ich auf eine einsame Insel mitnehmen würde. Und in Anbetracht der doch ziemlich vielen Bücher, die ich besitze, will das etwas heißen!

Kategorien
Uncategorized

Worum soll es gehen?

Wie alles begann

Im Grunde hat mich der Zusammenhang zwischen Algorithmen und menschlichem Denken schon immer interessiert.

Das lässt sich bis in die Schulzeit zurückverfolgen. So gehört es zu meinen frühesten Computererinnerungen, dass ich als 18-jähriger Schüler nach nur einem Schuljahr Informatik am Bundeswettbewerb Informatik teilgenommen habe. Ich bin zwar mangels Informatikkenntnisse gleich in der ersten Runde rausgeflogen („1 von 3 Aufgaben korrekt gelöst“), aber zumindest belegt die Teilnehmerurkunde, dass mich das Thema „Algorithmen“ schon damals umgetrieben hat.

Einige Jahre später gab es im Studium immer mal wieder Programmierprojekte, und während es meine Kommilitonen beispielsweise beim Entwickeln eines Computerspiels spannend fanden, Graphiken, Animationen oder Netzanwendungen zu implementieren, wollte ich eher wissen, wie man den Gegner so programmiert, dass er möglichst häufig gewinnt.

Und auch als Doktorand habe ich meinen ursprünglichen Plan, Protokolle für elektronische Bezahlverfahren zu entwickeln, nicht lange durchgehalten. Stattdessen handeln sowohl meine Diplom- als auch meine Doktorarbeit von Algorithmen zur Kryptoanalyse, also zum Brechen kryptographischer Verfahren.

Was ist daran interessant?

Ich glaube, dass mein Interesse an Algorithmen verschiedene Gründe hat. Zum einen ist das Entwickeln neuer Algorithmen einfach eine Art von fortgeschrittenem Rätseln: Man löst nicht nur die eigentliche Aufgabe, sondern versucht darüber hinaus, diese Methode so zu verallgemeinern, dass man alle Probleme dieses Typs auf diese Weise lösen kann. Tatsächlich kann ich nicht einmal ein Sudoku lösen, ohne mir dabei zugleich zu überlegen, wie ein allgemeines Sudoku-Lösungs-Verfahren aussieht, das nicht auf reiner Rechenpower basiert, sondern vielmehr das menschliche Lösungsverhalten abbildet.

Und damit komme ich zu meiner zweiten Motivation: Das Entwickeln von Algorithmen erlaubt es uns (zumindest manchmal), einen Blick in unseren eigenen Kopf zu werfen. Wie gehe ich eigentlich vor, wenn ich ein bestimmtes Problem löse? Normalerweise ist das ja ein eher unbewusster Prozess, aber wenn ich nun einem völligen Trottel (sprich: einem Computer) erklären soll, wie ich das mache, damit er es mir nachtun kann, muss ich mir meine eigenen Gedanken bewusst machen. Diesen Einblick in das eigene Denken finde ich spannend – sowohl als Selbsterkenntnis als auch, weil es die Möglichkeit zur Selbstverbesserung bietet.

Und damit bin ich bei der dritten Motivation angelangt: Die Algorithmik bietet uns einen Werkzeugkasten, mit dem nicht nur Computer programmiert werden können, sondern mit dem wir unsere eigenen Problemlösungsfähigkeiten steigern können. Tatsächlich sind Disziplinen wie „Critical Thinking“ oder „Entscheidungslehre“ genau solche Werkzeugkästen, deren Methoden stark an Algorithmen erinnern, und wer beispielsweise die Wikipedia-Einträge zu Problem Solving mit den typischen Überschriften von Algorithmik-Lehrbüchern vergleicht, der entdeckt dort viele Gemeinsamkeiten.

Algorithmisches Denken

Kurioserweise werden beide Gebiete – das menschliche Problemlösen als Teilgebiet der kognitiven Psychologie und das Computer-Problemlösen als Teilgebiet der Algorithmik bzw. Informatik – weitgehend unabhängig voneinander betrieben. So wird die Algorithmik für gewöhnlich mit einem ausschließlichen Fokus auf Computer gelehrt; kaum einmal wird aufgezeigt, dass die gleichen Techniken auch für das Lösen von Alltagsproblemen genutzt werden können. Und umgekehrt bin ich immer wieder mit aggressiver „Algorithmen sind böse“-Rhetorik konfrontiert, die meist etwas mit der Angst vor missbräuchlicher Nutzung von KI zu tun hat, dabei aber übersieht, dass die gleichen „bösen“ Algorithmen ja auch (bewusst oder unbewusst) von uns Menschen verwendet werden! Nicht ohne Grund ist die Patentierung von Algorithmen in vielen Ländern verboten, weil dadurch das menschliche Denken selbst beschränkt werden könnte.

Tatsächlich ist auch mir selbst dieser Zusammenhang lange Zeit nicht wirklich klar gewesen. Ich habe mich beruflich mit Algorithmen beschäftigt und in meiner Freizeit mit dem menschlichen Denken. Ich habe Bücher zum Selbstmanagement, zur Entscheidungslehre, zur Spieltheorie und zur kognitiven Psychologie verschlungen, bis ich auf die Überlegungen von Jeannette Wing zum „Computational Thinking“ (deutsch: Algorithmisches Denken) gestoßen bin, in dem diese Verbindung explizit hergestellt wurde. Und erst da ist mir der sprichwörtliche Kronleuchter aufgegangen.

Inzwischen habe ich gelernt, dass es seit den ersten Tagen der Computer immer Menschen (von Alan Turing über Marvin Minsky bis Donald Knuth) gegeben hat, denen diese Verbindung bewusst war. Nur muss ich zu meiner Schande gestehen, dass ich bisher nicht dazugehört habe. Ja, ich habe sogar jahrelang das Informatik-Grundlagenfach „Algorithmen und Datenstrukturen“ unterrichtet, ohne dass mir klar gewesen wäre, wo wir die Algorithmen, die wir dort als neu verkaufen, im Alltag schon längst benutzen. Zu meiner Entschuldigung kann ich eigentlich nur anführen, dass ich sehr viele Bücher zur Algorithmik gelesen habe, ohne dass die Verbindungen zum Problemlösen im Alltag jemals explizit gemacht worden wäre. Und auch unter meinen Studierenden ist bis heute noch keiner aufgestanden und hat gesagt: „Das ist doch alles trivial, das hätte man im wirklichen Leben doch ganz genauso gemacht!“ Und das, obwohl das tatsächlich hier und da angebracht gewesen wäre. Aber scheinbar bin ich nicht der einzige, der den Wald vor lauter Bäumen nicht mehr gesehen hat.

Wohin soll die Reise gehen?

Ziel dieses Blogs ist es nun, die Verbindung – die Gemeinsamkeiten, aber auch die Unterschiede – zwischen algorithmischem und menschlichem Denken herauszuarbeiten. Es handelt sich im Wesentlichen um ein Protokoll meines eigenen Lernens und Forschens zu diesem Thema, und da ich dabei erst am Anfang stehe, werde ich sicherlich immer wieder Erkenntnisse niederschreiben, die für Experten mit einem anderen Hintergrund (z.B. aus der Kognitionswissenschaft) selbstverständlich sind. Aber ich hoffe, dass ich mit der Zeit dazulerne und dass der eine oder andere Gedanke auch für den erfahrenen Leser neu sein wird. Bis dahin bitte ich um Geduld und kann zumindest schon einmal die Erkenntnis anbieten, dass auch Professoren längst nicht alles wissen…