Praktische Grenzen der Berechenbarkeit - Informatik
Praktische Grenzen der Berechenbarkeit - Informatik
Praktische Grenzen der Berechenbarkeit - Informatik
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
komplexität tbin(n) <strong>der</strong> binären Suche im ungünstigsten Fall<br />
tbin(n) = 3 + ⌈log 2 n⌉ · (3 + 2)<br />
= 5 · ⌈log 2 n⌉ + 3<br />
tbin ∈ O(log 2 n)<br />
Auch hier mache man sich die Unterschiede <strong>der</strong> beiden Algorithmen mit Zahlen<br />
deutlich — an dieser Stelle auch am Beispiel des Telefonbuchs:<br />
Beispiel 3. Sucht man in einem 1000–seitigen Telefonbuch sequentiell, so muss<br />
man unter (ungünstigen) Umständen alle 1000 Seiten <strong>der</strong> Reihe nach aufschlagen.<br />
Mit binärer Suche hat man nach spätestens zehn Versuchen die passende Seite gefunden.<br />
Für die berechneten Komplexitäten <strong>der</strong> angegebenen Algorithmen erhält<br />
man folgende Werte:<br />
Sequentielle Suche: tseq(1000) = 4002<br />
Binäre Suche: tbin(1000) = 53 .<br />
Ausführliche Beschreibungen verschiedener Sortier– und Suchalgorithmen sowie<br />
präzise Berechnungen des jeweiligen Aufwandes hat Knuth zusammengetragen<br />
(Knuth 1973a).<br />
Zur Abschätzung <strong>der</strong> Zeitkomplexität eines rekursiven Algorithmus betrachten<br />
wir das Problem <strong>der</strong> Türme von Hanoi: In <strong>der</strong> vereinfachten Version gibt es<br />
drei Stäbe A, B und C, auf die drei unterschiedlich große runde Scheiben gesteckt<br />
werden können. Die Ausgangssituation besteht darin, dass alle drei Scheiben <strong>der</strong><br />
Größe nach geordnet — die größte ganz unten — auf Stab A liegen. Man soll nun<br />
die Scheiben in <strong>der</strong>selben Anordnung auf B platzieren, wobei folgende Regeln zu<br />
beachten sind:<br />
— Es darf immer nur eine Scheibe bewegt werden.<br />
— Es darf nie eine Scheibe auf einer kleineren liegen.<br />
Eine Lösung dieser Aufgabe ist schnell gefunden:<br />
A → B, A → C, B → C, A → B, C → A, C → B, A → B .<br />
In <strong>der</strong> ursprünglichen Version des Problems ging es aber um 64 Scheiben. Eine<br />
Lösung für diese Aufgabe aufzuschreiben, ist schlicht unmöglich. In obiger Notation<br />
wäre die Zeile 1, 8 · 10 14 km lang — knapp das Fünfmilliardenfache des<br />
Erdumfangs. Dennoch ist es möglich, allgemein für n Scheiben eine einfache rekursive<br />
Strategie anzugeben, für <strong>der</strong>en Anwendung wir den Zeitbedarf bestimmen<br />
können:<br />
— Bewege n − 1 Scheiben von A nach C.<br />
— Bewege eine Scheibe von A nach B.<br />
— Bewege n − 1 Scheiben von C nach B.<br />
11