FGI 1
FGI 1
FGI 1
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>FGI</strong> 1<br />
Automaten, Formale Sprachen,<br />
Berechenbarkeit<br />
Christopher Habel & Matthias Jantzen<br />
Kap 20<br />
(Entscheidbarkeit, Gödelisierung,<br />
Halteproblem)<br />
Matthias Jantzen<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 1<br />
ein wichtiger Zusammenhang:<br />
x fl Í *<br />
Satz 35:<br />
Eine Menge L ist<br />
genau dann rekursiv<br />
(entscheidbar) wenn<br />
L selbst, und auch<br />
ihr Komplement L<br />
rekursiv aufzählbar<br />
sind.<br />
x fl Í *<br />
x fl L ?<br />
JA<br />
x fl Í *<br />
x fl L ?<br />
JA<br />
JA<br />
NEIN<br />
Entscheidbare Mengen sind natürlich aufzählbar!<br />
Die andere Richtung folgt aus Erklärung zur obigen Graphik!<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 2
nichtaufzählbare Sprachen<br />
Wenn es also eine aufzählbare Menge gäbe, die nicht<br />
entscheidbar wäre, so wüssten wir sofort, dass das Komplement<br />
nicht jeder aufzählbaren Menge wieder aufzählbar wäre!<br />
1. Frage: Gibt es formale Sprachen, die von keiner DTM<br />
akzeptiert werden können?<br />
2. Wir zeigen, dass es eine Sprache L ⊆ {0, 1} ∗ gibt, die von<br />
keiner DTM akzeptiert werden kann!<br />
3. Wir benötigen: Codierung von Automaten als Wörter<br />
über einem endlichen Alphabet, d.h. eine injektive<br />
Funktion<br />
code : Menge aller DTM → {0, 1} ∗<br />
4. . . . wir können die lexikalische Ordnung wählen, aber es<br />
gibt seit Gödel’s Beweisen andere!<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 3<br />
Was sind Gödelnummern?<br />
Definition 61:<br />
Eine Funktion ν Σ : Σ ∗ −→ IN (Σ ein endliches Alphabet) heißt<br />
Gödelisierung, wenn gilt:<br />
1. ∀u, v ∈ Σ ∗ : u ≠ v impliziert ν Σ (u) ≠ ν Σ (v), ν Σ ist also<br />
injektiv.<br />
2. Aus jedem Argument w ∈ Σ ∗ kann ν Σ (w) in endlich vielen<br />
Schritten effektiv bestimmt werden.<br />
3. Für jedes n ∈ IN kann in endlich vielen Schritten effektiv<br />
bestimmt werden, ob es ein w ∈ Σ ∗ gibt, für das ν Σ (w) =n<br />
gilt.<br />
4. Wenn es ein w ∈ Σ ∗ mit ν Σ (w) =n gibt, dann kann w in<br />
endlich vielen Schritten effektiv aus n konstruiert werden.<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 4
Gödelisierung i.A. nicht bijektiv!<br />
Es ist also bei Gödelisierungen keine Bijektion zwischen Σ ∗ und<br />
IN gefordert!<br />
Es gibt verschiedene Möglichkeiten spezielle Gödelisierungen anzugeben,<br />
von denen wir z.B. die Cantorsche Paarfunktion kennenlernen<br />
werden.<br />
Die Paarfunktionen pair, und Ihre Erweiterung auf beliebige<br />
Zahlentupel sind Gödelisierungen nur für Zahlentupel über IN<br />
mit fester Dimension.<br />
Wenn wir allerdings endliche Zahlenfolgen oder Zeichenketten<br />
variabler Länge kodieren möchten, so taugen diese Abbildungen<br />
herzlich wenig.<br />
Von Gödel stammt die bijektive Abbildung von Zahlenfolgen/<br />
Wörtern auf Zahlen über Primzahlprodukte:<br />
m∏<br />
ν IN −seq (α 1 , α 2 , . . . , α m ) := p α i+[i = m]<br />
i − 1<br />
i=1<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 5<br />
zur Erinnerung:<br />
Die Paarfunktion ist Gödeliserung;<br />
Definition 51:<br />
paar : IN × IN −→ IN sei definiert durch<br />
( )<br />
(i + j)(i + j + 1) i + j +1<br />
paar(i, j) := i + = i +<br />
2<br />
2<br />
…aber wie berechnen wir zu einer Zahl k fl Ñ<br />
das zugehörige Tupel (i,j)?<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 6
Satz 36:<br />
Für<br />
π 1 (k) := k − 1 2 ·<br />
Formel für paar -1 (k)<br />
Dieses hier ohne Beweis…<br />
(in die Berechnungsformel einsetzen würde ausreichen!):<br />
⌊√<br />
2 · k + 1 4 − 1 2<br />
⌋<br />
·<br />
⌊√<br />
warum<br />
reicht das<br />
aus?<br />
2 · k + 1 4 + 1 2<br />
⌋<br />
,<br />
π 2 (k) :=<br />
⌊√ ⌋<br />
2k + 1 4 − 1 − π 1 (k)<br />
2<br />
gilt:<br />
k = paar(π 1 (k), π 2 (k)).<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 7<br />
allgemeine Notation für Gödelnummercodierungen<br />
Definition/Vereinbarung 62:<br />
Gödelisierungen werden von nun an immer als bijektive<br />
Abbildungen angesehen und – sofern das Alphabet Σ festgelegt<br />
ist – durch 〈〉: Σ ∗ −→ IN notiert.<br />
Beispiel:<br />
Mit 〈abbab 〉 wird diejenige natürliche Zahl dargestellt, die<br />
gemäß der beliebig gewählten, aber eindeutig festgesetzten<br />
Gödelisierung, die Gödelnummer von abbab ist.<br />
Wir können immer auch die lexikalische Anordnung der Wörter<br />
benutzen, und benutzen i als Gödelnummer des i-ten Wortes in<br />
dieser Abzählung!<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 8
Satz 37:<br />
Die Sprache L d<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 9<br />
Sei G ein Alphabet zur Kodierung von Turingmaschinen bzw.<br />
Wörtern, sowie<br />
w i das i-te Wort und<br />
A i die i-te DTM in der (lexikalischen) Aufzählung der Wörter<br />
〈A i 〉∈G ∗ .<br />
Dann ist die Menge L d := {〈w i 〉 | w i /∈ L(A i )} nicht aufzählbar.<br />
Die Matrix der charakteristischen Funktion<br />
L d ∉ Re:<br />
Charakteristische Funktion für L(M i ) und L d :<br />
w 0 w 1 w 2 · · · w n · · ·<br />
M 0 0 1 1 · · · 0 · · ·<br />
M 1 1 1 0 · · · 1 · · ·<br />
M 2 1 0 0 · · · 1 · · ·<br />
.<br />
.<br />
.<br />
.<br />
.<br />
.<br />
.<br />
.<br />
. ..<br />
.<br />
.<br />
.<br />
.<br />
M n 1 1 0 · · · 1 · · ·<br />
. . . . . .<br />
. ..<br />
L d 1 0 1 · · · 0 · · ·<br />
Also: ∀i ∈ IN : w i ∈ L(M i ) ⇐⇒ w i /∈ L d<br />
Somit ∀i ∈ IN : L(M i ) ≠ L d<br />
und L d := {〈w i 〉 | w i /∈ L(A i )} ist nicht aufzählbar.<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 10
das Komplement von L d<br />
… ist aufzählbar:<br />
w<br />
Diese TM akzeptiert<br />
w gdw. w fl Ld<br />
bestimme i für w = w i<br />
in lexikalischer Ordnung<br />
i, w i<br />
konstruiere TM-Tafel<br />
der i-ten TM M i<br />
w i , M i<br />
simuliere M i mit<br />
Eingabe w i<br />
w i fl M i<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 11<br />
Das Halteproblem<br />
Def. hier nur wiederholt!<br />
Definition 60:<br />
{<br />
∣<br />
Sei H := 〈A 〉〈w 〉∈{0, 1} ∗ ∣∣<br />
}<br />
die TM A hält bei Eingabe von w ∈ Σ ∗ an .<br />
Wichtig zur Erkennung von Endlosschleifen in Programmen!<br />
Programm P = Turingmaschine A<br />
Programmeingabe x = Eingabewort w der TM A<br />
aber:<br />
Satz 37:<br />
Die Menge H aus Def. 60 ist nicht entscheidbar.<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 12
indirekter Beweis durch Selbstanwendung<br />
Angenommen M löst das Halteproblem H :<br />
Programm P<br />
Eingabewort x<br />
M<br />
JA<br />
NEIN<br />
P stoppt bei<br />
Eingabe x<br />
P stoppt nicht<br />
bei Eingabe x<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 13<br />
Halteproblem (2)<br />
Eingabewort x ersetzt durch das Programm P :<br />
Programm P<br />
Eingabewort P<br />
M<br />
JA<br />
NEIN<br />
P stoppt bei<br />
Eingabe P<br />
P stoppt nicht<br />
bei Eingabe P<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 14
Halteproblem (3)<br />
Neue Maschine ˜M mit Endlosschleife bei JA :<br />
Programm P<br />
Eingabewort P<br />
M<br />
M~<br />
JA<br />
NEIN<br />
P stoppt nicht<br />
bei Eingabe P<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 15<br />
Halteproblem (3): die Selbstanwendung<br />
Als Programm P verwenden wir nun ˜M :<br />
Programm M<br />
~ ~<br />
Eingabewort M<br />
M<br />
M~<br />
JA<br />
Endlosschleife<br />
Endlosschleife<br />
~<br />
NEIN<br />
M stoppt nicht<br />
~<br />
bei Eingabe M<br />
dies ist ein<br />
offensichtlicher<br />
Widerspruch!<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 16
Folgerung<br />
Alle Inklusionen dieser Sprachfamilien wurden nun als<br />
echte Inklusionen erkannt:<br />
keine zwei Sprachfamilien sind identisch!<br />
Folgende Beziehungen sind nun bewiesen:<br />
⊈<br />
⊈<br />
⊈<br />
⊈<br />
⊈<br />
≠<br />
Familie der regulären Mengen<br />
Familie der kontextfreien Mengen<br />
Familie der kontextsensitiven Mengen<br />
Familie der entscheidbaren Mengen<br />
Familie der aufzählbaren Mengen<br />
Familie der abzählbaren Mengen<br />
Familie der überabzählbaren Mengen<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 17<br />
Halteproblem und L d<br />
18<br />
Kodieren wir H und L d über dem Alphabet {0,1}<br />
Unentscheidbarkeit von H kann durch Reduktion von<br />
L d auf H gezeigt werden:<br />
w ∈ L d<br />
⇐⇒ 〈w 〉〈w 〉 /∈ H<br />
D.h.: wenn H entscheidbar ist, dann ist auch Ld<br />
entscheidbar. Letzteres ist aber nicht der Fall!<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008:
Wichtige / interessante Unentscheidbarkeitsresultate:<br />
Schon als unentscheidbar kennen wir:<br />
1. Sprache L d<br />
2. Komplement von L d<br />
3. Halteproblem, d.h., Sprache H<br />
außerdem unentscheidbar:<br />
1. Kachelprobleme<br />
2. 10. Hilbertsches Problem<br />
3. Vorkommen einer 1 als Bild einer Funktion<br />
4. jedes nichttriviale Problem über Turingmaschinen!<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 19<br />
Kachel-/Dominoprobleme<br />
Das steht zwar nicht in Vossen/Witt, aber illustriert ganz nett…<br />
Gegeben: Eine Menge von r Kacheltypen R =<br />
{K 1 ,K 2 , . . . , K r } , n ∈ IN (beliebig viele Kacheln<br />
von jedem Typ)<br />
Gesucht: (A) Kann man den ersten Quadranten der euklidischen<br />
Ebene korrekt kacheln?<br />
(B) Kann man eine Fläche der Größe n × n<br />
korrekt kacheln?<br />
Antwort: JA oder NEIN<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 20
Kachelproblem<br />
Nur gleichfarbige Seiten dürfen aneinander gelegt werden!<br />
Steine dürfen nicht gedreht werden!<br />
Satz 38:<br />
Das Kachelproblem aus A ist unentscheidbar!<br />
Für das endliche Kachelproblem B gibt es zur Zeit deterministische<br />
Verfahren nur mit exponentiellem Aufwand,<br />
denn das Problem ist NP-vollständig.<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 21<br />
typische Lösung eines endl Kachelproblems:<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 22
Postsches Korrespondenzproblem<br />
Definition 64:<br />
Sei P ⊆ Σ ∗ × Σ ∗ eine endliche Menge von Wortpaaren<br />
P := {(u i ,v i ) | 1 ≤ i ≤ |P | ,u i ,v i ∈ Σ ∗ }.<br />
Als Post’sches Korrespondenzproblem (PCP) bezeichnet man<br />
folgendes Problem:<br />
PCP:<br />
Gegeben: Eine beliebige, endliche Menge P = {(u i ,v i ) |<br />
1 ≤ i ≤ |P | ,u i ,v i ∈ Σ ∗ } ⊆ Σ ∗ × Σ ∗<br />
Gesucht: Indexfolge i 1 i 2 . . . i k mit ∀ k j=1 :1≤ i j ≤ |P |<br />
Antwort:<br />
und u i1 u i2 . . . u ik<br />
JA oder NEIN<br />
= v i1 v i2 . . . v ik<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 23<br />
Beispiel<br />
[ ] [ ] [ ]<br />
a aa ab<br />
Die Paare: 1: , 2: , 3: . Gibt es Lösung?<br />
ba a aa<br />
Ja: eine Indexfolge ist 231, mit:<br />
[<br />
][<br />
aa ab<br />
a aa<br />
][<br />
]<br />
a<br />
ba<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 24
Unentscheidbarkeit des PCP<br />
Satz 38:<br />
Es gibt keinen Algorithmus, der für ein beliebiges PCP entscheidet,<br />
ob es eine Lösung besitzt!<br />
Wenn das Alphabet nur ein Symbol enthält, dann ist jedes<br />
(endliche) PCP entscheidbar.<br />
Es konnte mit sehr komplizierten Beweis gezeigt werden, dass<br />
jedes PCP mit höchstens zwei Wortpaaren entscheidbar ist!<br />
Das bisher kleinste, unentscheidbare PCP besitzt 9 Wortpaare!<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 25<br />
Kommt 1 als Funktionswert vor?<br />
Definition 63:<br />
Mit M T sei die Menge aller (Kodierungen von) Turing-Maschinen<br />
M bezeichnet, die totale Funktionen f M : Σ ∗ → {0, 1} berechnen.<br />
Problem:<br />
Gegeben: Eine beliebige stets haltende Turing-Maschine<br />
Gesucht: Wird bei allen Eingaben stets die Ausgabe 0<br />
berechnet?<br />
Antwort: JA oder NEIN<br />
Das Problem, ob eine Funktion irgendwann den Wert 1 als Resultat<br />
erhält, ist UNENTSCHEIDBAR !<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 26
Unentscheidbarkeitsresultate<br />
Satz 39:<br />
Es gibt keinen Algorithmus, der für eine beliebige Funktion<br />
f M ∈ M T<br />
entscheidet, ob<br />
f M (w) = 1 für mindestens ein w ∈ Σ ∗ gilt.<br />
Korollar:<br />
Es ist unentscheidbar, ob eine beliebige, durch eine TM definierte,<br />
entscheidbare Menge M leer ist.<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 27<br />
Beweis<br />
Annahme der Entscheidbarkeit von<br />
P := {M ∈ M T | ∃w ∈ Σ ∗ : f M (w) =1}<br />
⇒ TM A P berechne χ P von P.<br />
{<br />
1, falls M ∈ P<br />
Also: χ P (M) =<br />
0, sonst<br />
• Betrachte Klasse M B,w von TM, mit:<br />
– Eingabe n ∈ simuliere genau n Schritte von B bei<br />
Eingabe von w,<br />
– halte an und gib 1 aus, sofern B nach genau n Schritten<br />
auf w hält,<br />
– sonst gib eine 0 aus.<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 28
Beweis (Fortsetzung)<br />
χ P (M B,w )=1<br />
⇐⇒<br />
M B,w ∈ P<br />
⇐⇒<br />
M B,w druckt bei Eingabe von n eine 1<br />
⇐⇒<br />
B hält auf w nach n Schritten an<br />
⇐⇒<br />
w ∈ L(B)<br />
Dann entscheidet A P aber das Halteproblem!<br />
Widerspruch !!!<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 29<br />
Der Satz von Rice<br />
Satz 40:<br />
Jede nichttriviale Eigenschaft S der aufzählbaren Sprachen ist<br />
unentscheidbar.<br />
Nichttriviale Eigenschaften zeichnen sich<br />
dadurch aus, dass es sowohl Mengen gibt, die sie erfüllen,<br />
wie auch andere, die diese Eigenschaft nicht erfüllen.<br />
Viele bisherigen Unentscheidbarkeitsresultate<br />
folgen aus diesem allgemeinen Theorem!<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 30
weitere Unentscheidbare Fragen<br />
Folgende Probleme sind unentscheidbar:<br />
Ist L endliche Menge?<br />
Ist L leere Menge?<br />
Ist L unendliche Menge?<br />
Ist L reguläre Menge?<br />
Ist L kontextfreie Sprache?<br />
Ist L entscheidbare Sprache?<br />
Ist L eine Menge mit genau einem Element?<br />
M. Jantzen, <strong>FGI</strong>-1, SoSe 2008: 31