31.01.2014 Aufrufe

Skriptes - Uni Bremen - Universität Bremen

Skriptes - Uni Bremen - Universität Bremen

Skriptes - Uni Bremen - Universität Bremen

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.

Entscheidbarkeit, Semi-Entscheidbarkeit, Aufzählbarkeit<br />

15. Entscheidbarkeit, Semi-Entscheidbarkeit,<br />

Aufzählbarkeit<br />

Wir wechseln nun von den Funktionen und dem mit Ihnen verknüpften Berechenbarkeitsbegriff<br />

zu Entscheidungsproblemen und den damit assoziierten Begriffen Entscheidbarkeit,<br />

Semi-Entscheidbarkeit und Aufzählbarkeit. In diesem Kapitel führen wir diese<br />

Begriffe formal ein und lernen dann einige grundlegende Zusammenhänge zwischen ihnenkennen.<br />

Wir verwenden hier wieder Turing-Maschinen als zugrundeliegendes Berechnungsmodell,<br />

begründet durch die Church-Turing-These und die in den vorhergehenden<br />

Abschnitten dargestellte Äquivalenz zu anderen konkreten Berechnungsmodellen.<br />

In der Informatik erfordern viele Probleme nur eine ja/nein Antwort anstelle eines “echten”<br />

Funktionswertes, z.B.:<br />

• Das Leerheitsproblem für NEAs: gegeben ein NEA A, ist L(A) = ∅?<br />

• Das Wortproblem für kontextfreie Grammatiken: gegeben eine kontextfreie Grammatik<br />

G und ein Wort, ist w ∈ L(G)?<br />

• Das Äquivalenzproblem für kontextsensitive Grammatiken: gegeben kontextsensitive<br />

Grammatiken G 1 und G 2 , gilt L(G 1 ) = L(G 2 )?<br />

• etc<br />

Derartige Probleme nennen wir Entscheidungsprobleme. Wir formalisieren sie nicht als<br />

Funktionen, sondern als formale Menge von Wörtern über einem geeigneten Alphabet<br />

Σ, also als formale Sprache L ⊆ Σ ∗ . Das assoziierte ja/nein-Problem ist dann einfach:<br />

ist ein gegebenes Wort w ∈ Σ ∗ enthalten in L?<br />

Als Beispiel für die Formalisierung eines Entscheidungsproblems als formale Sprache<br />

betrachten wir das Äquivalenzproblem für kontextsensitive Sprachen. Jede Grammatik<br />

G = (N,Γ,P,S) kann als Wort code(G) ∈ Γ ∗ über einem festen (d.h. nicht von G<br />

abhängigen) Alphabet Σ aufgefasst werden. Das Äquivalenzproblen für Typ 1-Sprachen<br />

ist dann die Sprache<br />

{(code(G 1 )#code(G 2 )) | G 1 ,G 2 kontextsensitiv,L(G 1 ) = L(G 2 )} ⊆ Σ ∗ ,<br />

wobei # einfach ein Trennsymbol ist, dass es erlaubt, die beiden Eingaben zu unterscheiden.<br />

Definition 15.1 (entscheidbar, semi-entscheidbar, rekursiv aufzählbar)<br />

Eine Sprache L ⊆ Σ ∗ heißt<br />

1) entscheidbar, falls es eine DTM gibt, die bei Eingabe w ∈ Σ ∗<br />

• in akzeptierender Stoppkonfiguration anhält wenn w ∈ L<br />

• in nicht-akzeptierender Stoppkonfiguration anhält wenn w /∈ L<br />

Wenn er keine solte DTM gibt, hießt L unentscheidbar.<br />

121

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!