Sebastian Stiller: Kombinatorische Probleme sind des Algorithmikers Liebling
Warum ist jeder, der ein Bücherregal sortieren kann, schon ein Algorithmiker? Die Antwort darauf gibt der Mathematiker Sebastian Stiller in seinem Buch "Planet der Algorithmen - Versteht sie, bevor sie euch verstehen", das ab heute erhältlich ist. Ein Auszug.
Der Mathematiker und Philosoph Sebastian Stiller nimmt den Leser seines Buchs "Planet der Algorithmen - Versteht sie, bevor sie euch verstehen" mit auf eine mehrtägige Tour durch die komplexe Welt der Algorithmen. Der folgende Auszug beschreibt ein kombinatorisches Problem.
Warnung vor kombinatorischen Spielsachen!
Reden wir kurz über Rechenpower: Sind wir großzügig und nehmen an, jedes Atom unseres Planeten wird in einen Superrechner verwandelt. Die rechnen dann, bis die Sonne die Erde verglüht - so in etwa 10 Milliarden Jahren. Setzen wir das zu der Größenordnung des Fahrplanproblems in Relation. Ein Großteil der Menschen, die in Berlin die U-Bahn benutzen, muss umsteigen, um das Ziel zu erreichen. Die Zeit, die eine U-Bahn von Station zu Station braucht, liegt nahezu fest. Zeit verliert man beim Umsteigen, wenn die Linien schlecht aufeinander abgestimmt sind. Die Anzahl der verschiedenen Möglichkeiten, die Linien der Berliner U-Bahn miteinander abzustimmen, ist in der Größenordnung der Anzahl der Atome unseres Planeten. Für ein Verkehrssystem mit doppelt so vielen Linien gibt es Anzahl der Atome mal Anzahl der Atome viele Möglichkeiten. Will man S-Bahn und Bus in Berlin und Brandenburg hinzunehmen, sind es über zehnmal so viele Linien. Anzahl der Atome der Erde hoch 10? (Gegen die Wucht der kombinatorischen Explosion ist auch die fantastischste Rechenpower ein Reizhusten.)
Weil kombinatorische Probleme so schön knallen, gehören sie zu den Lieblingsspielsachen von Algorithmikern und Komplexitätstheoretikern. In einer besonders beliebten Ecke des hiesigen Spielwarenladens stehen Probleme mit Netzwerken. Zum Beispiel die Party-Clique: Du möchtest eine möglichst große Party mit deinen Freunden feiern. Leider mögen sich nicht alle. Stell dir deinen Freundeskreis als ein Netz vor. Die Knoten sind deine Freunde. Zwei Freunde sind mit einer Kante verbunden, wenn die beiden sich hinreichend gut verstehen, um auf dieselbe Party zu kommen. Eine Teilmenge der Knoten, in der alle paarweise miteinander verbunden sind, nennt man - mathematisch - eine Clique. Das mathematische Problem namens Clique besteht darin, in einem gegebenen Netz die größte Clique zu finden. Du suchst aus der Menge aller deiner Freunde eine Teilmenge aus.
Probleme, bei denen man eine Teilmenge - also eine Kombination von Elementen einer Grundmenge - aussucht, nennt man kombinatorische Probleme. Clique ist eines der grundlegenden kombinatorischen Probleme der Algorithmik und der Komplexitätstheorie. Die Geschichte mit der Party ist ein Klassiker, aber sicher keine reale Anwendung. {Viele kombinatorische Probleme sehen eher wie Sandkastenprobleme aus und nicht wie relevante Fragestellungen.} In Wahrheit haben es diese Probleme faustdick hinter den Ohren. Aber dazu später.
Es gibt einen großen Unterschied zwischen Haralds Kleidungsproblemen und deiner Partyplanung. Er hat keine andere Möglichkeit, seine Frage zu beantworten, als alles durchzuprobieren. Deshalb explodiert sein Aufwand, eine Lösung zu finden. Bei der Auswahl der Gästeliste kannst du vielleicht das Netzwerk zu Hilfe nehmen. Das Netz gibt dem Problem Struktur. Anstatt alle Kombinationen durchzuprobieren, könnte ein Algorithmus eventuell diese Struktur nutzen, um mit geringerem Aufwand eine Gästeliste zu finden.
Das Kürzeste-Wege-Problem ist auch ein kombinatorisches Problem: Wähle aus der Menge aller Straßenkanten diejenigen aus, die einen Pfad bilden, der dich am schnellsten zum Ziel bringt. Kürzeste Wege sind kein schwieriges Problem. Das kann dein Navi, können diverse Webseiten, kann dein Smartphone. Aber wie steht es mit Folgendem: Du holst dein Kind vom Geburtstag ab und nimmst noch fünf andere mit. In welcher Reihenfolge fährst du sie nach Hause, um möglichst wenig herumzufahren? Man nennt es das Problem des Handlungsreisenden, das Traveling-Salesperson-Problem, kurz TSP. Es gibt Karten- und Routingwebseiten, die das Problem für fünf oder sechs Zwischenziele optimal lösen. Aber für 20 Ziele geben sie auf. (Das sieht so aus, als würde da etwas kombinatorisch explodieren.) Gibt es einen Algorithmus, der die Struktur des TSP nutzt, um ähnlich effizient zu sein wie der Dijkstra? In welchen Problemen explodiert der kombinatorische Sprengstoff und wann kann ein Algorithmus ihn entschärfen?
Der Text ist ein Auszug aus: "Planet der Algorithmen - Versteht sie, bevor sie euch verstehen" von Sebastian Stiller. Knaus Verlag, 2015. 14,99 Euro.
Ich hab mir die Leseprobe vom Ebook (iOS) geholt, 25 Seiten. Das Intro find ich etwas...
Stimmt. Ich habe das Problem schon ein paar Leuten präsentiert, die mit Algorithmen bzw...
Wenn eine Einleitung so viel will und dann so wenig echte Reizpunkte setzt, kann das Buch...
Man könnte auch den Teaser bis zum Ende lesen und den Satz "Ein Auszug" genau so...