Kapitel 1.3A Entscheidbarkeit und Komplexität

Werbung
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
Herunterladen