Entscheidbarkeit und Komplexität - Fakultät für Mathematik und

Werbung
Kapitel 1.4
Exkurs: Entscheidbarkeit und Komplexität
Mathematische Logik (WS 2013/4)
K. 1.4: Entscheidbarkeit und Komplexität
1 / 10
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ößten 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. Im
letzten Teil der Vorlesung werden wir eine mögliche Formalisierung
betrachten.
Mathematische Logik (WS 2013/4)
K. 1.4: Entscheidbarkeit und Komplexität
2 / 10
Daten und Wörter
Hierbei sind Daten endliche Darstellungen mathematischer Objekte.
Bei natürlichen Zahlen werden also nicht die Zahlen selbst sondern
z.B. 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 dargestellt wird (wobei 1i
das aus i Einsen bestehende Wort ist).
Aussagenlogische Formeln sind dann spezielle Wörter über diesem
Alphabet.
Mathematische Logik (WS 2013/4)
K. 1.4: Entscheidbarkeit und Komplexität
3 / 10
Berechenbarkeit, Entscheidbarkeit und Aufzählbarkeit
Ein 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∗ heißt 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∗ heißt entscheidbar, wenn es ein Entscheidungsverfahren für M gibt.
Ein Aufzählungsverfahren für eine (1-dim.) Menge M ⊆ A∗ ist ein
Algorithmus A, der - ohne Eingabe - (genau) die Wörter w aus M (in
beliebiger Reihenfolge) ausgibt.
M ⊆ A∗ heißt aufzählbar, wenn es ein Aufzählungsverfahren für M gibt.
(Entsprechend für mehrstellige Funktionen bzw. mehrdimensionale Mengen)
Mathematische Logik (WS 2013/4)
K. 1.4: Entscheidbarkeit und Komplexität
4 / 10
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 2013/4)
K. 1.4: Entscheidbarkeit und Komplexität
5 / 10
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 2013/4)
K. 1.4: Entscheidbarkeit und Komplexität
6 / 10
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 2013/4)
K. 1.4: Entscheidbarkeit und Komplexität
7 / 10
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 2013/4)
K. 1.4: Entscheidbarkeit und Komplexität
8 / 10
Komplexität in der Aussagenlogik: Beispiele
Die Frage, ob ein Wort über dem Alphabet A der AL eine 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 2013/4)
K. 1.4: Entscheidbarkeit und Komplexität
9 / 10
Komplexität in der Aussagenlogik: ein offenes Problem
Die Frage, ob das Erfüllbarkeitsproblem für Formeln in KNF (oder äquivalent hierzu - das Allgemeingültigkeitsproblem für Formeln in DNF)
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
bedeutendste offene Problem der Theoretischen Informatik ansehen und das
zu den Milleniumsproblemen der Mathematik 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 2013/4)
K. 1.4: Entscheidbarkeit und Komplexität
10 / 10
Herunterladen