2x2 - Theoretische Informatik - Universität Duisburg-Essen
2x2 - Theoretische Informatik - Universität Duisburg-Essen
2x2 - Theoretische Informatik - Universität Duisburg-Essen
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Entscheidbarkeit<br />
Entscheidbarkeit<br />
Rekursive Aufzählbarkeit → Semi-Entscheidbarkeit:<br />
Gegeben: rekursiv aufzählbare Sprache L ⊆ Σ ∗ , beschrieben<br />
durch eine Funktion f .<br />
Zu zeigen: es gibt eine Turingmaschine, die bestimmt, ob ein<br />
Wort w ∈ Σ ∗ in L liegt (und nicht terminiert, falls w nicht in<br />
L liegt).<br />
Lösung: Berechne f (0), f (1), f (2), . . . , solange bis w = f (i)<br />
für ein i gilt. In diesem Fall gibt die Turingmaschine 1 aus,<br />
ansonsten terminiert sie nicht.<br />
Semi-Entscheidbarkeit → Rekursive Aufzählbarkeit:<br />
Gegeben: semi-entscheidbare Sprache L ⊆ Σ ∗ , beschrieben<br />
durch eine Turingmaschine M, die die “halbe”<br />
charakteristische Funktion berechnet.<br />
Zu zeigen: es gibt eine weitere Turingmaschine, die eine<br />
Funktion f berechnet, wie sie in der Definition der rekursiven<br />
Aufzählbarkeit beschrieben ist.<br />
Entscheidbarkeit<br />
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Barbara König BeKo/TI 145<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Lösung: Berechnung des Funktionswertes f (i).<br />
Verwende zwei Zähler, j und l, die zu Beginn beide auf 0<br />
gesetzt sind. Der Zähler l wird sukzessive erhöht und für<br />
jeden Wert von l wird folgendes durchgeführt:<br />
Simuliere die Maschine M l Schritte lang auf allen<br />
Wörtern der Länge kleiner gleich l.<br />
(Reihenfolge: zunächst Wörter der Länge 0, dann<br />
Länge 1, . . . , dann Länge l. Innerhalb von Wörtern<br />
der gleichen Länge wird die alphabetische Ordnung<br />
gewählt.)<br />
Für jedes Wort, bei dem der Wert 1 ausgegeben wird, wird der<br />
Zähler j um eins erhöht. Sobald i = j gilt, wird das nächste<br />
akzeptierte Wort als Funktionswert f (i) zurückgegeben.<br />
Barbara König BeKo/TI 147<br />
Entscheidbarkeit<br />
Begründung:<br />
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Barbara König BeKo/TI 146<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Sei w ein Wort der Sprache L. Wir nehmen an, dass w die<br />
Länge n hat (|w| = n) und von M innerhalb von k Schritten<br />
akzeptiert wird.<br />
Dann wird w akzeptiert, wenn der Zähler l irgendwann<br />
max{n, k} erreicht. Daher gibt es einen Index i, bei dem w<br />
zurückgegeben wird.<br />
Bemerkung: es kann passieren, dass bestimmte Wörter mehrfach<br />
ausgegeben werden. Das ist nach Definition der rekursiven<br />
Aufzählbarkeit erlaubt.<br />
Barbara König BeKo/TI 148