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