Berechenbarkeit und Komplexität

Werbung
Unentscheidbare Probleme
Logikprobleme
Aussagenlogik (Erinnerung Logische Strukturen“)
”
• Formeln der Aussagenlogik verwenden Aussagenvariable A, B . . . und
logische Operatoren ∧, ∨, ¬, → . . .
• Resolutionssatz der Aussagenlogik: Die aussagenlogische Formel F ist
genau dann unerfüllbar, wenn die leere Klausel � in der
Resolutionshülle Res(F ) liegt.
• Res(F ) ist eine endliche Menge, die mithilfe der aussagenlogischen
Resolution aus F berechnet werden kann.
• Konsequenz 1: Es ist entscheidbar, ob eine aussagenlogische Formel
unerfüllbar ist.
• Konsequenz 2: Es ist entscheidbar, ob eine aussagenlogische Formel
allgemeingültig ist (denn F allgemeingültig gdw. ¬F unerfüllbar).
WS 11/12
245
Unentscheidbare Probleme
Prädikatenlogik (Erinnerung Logische Strukturen“)
”
• Formeln der Prädikatenlogik verwenden Individuenvariable x, y . . . ,
Prädikate R, S . . . , logische Operatoren ∧, ∨, ¬, → . . . und
Quantoren ∃, ∀.
• Resolutionssatz der Prädikatenlogik: Die prädikatenlogische Formel F
ist genau dann unerfüllbar, wenn die leere Klausel � in der
Resolutionshülle Res(F ) liegt.
• Res(F ) ist eine u.U. unendliche Menge
• Die prädikatenlogische Resolution kann verwendet werden, um die
Menge Res(F ) aufzuzählen, d.h. Res(F ) ist semi-entscheidbar.
• Konsequenz 1: Es ist semi-entscheidbar, ob eine prädikatenlogische
Formel unerfüllbar ist.
• Konsequenz 2: Es ist semi-entscheidbar, ob eine prädikatenlogische
Formel allgemeingültig ist (denn F allgemeingültig gdw. ¬F
unerfüllbar)
WS 11/12
246
Unentscheidbare Probleme
Es geht nicht besser:
Definition
Sei Taut die Menge der allgemeingültigen prädikatenlogischen Aussagen
(der Tautologien).
Satz (Church 1936)
Taut ist semi-entscheidbar, aber nicht
entscheidbar.
Allgemeingültigkeit verlangt die Gültigkeit in allen Strukturen. Was
passiert, wenn wir uns nur auf interessante“ Strukturen einschränken
”
(z.B. auf eine konkrete)?
WS 11/12
247
Unentscheidbare Probleme
Definition
Sei A eine Struktur. Dann ist Th(A) die Menge der prädikatenlogischen
Aussagen ϕ mit A |= ϕ. Diese Menge heißt die (elementare) Theorie
von A.
Beispiel
Sei N = (N, +, ·, 0, 1). Dann gelten
• (∀x∀y : x + y = y + x) ∈ Th(N )
• (∀x∃y : x + y = 0) ∈
/ Th(N )
aber (∀x∃y : x + y = 0) ∈ Th((Z, +, 0)).
WS 11/12
248
Unentscheidbare Probleme
Theorie der natürlichen Zahlen
Beispiel
∀x
Ç
Ä
x > 2 ∧ ∃y (x = y + y )
Ä
ä
→
∃p ∃q x = p + q ∧ p > 1 ∧ q > 1 ∧
∀u ∀v ((p = u · v ∨ q = u · v ) → (u = 1 ∨ v = 1))
å
ä
Dies ist ein seit über 250 Jahren offenes Problem
(Goldbachsche Vermutung: Jede gerade Zahl
größer als 2 ist Summe von zwei Primzahlen).
WS 11/12
Ch. Goldbach
(1690-1764)
249
Unentscheidbare Probleme
Satz (Presburger 1929)
Die Menge Th(N, +, 0, 1) ist entscheidbar.
Dies ist die Menge der Aussagen ϕ mit N |= ϕ,
die kein · enthalten.
Beweis: siehe Logische Strukturen“ SS 2011
”
(www.tu-ilmenau.de/iti/lehre/lehre-ss2011/logische-strukturen/folien 12.7.11.pdf).
M. Presburger
(1904-43?)
Satz (Skolem 1930)
Die Menge Th(N, ·, 0, 1) ist entscheidbar.
Dies ist die Menge der Aussagen ϕ mit N |= ϕ,
die kein + enthalten.
Beweis: Vorlesung Automatentheorie“.
”
WS 11/12
T. Skolem
(1887-1963)
250
Unentscheidbare Probleme
Satz (1. Gödelscher Unvollständigkeitssatz, 1931)
Die Menge Th(N ) der prädikatenlogischen Sätze ϕ
mit N |= ϕ ist nicht semi-entscheidbar.
Der Beweis verlangt diverse Lemmata.
WS 11/12
E. Gödel
(1906-1978)
251
Unentscheidbare Probleme
Lemma
Die Menge W der bei Eingabe von (0, 0, . . . , 0) nicht haltenden
While-Programme ist nicht semi-entscheidbar.
Beweis:
Die Menge der bei Eingabe von (0, . . . , 0) haltenden While-Programme
ist semi-entscheidbar, aber nicht entscheidbar. Also kann W nach dem
Satz auf Folie 168 nicht semi-entscheidbar sein.
Wir werden nun W auf die Menge der wahren prädikatenlogischen Sätze
reduzieren.
WS 11/12
252
Unentscheidbare Probleme
Definition
Eine partielle Funktion f : Nk ��� N ist arithmetisch repräsentierbar, wenn
es eine prädikatenlogische Formel ϕ mit freien Variablen x1 , . . . , xk , y gibt,
so daß für alle n1 , . . . , nk , m ∈ N gilt
m = f (n1 , . . . , nk ) ⇐⇒ N |= ϕ(n1 , . . . , nk , m)
Beispiel
sei x < y Abkürzung für ¬x = y ∧ ∃z(x + z = y ).
Es sind arithmetisch repräsentierbar:
• Addition mittels (y = x1 + x2 )
• Multiplikation mittels (y = x1 · x2 )
• Ganzzahlige Division div mittels ∃r ((r < x2 ) ∧ (x1 = y · x2 + r ))
• mod mittels ∃k((y < x2 ) ∧ (x1 = k · x2 + y ))
• Sei G (x1 , x2 , x3 , y ) eine Formel, die die Funktion
(n1 , n2 , n3 ) �→ n1 mod (1 + n2 · (n3 + 1)) arithmetisch repräsentiert
WS 11/12
253
Unentscheidbare Probleme
Zahlentheoretisches Lemma
Für alle t ∈ N, n0 , n1 , . . . , nt ∈ N existieren a, b ∈ N, so daß für alle
0 ≤ i ≤ t gilt
ni = a mod (1 + b · (i + 1)) .
Zweck: jedes Tupel (n0 , n1 , . . . , nt ) natürlicher Zahlen kann durch Paar
(a, b) natürlicher Zahlen kodiert werden.
Beweis: Setze b = 2 · 3 · 4 · · · (t + 1). Dann sind die Zahlen
1 + b, 1 + b · 2, 1 + b · 3, . . . , 1 + b · (t + 1)
paarweise teilerfremd. Nach dem Chinesischen Restsatz folgt die Existenz
einer natürlichen Zahl
0≤a<
�
1≤i≤t+1
(1 + b · i)
wie gewünscht.
WS 11/12
254
Unentscheidbare Probleme
Lemma
Aus einem WHILE-Programm P mit Variablen x1 , . . . , xk kann man eine
prädikatenlogische Formel ϕP mit freien Variablen x0 , . . . , xk , y0 , . . . , yk
berechnen, so daß für alle mi , ni ∈ N gilt
N |= ϕP (m0 , . . . , mk , n0 , . . . , nk )
⇐⇒
P stoppt bei Eingabe von m0 , . . . , mk mit n0 , . . . , nk .
WS 11/12
255
Unentscheidbare Probleme
Beweis: per Induktion über den Aufbau von P:
• P hat die Form (xi := c) für ein c ∈ {0, 1}
�
ϕP = (yi = c) ∧
k�=i (yk
= xk )
• P hat die Form (xi := xj + c) für ein c ∈ {0, 1}
�
ϕP = (yi = xj + c) ∧
k�=i (yk
= xk )
• P hat die Form (xi := xj − c) für ein c ∈ {0, 1}
�
ϕP = (yi + c = xj ∨ (xj = 0 ∧ yi = 0)) ∧
• P hat die Form Q;Ç
R
ϕP = ∃z0 . . . ∃zk :
WS 11/12
k�=i (yk
= xk )
ϕQ (x0 , . . . , xk , z0 , . . . , zk )
∧ ϕR (z0 , . . . , zk , y0 , . . . , yk )
å
256
Unentscheidbare Probleme
• P hat die Form While xi �= 0 Do Q End
ϕP = ∃t∃a0 ∃b0 . . . ∃ak ∃bk :
�
G (a� , b� , 0, x� )
(1)
0≤�≤k
∧ ∀j < t∃v0 ∃w0 . . . ∃vk ∃wk :
(2)
ϕQ (v0 , . . . , vk , w0 , . . . , wk )
�
(3)
G (a� , b� , j, v� )
(4)
G (a� , b� , j + 1, w� )
(5)
∧
∧
∧
�
�
0≤�≤k
∧ vi �= 0
G (a� , b� , t, y� )
(6)
(7)
0≤�≤k
∧ yi = 0
WS 11/12
0≤�≤k
(8)
257
Unentscheidbare Probleme
Erläuterung:
t
Anzahl der Schleifendurchläufe
(a� , b� ) kodiert die Folge (x�0 , x�1 , . . . x�t ), wobei x�j der Wert der Variablen x� nach j Schleifendurchläufen ist
(1)
erster durch a� , b� kodierter Wert ist x�
(2)
in jedem Schritt j gibt es Belegungen der Variablen, die (3)(6) erfüllen
(3)
Schleifenkörper Q stoppt bei Start mit v0 , . . . , vk mit Belegung w0 , w1 , . . . wk
(4)
v� = x�j ist Eintrag Nummer j +1 des durch (a� , b� ) kodierten
Tupels
(5)
w� = x�j+1 ist Eintrag Nummer j + 2 des durch (a� , b� ) kodierten Tupels
(6)
Abbruchbedingung ist noch nicht erfüllt
(7)
y� = x�t+1 ist Eintrag Nummer t + 1 des durch (a� , b� ) kodierten Tupels
(8)
Abbruchbedingung ist im Schritt t erfüllt
WS 11/12
258
Unentscheidbare Probleme
Satz
Aus einem While-Programm P kann eine Aussage ψP berechnet werden,
so daß
N |= ψP ⇐⇒ P hält bei Eingabe von (0, . . . , 0) .
Beweis: Betrachte
ψP = ∃y0 , . . . , yk : ϕP (0, . . . , 0, y0 , . . . , yk ) ,
wobei ϕP Formel aus vorherigem Lemma ist.
WS 11/12
259
Unentscheidbare Probleme
Satz (1. Gödelscher Unvollständigkeitssatz)
Die Menge Th(N ) der prädikatenlogischen Aussagen ϕ mit N |= ϕ ist
nicht semi-entscheidbar.
Beweis:
Es gilt
P∈W
⇐⇒
⇐⇒
⇐⇒
P hält bei Eingabe von (0, . . . , 0) nicht
N |= ¬ψP
¬ψP ∈ Th(N ) .
Da ¬ψP aus P berechnet werden kann, erhalten wir W ≤ Th(N ). Da W
nicht semi-entscheidbar ist, ist auch Th(N ) nicht semi-entscheidbar (siehe
Lemma 32 auf Folien 192).
WS 11/12
260
Unentscheidbare Probleme
Bereits kleine Fragmente der Prädikatenlogik liefern unentscheidbare
Probleme über N . Ein besonders prominentes Beispiel ist Hilberts
10. Problem:
Satz (Matiyasevich 1970)
Das folgende Problem ist unentscheidbar:
EINGABE: Zwei Polynome p(x1 , . . . , xn ) und
q(x1 , . . . , xn ) (in mehreren Variablen) mit
Koeffizienten aus N.
FRAGE: Existieren a1 , . . . , an ∈ N mit
p(a1 , . . . , an ) = q(a1 , . . . , an )?
WS 11/12
Y. Matiyasevich
(1947-)
261
Unentscheidbare Probleme
Beweissysteme
Definition
Sei L ⊆ Σ∗ eine Sprache. Ein Paar (B, f ) ist ein Beweissystem für L, falls
• B ⊆ Γ∗ eine entscheidbare Sprache und
• f : B → L eine berechenbare surjektive Funktion ist.
Beispiel
• L ist die Menge der unerfüllbaren aussagenlogischen Klauselmengen
• B ist die Menge der Paare (F, (F1 , F2 , . . . , Fn )), wobei
• F eine endliche aussagenlogische Klauselmenge
• (F1 , . . . , Fn ) mit Fn = � ein Tupel aussagenlogischer Formeln ist, so
daß für alle 1 ≤ k ≤ n gilt:
• Fk ∈ F oder
• es gibt i, j < k und Fk ist aussagenlogische Resolvente von Fi und Fj .
• f (F, (F1 , . . . , Fn )) = F
WS 11/12
262
Unentscheidbare Probleme
Satz
Sei L �= ∅ eine Sprache. Dann sind äquivalent:
1
L ist semi-entscheidbar.
2
Es gibt ein Beweissystem für L.
Beweis: (1)⇒(2):
Sei L semi-entscheidbar. Dann existiert eine Typ-0-Grammatik
G = (Σ, N, S, P) mit L(G ) = L (vgl. Satz 26 auf Folie 161). Konstruiere
ein Beweissystem wie folgt:
• B ist die Menge der Tupel (w1 , w2 , . . . , wn ) mit
• w1 = S,
• wi ⇒G wi+1 für alle 1 ≤ i < n und
• w n ∈ Σ∗ .
Diese Menge ist entscheidbar.
• f (w1 , . . . , wn ) = wn für alle (w1 , . . . , wn ) ∈ B ist berechenbar und
surjektiv auf L.
WS 11/12
263
Unentscheidbare Probleme
(2)⇒(1):
Sei (B, f ) ein Beweissystem für L. Dann ist B ⊆ Γ∗ entscheidbar. Also
existiert eine berechenbare surjektive Funktion g : N → B.
Semi-Entscheidungsverfahren für L:
Input: w ∈ Σ∗
n := 0
While f (g (n)) �= w Do
n := n + 1
Endwhile
Output w gehört zu L“
”
WS 11/12
264
Unentscheidbare Probleme
Korollar
Es gibt kein Beweissystem für Th(N ), die Menge der prädikatenlogischen
Sätze ϕ mit N |= ϕ.
Beweis: Wir nehmen indirekt an, daß es ein solches Beweissystem gäbe.
Dann wäre Th(N ) also semi-entscheidbar, im Widerspruch zum 1.
Gödelschen Unvollständigkeitssatz.
WS 11/12
265
Unentscheidbare Probleme
Beispiele
1
Strukturen A mit entscheidbarer Theorie Th(A):
• (N, +), (N, ·)
• (N, +, Vk ), wobei Vk : N → N mit Vk (0) = 0 und Vk (n) ist größte
Potenz von k, die n teilt
• (R, +, ·), (C, +, ·)
2
Strukturen A, deren Theorie Th(A) unentscheidbar, aber
semi-entscheidbar ist: ???
3
Strukturen A, deren Theorie Th(A) nicht semi-entscheidbar ist:
• (N, +, ·), (N, +, |), (N, +, {(n2 | n ∈ N})
• (N, +, Vk , V� ), falls i = j = 0 aus k i = �j folgt
• (Σ∗ , ·) für |Σ| ≥ 2
WS 11/12
266
Unentscheidbare Probleme
Satz
Sei A eine Struktur, so daß Th(A) semi-entscheidbar ist. Dann ist Th(A)
entscheidbar.
Beweis: Für eine prädikatenlogische Aussage ϕ sei f (ϕ) = ¬ϕ. Dann gilt
ϕ∈
/ Th(A)
⇐⇒
⇐⇒
⇐⇒
A �|= ϕ
A |= ¬ϕ = f (ϕ)
f (ϕ) ∈ Th(A) .
Also ist f eine Reduktion des Komplements von Th(A) auf Th(A), d.h.
Th(A) ≤ Th(A). Damit ist auch Th(A) semi-entscheidbar (Lemma 32
auf Folie 192). Also ist Th(A) entscheidbar (Satz auf Folie 168).
WS 11/12
267
Herunterladen