Kapitel 1.3A Entscheidbarkeit und Komplexität Mathematische Logik (WS 2010/11) K. 1.3A: Entscheidbarkeit und Komplexität 1/1 Algorithmen Ein Algorithmus oder eine Rechenvorschrift ist ein effektives Verfahren zur Überprüfung von Eigenschaften von Daten Ist x eine Primzahl? oder zur Transformation von Daten Bestimme den grössten gemeinsamen Teiler von x und y !oder Berechne die Summe von x und y ! oder zur Generierung (möglicherweise unendlicher) Datenmengen Zähle alle Primzahlen auf! NB: Der Algorithmenbegriff ist kein formaler mathematischer Begriff. Am Ende der Vorlesung werden wir eine mögliche Formalisierung betrachten. Mathematische Logik (WS 2010/11) K. 1.3A: Entscheidbarkeit und Komplexität 2/1 Daten und Wörter Hierbei sind Daten endliche Darstellungen mathematischer Objekte. Bei natürlichen Zahlen werden also nicht die Zahlen selbst sondern deren Unär-, oder Binär- oder Dezimaldarstellung verwendet. Meist werden Daten als Wörter über einem gegebenen endlichen Alphabet A (d.h. als endliche Folgen von Symbolen (Buchstaben) aus A) gewählt. Die Menge aller Wörter über A wird mit A∗ bezeichnet. Das Alphabet der Sprache der Aussagenlogik ist A = {¬, ∨, ∧, →, ↔, (, ), A, 1} wobei die Aussagenvariable Ai durch A1i beschrieben wird. Aussagenlogische Formeln sind dann spezielle Wörter über diesem Alphabet. Mathematische Logik (WS 2010/11) K. 1.3A: Entscheidbarkeit und Komplexität 3/1 Berechenbarkeit, Entscheidbarkeit und Aufzählbarkeit Eine Berechnungsverfahren für eine (1-st.) Funktion f : A∗ → A∗ ist ein Algorithmus B, der bei Eingabe eine Wortes w ∈ A∗ den Wert f (w ) berechnet und ausgibt. f : A∗ → A∗ heisst berechenbar, wenn es ein Berechnungsverfahren für f gibt. Ein Entscheidungsverfahren für eine (1-dim.) Menge M ⊆ A∗ ist ein Algorithmus E, der bei Eingabe eine Wortes w ∈ A∗ feststellt, ob w in M liegt (und entsprechend JA oder NEIN ausgibt). M ⊆ A∗ heisst entscheidbar, wenn es eine Entscheidungsverfahren für M gibt. Ein Aufzählungsverfahren für eine (1-dim.) Menge M ⊆ A∗ ist ein Algorithmus A, der (ohne Eingabe) die Wörter w aus M (in beliebiger Reihenfolge) ausgibt. M ⊆ A∗ heisst aufzählbar, wenn es eine Aufzählungsverfahren für M gibt. (Entsprechend für mehrstellige Funktionen bzw. mehrdimensionale Mengen) Mathematische Logik (WS 2010/11) K. 1.3A: Entscheidbarkeit und Komplexität 4/1 Berechenbarkeit, Entscheidbarkeit und Aufzählbarkeit: Beziehungen Eine Funktion f : A∗ → A∗ ist genau dann berechenbar, wenn deren Graph Graph(f ) = {(w , v ) : f (w ) = v } entscheidbar (oder: aufzählbar) ist. Eine Menge M ⊆ A∗ ist genau dann entscheidbar, wenn deren charakteristische Funktion ( 1 falls w ∈ M cM (w ) = 0 sonst berechenbar ist. Eine Menge M ⊆ A∗ ist genau dann entscheidbar, wenn die Menge A und deren Komplement M = A∗ \ M aufzählbar sind. Insbesondere ist also jede entscheidbare Menge aufzählbar. (Wie man in der Berechenbarkeitstheorie zeigt, gibt es aber aufzählbare Mengen, die nicht entscheidbar sind. Wir werden hierauf im letzten Teil der Vorlesung zurückkommen.) Mathematische Logik (WS 2010/11) K. 1.3A: Entscheidbarkeit und Komplexität 5/1 Entscheidbarkeit und Berechenbarkeit in der Aussagenlogik Für ein Wort w über dem Alphabet A = {¬, ∨, ∧, →, ↔, (, ), A, 1} der Sprache der Aussagenlogik ist entscheidbar, ob dieses eine al. Formel ist. D.h. die Menge FAL ⊆ A∗ ist entscheidbar. Da man für eine Belegung B der in einer Formel ϕ vorkommenden Variablen den Wahrheitswert B(ϕ) berechnen kann und da man die endlich vielen Belegungen von V (ϕ) effektiv angeben kann, sind folgende Mengen entscheidbar: I I I die Menge der erfüllbaren Formeln: {ϕ ∈ FAL : erf[ϕ]} die Menge der allgemeingültigen Formeln: {ϕ ∈ FAL : ag[ϕ]} die Menge der kontradiktorischen Formeln: {ϕ ∈ FAL : kd[ϕ]} Mathematische Logik (WS 2010/11) K. 1.3A: Entscheidbarkeit und Komplexität 6/1 Entscheidbarkeit und Berechenbarkeit in der Aussagenlogik (Forts.) Entsprechend kann man für Formeln ϕ und ψ entscheiden, ob diese äquivalent sind. D.h. die (2-dim.) Menge {(ϕ, ψ) : ϕ äq ψ} ist entscheidbar. Aus den Normalformsätzen (für DNF und KNF) folgt, dass es berechenbare Funktionen fDNF und fKNF gibt, die jeder Formel ϕ eine äquivalente Formel in DNF bzw. KNF zuordnen. Zusammenfassend kann man feststellen, dass die grundlegenden syntaktischen und semantischen Begriffe der Aussagenlogik entscheidbar sind. Mathematische Logik (WS 2010/11) K. 1.3A: Entscheidbarkeit und Komplexität 7/1 Komplexität Die Ausführung eines Algorithmus A erfolgt in Schritten, wobei in jedem Schritt eine elementare Operation ausgeführt wird. Bemerkung: Um dies zu präzisieren, muss man den Algorithmenbegriff formalisieren (was wir aber erst im letzten Teil der Vorlesung tun werden). Die Anzahl der von A bei einer Eingabe w durchgeführten Schritte bezeichnet man auch als die Rechenzeit timeA (w ) von A bei Eingabe w . Man sagt, dass der Algorithmus A f (n)-zeitbeschränkt ist (für eine Funktion f : N → N), falls für jede Eingabe w der Länge n die Rechenzeit von A linear in f (n) beschränkt ist, d.h. timeA (w ) ∈ O(f (|w |)) gilt. Ein Problem (d.h. eine Menge) M ⊆ A∗ ist in Zeit f (n) lösbar, wenn es ein f (n)-zeitbeschränktes Entscheidungsverfahren für M gibt. Insbesondere heißt M in Linearzeit (Quadratzeit, Polynomialzeit) lösbar, wenn M in Zeit f (n) = n (f (n) = n2 , f (n) = p(n) für irgendein Polynom p) lösbar ist. Die Komplexität von Berechnungsverfahren und (berechenbaren) Funktionen ist entsprechend definiert. Mathematische Logik (WS 2010/11) K. 1.3A: Entscheidbarkeit und Komplexität 8/1 Komplexität in der Aussagenlogik: Beispiele Die Frage, ob ein Wort über dem Alphabet A der AL einen Formel ist, lässt sich in Quadratzeit entscheiden. Ebenso lässt sich für eine al. Formel ϕ und eine gegebene Belegung B der Variablenmenge V (ϕ) in Quadratzeit entscheiden, ob B die Formel ϕ wahrmacht. Da die Anzahl der Belegungen von V (ϕ) exponentiell in |V (ϕ)| und daher i.a. exponentiell in der Länge von ϕ ist, erfordern die naiven Verfahren zur Überprüfung der Erfüllbarkeit bzw. Allgemeingültigkeit von ϕ Exponentialzeit. Die in Kapitel 1.3 eingeführten schnellen Verfahren zeigen jedoch dass I I das Erfüllbarkeitsproblem für Formeln in DNF in Quadratzeit und das Allgemeingültigkeitsproblem für Formeln in KNF ebenfalls in Quadratzeit lösbar sind. Mathematische Logik (WS 2010/11) K. 1.3A: Entscheidbarkeit und Komplexität 9/1 Komplexität in der Aussagenlogik: ein offenes Problem Die Frage, ob das Erfüllbarkeitsproblem für Formeln in KNF ebenfalls in Polynomialzeit lösbar ist, gehört zu den interessantesten offenen Problemen der Mathematik. Diese Frage ist äquivalent zu dem sog. P-NP-Problem, das viele als das zentrale offene Problem der Theoretischen Informatik ansehen und das zu den Milleniumsproblemen gehört: http://www.claymath.org/millennium/ Erwartet wird eine negative Lösung, die zugleich zeigen würde, dass hunderte interessanter Optimisierungprobleme keine schnellen (allgemeinen) Lösungen besitzen. Auch basiert die Sicherheit gängiger Verschlüsselungsverfahren auf dieser Annahme. Eine unerwartete positive Lösung könnte daher auch für die Praxis von enormer Bedeutung sein. LITERATUR: Garey, Michael R.; Johnson, David S. Computers and intractability. A guide to the theory of NP-completeness. W. H. Freeman and Co., 1979. Mathematische Logik (WS 2010/11) K. 1.3A: Entscheidbarkeit und Komplexität 10 / 1