22.11.2013 Aufrufe

FGI 1

FGI 1

FGI 1

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!