complexity_h - Universität Potsdam

Werbung
Universität Potsdam WS 05/06
Automatic Problem Solving
Thomas Hofmann
Komplexität und Phasenübergänge
Komplexität
- bezeichnet den Ressourcenverbrauch eines optimalen Algorithmus zur Lösung eines Problems
- es gibt verschiedene Komplexitätsklassen, in denen jeweils auf einander reduzierbare Probleme
enthalten sind, z.B. P und NP
Satz von Stephen A. Cook
Das Erfüllbarkeitsproblem der Aussagenlogik (SAT) ist NP-vollständig.
Beweisidee: Jedes Problem der Klasse NP kann durch eine nichtdeterministische, polynomielle
Turingmaschine gelöst werden. Es werden die Funktionen der n. p. Turing Maschine durch
aussagenlogische Formeln dargestellt. Da die Turingmaschine in polynomieller Zeit arbeitet, gelingt
die Konstruktion auch in polynomieller Zeit.
Die Aussage des Theorems ist das ein Problem NP-vollständig ist, wenn der Algorithmus zum Lösen
dieses Problems einen Geeigneten für SAT in sich trägt. Damit hat Cook dafür gesorgt dass die Klasse
NP etabliert werden kann, in dem man versucht verschiedene Probleme auf SAT zu reduzieren.
Die NP-Vollständigkeit von SAT stellt das worst-case-scenario beim Auffinden einer Lösung da,
vielleicht ist aber der Durchschnitt der benötigten Rechenschritte beim Lösen eines solch komplexen
Problems geringer. Dies gab Anstoß für die Experimente zu den Phasenübergängen.
Phasenübergänge
- Menge zufällig erstellter Formeln, mit L Klauseln, N Variablen und k Elementen je Klausel
- die Problemhärte hängt vom Verhältnis Formalanzahl und Variablenzahl ab
- im Diagramm ergibt sich ein easy-hard-easy patttern
- Overcontraints und Underconstraints lassen sich leicht feststellen
- die schwierigsten Probleme liegen im dem Bereich wo Erfüllbarkeit und Nichterfüllbarkeit sich die
Waage halten; besonders die Klauseln die kürzer als ck die nichterfüllbar sind
- Eine Klausel der Länge k, ist ck mal weniger effektiv in Ausfiltern nicht erfüllender Modelle als eine
binäre Formel z.B., C2=1; C3=4,24; C4=9,76; ck stellt den kritischen Wert
- es handelt sich hier hauptsächlich um empirische Forschung
- Vermutung ist das die Ergebnisse ziemlich unabhängig vom verwendeten Algorithmus sind
- man braucht mehr „Struktur“ in diesen zufällig generierten Formeln, dazu muss man mehr über die
Auswirkungen der einzelnen Parameter wissen und Vergleiche zu realen Problemen ziehen
Herunterladen