17.2 P-Vollständigkeit 126
17.2.4 Folgerungen für Schaltkreisklassen
132 17 Untere Schranken I Übungen zu diesem Kapitel
18 Untere Schranken II 133
18-1 18-1
Kapitel 18
Untere Schranken II
Comparison-PRAMS und Adversary-Argumente
18-2 18-2
Lernziele dieses Kapitels
1. Konzepte des Vergleichsbaums und des Adversary-Arguments kennen
2. Untere-Schranken-Beweise für Comparison-PRAMS kennen
Inhalte dieses Kapitels
18.1 Wiederholung: Laufzeitschranken 134
18.2 Untere Laufzeitschranken 134
18.2.1 Das Modell: Comparison-prams . . . . 134 18.2.2 Die Methoden: Decision-Trees . . . 135 18.2.3 Die Methoden: Adversary-Argumente . 136 18.2.4 Die Resultate: Suchen . . . 136 18.2.5 Die Resultate: Maxima finden . . . 137
Worum es heute geht
Worum es heute geht
Wenn Sie einen kommerziell erfolgreichen Film drehen wollen, brauchen sie (a) eine Love- Story (heteronormativ und -stereotyp mit heroischem maskulinen Part und erotischem femininen Part), (b) einen möglichst fiesen Bösewicht und natürlich (c) eine Special- Effects-Studio samt Renderfarm. Uns soll in diesem Kapitel lediglich Teil b interessieren:
Der böse Widersacher, der dem Helden gerne die Schau stiehlt (der Bösewicht ist fast immer männlich, es sei denn er ist weiblich oder – wie »das Böse« im Fünften Element – einfach so böse, dass keine Geschlecht mehr zugeordnet werden kann). Das Techtelmechtel von Neo und Trinity wäre ohne Mr. Smith nicht der Rede wert. Luke würde ohne seinen Vater wahrscheinlich Saufkumpane von Herrn Hutt sein. Mr. Data wüsste ohne die Borg- Königin heute noch nicht wie sich Wind anfühlt, der zart über die Haut streicht. James würde ohne Goldfinger die Hotelbar nicht mehr verlassen, Hänsel und Grete würden ohne Frau Diplom-Arkanologin B. Hexe als schwererziehbare Problemkinder durch die Talkshows geistern. Und Shrek würde ohne Prinz Charming friedlich in seinem Sumpf leben anstatt sich durch eine dritte Fortsetzung quälen zu müssen.
In der Theoretischen Informatik heißt der böse Widersacher schlicht »der Adversary«. Wie es sich für einen Bösewicht gehört sollte man ihn eigentlich nicht mögen, ohne ihn geht es aber nicht. Zur Erinnerung: In einem Unteren-Schranken-Beweis geht es darum zu zeigen, dass kein Algorithmus ein bestimmtes Problem in einer bestimmten Zeit lösen kann. Der Adversary sieht seine Aufgabe gerade darin, es »jedem Algorithmus« möglichst schwer zu machen. Er wird immer gerade die Eingabe auswählen, die besonders viele Probleme bereitet. Er lässt den Algorithmus sogar anfänglich im Unklaren darüber, wie die Eingabe überhaupt genau lautet; er liefert immer »in letzter Minute« Informationen, die dann auch noch für den Algorithmus möglichst ungünstig ausfallen. Deshalb ist es der Adversary, der uns hilft, untere Schranke zu zeigen: Aufgrund seiner unermüdlichen Suche nach
»fiesen Eingaben« werden wir beispielsweise zeigen können, dass sich das Maximum von n Zahlen (unter einigen Zusatzvoraussetzungen) nicht schneller als in Zeit Θ(log log n) berechnen lässt – was übrigens auch unsere obere Schranke für dieses Problem war.
134 18 Untere Schranken II 18.2 Untere Laufzeitschranken
18.1 Wiederholung: Laufzeitschranken
18-4 Laufzeitschranken für PRAMs. 18-4
– Für bestimmte Arten von prams und bestimmte Problem lassen sichuntere Schranken für die Laufzeitbeweisen.
– Wir werden zeigen, dass Comparison-prams mit p Prozessoren zum Finden eines Elementes in einer sortierten Liste der Länge n mindestens Ω(log n/log p)Schritte benötigt.
– Wir werden zeigen, dassComparison-pramsMaxima bestenfalls in ZeitΩ(log log n) berechnen können.
18-5 »Starke« untere Schranken für die Laufzeit von PRAMs. 18-5
– Die Resultate für Comparison-prams sindstarke Resultate – sie gelten absolut und ohne Annahmen.
– Wir beweisen sie durchAdversary-Argumente.
– Wir »erkaufen« die starken Resultate dadurch, dass unser Modell (die Comparison- pram) nicht sonderlich mächtig ist.
18.2 Untere Laufzeitschranken
18-6 Laufzeitschranken für PRAMs. 18-6
– Für bestimmte Arten von prams und bestimmte Probleme lassen sichuntere Schran- ken für die Laufzeitbeweisen.
– Die Resultate für Comparison-prams sindstarke Resultate – sie gelten absolut und ohne Annahmen.
– Wir beweisen sie durchAdversary-Argumente.
– Wir »erkaufen« die starken Resultate dadurch, dass wir sie nur fürComparison-prams beweisen.
18.2.1 Das Modell: Comparison-
PRAMs
18-7 Das Modell: Die Comparison-PRAM. 18-7
– Es hatnoch niemand geschafft, (nicht triviale) untere Schranke für prams zu beweisen.
– Wir betrachten deshalb einschwächeresModell von prams: DieComparison-pram.
– Die Comparison-pram funktioniertähnlich einem Vergleichsnetzwerk. Definition (Comparison-PRAM)
Eine Comparison-pram greift auf die Eingabespeicherzellen nur auf folgende Weise zu:
– Sie kann ein zwei Eingabezellen vergleichen.
– Sie kann eine Eingabezelle mit einem gegebenen Wert vergleichen.
– Sie erfährt, wie der Vergleich ausgegangen ist.
– Anderweitig darf sienicht in die Zellen »hineinschauen«.
Skript Für an Formalisierungen Interessierte sei hier im Skript noch eine genauere formale De- Skript
finition der Comparison-pram angegeben:
Definition (Syntax der Comparison-PRAM)
Syntaktisch ist eine Comparison-pram eine normale pram mit einem zusätzlichen Befehl:
18. ifgrri<grrjgotok
18 Untere Schranken II
18.2 Untere Laufzeitschranken 135
Definition (Semantik der Comparison-PRAM)
Die Semantik einer Comparison-pram ist genauso definiert wie die Semantik einer pram mit folgenden Erweiterungen:
1. Die Semantik des Befehls ifgrri<grrjgotok lautet wie erwartet: hpcit+1p =k, fallshgrhriitpit<hgrhrjitpit, sonsthpcit+1p =hpcitp+1.
2. Die Register gr1 bis grn, wobeindie in gr0gespeicherte Eingabelänge ist, können nur durch obigen Befehl adressiert werden. Eine Berechnung, bei der durch einen anderen Befehl auf eines dieser Register zugegriffen wird (lesend oder schreibend), endet sofort. Dies wäre zum Beispiel der Fall bei n=2 und dem Befehl gr1←r1 oder bein=6und dem Befehl r2←grr8 mithr8itp=5.