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 />
While-Programme<br />
While-Programme<br />
Beweisidee:<br />
Wir verwenden eine Mehrband-Turingmaschine, bei der auf<br />
jedem Band eine andere Variable in Binärdarstellung<br />
gespeichert wird.<br />
k Variablen k Bänder<br />
x i := x j + c kann von der Turingmaschine durchgeführt<br />
werden, indem die Inkrementierungsfunktion (+1) c-mal<br />
ausgeführt wird.<br />
x i := x j − c funktioniert ähnlich.<br />
Sequentielle Komposition P 1 ; P 2 : wir bestimmen<br />
Turingmaschinen M 1 , M 2 für P 1 , P 2 .<br />
Diese modifizieren wir wie folgt zu einer Turingmaschine für<br />
P 1 ; P 2 :<br />
Vereinigung der Zustandsmengen, Bandalphabete und<br />
Übergangsfunktionen<br />
Anfangszustand ist Anfangszustand von M 1 . Endzustände<br />
sind Endzustände von M 2 .<br />
Statt in einen Endzustand von M 1 wird ein Übergang in<br />
den Anfangszustand von M 2 gemacht. (Vergleiche mit<br />
der Konkatenationskonstruktion für endliche Automaten.)<br />
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
While-Programme<br />
Barbara König BeKo/TI 95<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Goto-Programme<br />
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Barbara König BeKo/TI 96<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
While-Schleife While x i ≠ 0 Do P End: Bestimme<br />
zunächst eine Turingmaschine M für P.<br />
Modifiziere M wie folgt:<br />
Im neuen Anfangszustand wird zunächst überprüft,<br />
ob 0 auf dem i-ten Band steht.<br />
Falls ja: Übergang in Endzustand<br />
Falls nein: M wird ausgeführt<br />
Statt Übergang in Endzustand: Übergang in den<br />
neuen Anfangszustand.<br />
Syntax von Goto-Programmen<br />
Mögliche Anweisungen für Goto-Programme:<br />
Wertzuweisung: x i := x j + c bzw. x i := x j − c (mit c ∈ N 0 )<br />
Unbedingter Sprung: Goto M i<br />
Bedingter Sprung: If x i = c Then Goto M i<br />
Stopanweisung: Halt<br />
Ein Goto-Programm besteht aus einer Folge von Anweisungen<br />
A i , vor denen sich jeweils eine (Sprung-)Marke M i befindet.<br />
M 1 : A 1 ; M 2 : A 2 ; . . . ; M k : A k<br />
(Wenn Marken nicht angesprungen werden, werden wir sie<br />
manchmal einfach weglassen.)<br />
Barbara König BeKo/TI 97<br />
Barbara König BeKo/TI 98