Sie sind auf Seite 1von 4

Theoretische Grundlagen der Informatik C A U

AG Zuverlässige Systeme
Dirk Nowotka, Mitja Kulczynski & Malte Skambath Christian-Albrechts-Universität zu Kiel

Lösungsvorschlag für Übungsblatt 5


Hausaufgabe M1 6 Punkte
Betrachten Sie die nebenstehende nichtdeterministi- 0ÑR
sche Turingmaschine M , die den Lese-/Schreibkopf 1ÑR

mittels des Parameters N an der derzeitigen Position q2


0ÑR ÑL
des Bandes belassen kann. ÑN 0ÑR
0 Ñ ,N 1ÑR
0ÑR 1 Ñ ,N ÑL
1ÑR
Geben Sie alle Konfigurationsfolgen von M an, wel- q0
ÑN
q1 q3
0 Ñ ,N
qacc
1ÑN
che das Wort w “ 010 akzeptieren, verwerfen und in 0 Ñ ,N
ÑN ÑN
Nichtterminierung enden. Der Kopf des Bandes be- 0 Ñ ,N

findet sich, wie üblich, initial auf dem ersten Zeichen ÑN


qrej 1ÑN
ÑN

der Eingabe von links gelesen. Unendlich wiederho-


lende Abschnitte einer Berechnung kennzeichnen Sie
durch . . . .
Lösung:

a) Wir erhalten die akzeptierende Konfigurationsfolge:

1. q0 010, 0q2 10, 01q2 0, 010q2 , 01q3 0, 01qacc

b) Wir erhalten folgende verwerfende Konfigurationsfolgen:

1. q0 010, 0q2 10, 01q2 0, 010q2 , 01q1 0, 01q1 , 01qrej


2. q0 010, 0q2 10, 01q2 0, 010q2 , 01q1 0, 01q1 , . . . , 01q1 , 01qrej
3. q0 010, 0q2 10, 01q2 0, 010q1 , 010qrej
4. q0 010, 0q2 10, 01q2 0, 010q1 , 010q1 , . . . , 010qrej
5. q0 010, 0q2 10, 01q1 0, 01q1 , 01qrej
6. q0 010, 0q2 10, 01q1 0, 01q1 , . . . , 01q1 , 01qrej
7. q0 010, 0q1 10, 0q1 10, 0qrej 10
8. q0 010, 0q1 10, 0q1 10, 0q1 10, . . . , 0q1 10, 01qrej 0
9. q0 010, 0q2 10, 01q2 0, 010q2 , 01q3 0, 01q1 , 0qrej 10
10. q0 010, 0q2 10, 01q2 0, 010q2 , 01q3 0, 01q1 , . . . , 01q1 , 01qrej 0

c) Die möglicherweise unendlichen Konfigurationsfolgen sind unter den verwerfenden zu sehen. Je-
de dieser Berechnungen kann möglicherweise terminieren.


Hausaufgabe M2 12 Punkte
Geben Sie eine Turingmaschine M in High-Level-Beschreibung an, die alle Paar pn, mq P N ˆ N auf ihrem
Ausgabeband aufzählt. Konkret modellieren wir eine aufzählende Turingmaschine, welche die Sprache

L “ t digpnq_digpmq | n, m P N u Σ 34

über dem Bandalphabet Γ “ t 0, 1, . . . , 9, #, ˛, _ u auf das Ausgabeband schreibt. Hierbei ist die Funktion
dig : N Ñ t 0, 1, . . . , 9, ˛ u˚ für eine Zahl n P N zur Basis 10 mit Ziffern n1 , n2 , . . . , nk P t 0, 1, . . . , 9 u für
k P N definiert durch digpnq “ n1 ˛ n2 ˛ ¨ ¨ ¨ ˛ nk .
Geben Sie anschließend eine Kodierungsfunktion f : digpNq Ñ t 0, 1 u˚ an, die unsere aufgezählten Wörter
über dem Alphabet t 0, 1 u kodiert.

Sommersemester 2022 Abgabe: 15. Mai 2021, 23:59


tus
t
2
Theoretische Grundlagen der Informatik
traubband
Arbubband
Lösung: FÜ t
Unsere Turingmaschine realisiert einen Algorithmus, welcher auf der folgenden Skizze dargestellt ist:

0,0 lo 0,2 0,3 294 0,5


1,0 1,1 1,2 511,3 1,4 1,5
2,4 2,5
2,0 2,1 2,22g 2,3
3,211 3,3 6,4 3,5
3,0 3,1
r
4,0 4,1 4,2 4,3 4,4 4,5
5,2 5,3 5,4 is
Lego 5,1

Die Turingmaschine folgt dem Pfad der kolorierten Linie. Die eigentliche Maschine mit drei Bändern
arbeitet nun wie folgt, wobei wir mit KA1 bzw. KA2 das Element, an welchem der Kopf des ersten Ar-
beitsbandes bzw. zweiten Arbeitsbandes steht.

1. Schreibe 0 auf das Arbeitsband 1.


2. Schreibe 0 auf das Arbeitsband 2.
3. Wiederhole
3.1 Laufe auf dem Arbeitsband 1 nach rechts bis zum ersten .
3.2 Laufe auf dem Arbeitsband 2 eine Stelle nach links.
3.3 Berechne auf dem zweiten Arbeitsband KA2 ` 1 und schreibe das Ergebnis auf die rechts stehende
Stelle.
3.4 Dupliziere das Ergebnis der vorherigen Berechnung auf das erste Band.
3.5 Wiederhole bis KA1 “ gilt
3.2.1 Schreibe pKA1 , KA2 q# auf das Arbeitsband.
3.2.2 Bewege den Kopf des ersten Arbeitsbandes eine Stelle nach links.
3.2.3 Bewege den Kopf des zweiten Arbeitsbandes eine Stelle nach rechts.

Die folgende Skizze veranschaulicht die Idee der Turingmaschine am Beispiel der Tupel p2, 0q, p1, 1q, p0, 2q.

tus
t

traubband
Arbubband
FÜ t
Die Darstellung ist leicht vereinfacht, da wir für jede Ziffer eine eigene Bandzelle benötigen (das Alphabet
wäre ansonsten unendlich groß). Aus diesem Grund nutzen wir die Funktion dig und notieren auf den
Arbeitsbändern jeweils die Zahlen digpnq. Das Ausgabeband besitzt die Gestalt

0 _ 0#1 _ 0# . . . #n1 ˛ n2 ˛ . . . nk _ m1 ˛ m2 ˛ . . . m` # . . .
0,0 lo 0,2 0,3 294 0,5
für Ziffern n1 , . . . , nk , m1 , . . . m` und k, ` P N.
1,0
Für die Kodierung 1,1
der Tupel nutzen 511,3 1,4 1,5
1,2 wir die Binärrepräsentation der Ziffern inklusive führender Nullen.
Wir definieren bind : t 0, 1, . . . , 9 u Ñ t 0, 1 u˚ durch 2,4 2,5
2,0 2,1 2,22g 2,3
3,211 3,3 6,4 3,5
3,0 3,1
r
4,0 4,1 4,2 4,3 4,4 4,5
Sommersemester 2022
5,3 5,4 is Lösungsvorschlag für Übungsblatt 5
3
Theoretische Grundlagen der Informatik
bind p0q “ 0000
bind p4q “ 0100 bind p7q “ 0111
bind p1q “ 0001
bind p5q “ 0101 bind p8q “ 1000
bind p2q “ 0010
bind p6q “ 0110 bind p9q “ 1001
bind p3q “ 0011

Weiter definieren wir f p˛q “ 1111. Es ergibt sich somit insgesamt für eine Zahl n P N mit Ziffern
n1 , n2 , . . . , nk P t 0, 1, . . . , 9 u mit k P N

f pn1 ˛ n2 ˛ ¨ ¨ ¨ ˛ nk q “ bind pn1 q 1111 bind pn2 q 1111 . . . 1111 bind pnk q.


Hausaufgabe M3 8 Punkte
Zeigen Sie, dass das Leerheitsproblem für kontextfreie Grammatiken
ECFG “ t xGy | G “ pV, Σ, R, Sq ist kontextfreie Grammatik mit LpGq “ H u
Turing-entscheidbar ist. Geben Sie hierfür eine Turingmaschine in High-Level-Beschreibung an, welche
das Problem ECFG entscheidet. Erklären Sie anschließend die Funktionsweise Ihrer Turingmaschine

Lösung:
Wir betrachten zunächst eine informelle Turingmaschine M , welche das Problem ECFG entscheidet und
die Intuition des Algorithmus liefert:
M “ „ Bei Eingabe x P t 0, 1 u˚ arbeite wie folgt:
1. Verwirf die Eingabe, falls x keine gültige Kodierung einer kontextfreien Grammatik
ist.
2. Betrachte x “ xGy, wobei G durch G “ pV, Σ, R, Sq definiert ist.
3. Initialisiere eine Menge T “ H.
4. Wiederhole solange, bis T sich nicht mehr verändert:
4.1 Betrachte schrittweise alle A Ñ α1 . . . αn P R für n P N.
4.2 Falls αi P Σ Y T für alle i P t 1, . . . , n u gilt, erweitere T “ T Y t A u.
5. Falls S P T gilt, verwerfe die Eingabe.
6. Akzeptiere x.“
Der erste Schritt ist das Überprüfen der Kodierung. Da wir jede beliebige Struktur gödelisieren können,
ist dies auch für kontextfreie Grammatiken möglich. Das Dekodieren der Grammatik ist ebenfalls ent-
scheidbar. Die obige Turingmaschine führt eine Menge T von markierten Nichterminalsymbolen. Wir
versuchen hierbei die Ableitung eines Wortes von hinten nach vorne zu konstruieren und markieren
hierfür die bereits erreichten Nichtterminialsymbole. Markieren wir das Startsymbol, so ist die Sprache
unser betrachteten Grammatik nicht leer und wir verwerfen die Eingabe. Die Turingmaschine terminiert,
da es nur endlich viele Nichtterminalsymbole gibt.
Die Turingmaschine M lässt sich in High-Level-Beschreibung mittels fünf Bändern lösen. Das ersten
Band beinhaltet die Eingabe. Wir abstrahieren im Folgenden von der Kodierung über dem Alphabet
t 0, 1 u. Wie bereits beschrieben, können wir jede mathematische Struktur kodieren und auch dekodieren.
Unser Bandinhalt möge für eine Grammatik G “ pV, Σ, R, Sq die folgenden Gestalt besitzen:

X1 X2 . . . X|V | #a1 a2 . . . a|Σ| #S#A1 α1 ˛ ¨ ¨ ¨ ˛ A` α`


für tX1 , X2 , . . . , X|V | u “ V , ta1 , a2 , . . . , a|Σ| u “ Σ, S P V , Ai Ñ αi für i P t 1, . . . , ` u.
Unsere Turingmaschine arbeitet nun wie folgt:

M “ „ Bei Eingabe x P t 0, 1 u˚ arbeite wie folgt:


1. Verwirf die Eingabe, falls x keine gültige Kodierung einer kontextfreien Grammatik
ist.
2. Kopiere S auf das zweite Band

Sommersemester 2022 Lösungsvorschlag für Übungsblatt 5


4
Theoretische Grundlagen der Informatik
3. Kopiere alle a1 , a2 , . . . , a|Σ| auf das dritte Band.
4. Kopiere alle Regeln A1 α1 ˛ ¨ ¨ ¨ ˛ A` α` auf das vierte Band.
5. Schreibe K auf das fünfte Band.
6. Wiederhole bis unterbrochen wird:
6.1 Für alle Regeln Aα auf dem vierten Band, führe folgende Schritte aus:
6.1.1 Prüfe, ob alle Symbole a aus α auf dem dritten Band stehen.
6.1.2 Ist 6(1)1 erfüllt, so schreibe J auf das fünfte Band, kopiere A auf das dritte
Band, lösche die Regel Aα vom vierten Band und schiebe alle Regeln auf
dem vierten Band, die nach Aα stehen nach links (angrenzend an die vor
Aα stehende Regel).
6.2 Falls K auf dem fünften Band steht, akzeptiere die Eingabe.
6.3 Falls S auf dem dritten Band steht, verwerfe die Eingabe.“


Hausaufgabe M4 8 Punkte
˚
Seien L1 , L2 Ď t 0, 1 u Sprachen, wobei L1 Turing-entscheidbar und L2 Turing-erkennbar ist. Entscheiden
Sie, ob folgende Aussagen gelten. Geben Sie jeweils eine Begründung für Ihre Einschätzung an.
a) L1 X L2 ist Turing-entscheidbar.
b) L1 X L2 ist Turing-erkennbar.
c) L1 X L2 ist Turing-erkennbar.
d) L1 X L2 ist weder Turing-erkennbar noch Co-Turing-erkennbar.

Lösung:
a) L1 X L2 ist im Allgemeinen nicht Turing-entscheidbar. Betrachte hierzu L1 “ Σ˚ Ě L2 , sowie eine
erkennbare aber nicht entscheidbare Sprache wie HALTTM . Da nun L1 X L2 “ L2 gilt, ist also L1 X L2
nicht entscheidbar.
b) Da L1 Turing-entscheidbar ist, gibt es eine Turingmaschine ML1 mit LpML1 q “ L1 , die L1 ent-
scheidet. Weiter gibt es eine Turingmaschine ML2 mit LpML2 q “ L2 , die L2 erkennt, da L2 Turing-
erkennbar ist.
Betrachte die folgenden 2-Band Turingmaschine M :
M “ „ Bei Eingabe w arbeite wie folgt:
1. Kopiere w auf das zweite Band.
2. Simuliere ML1 über dem zweiten Band.
3. Falls ML1 verwirft, laufe endlos.
4. Lösche das zweite Band.
5. Kopiere w auf das zweite Band.
6. Simuliere ML2 über dem zweiten Band.
7. Falls ML2 akzeptiert, akzeptiere. Sonst, verwerfe.“
Die TM M akzeptiert nun genau dann ein Wort w P t 0, 1 u˚ , wenn ML1 und ML2 das Wort w
akzeptieren würden (Semantik vom Schnitt). Somit ist die Aussage b) korrekt. (Beachte, dass L2
lediglich Turing-erkennbar ist. Daher ist nicht garantiert, dass ML2 zu jedem Wort w terminiert,
sodass unsere Turingmaschine M in Schritt b6 möglicherweise in eine Endlosschleife läuft. Deshalb
erkennt diese TM die Sprache nur, wird sie aber nicht zwingend entscheiden, weshalb sie auch für
Aufgabenteil a) ungeeignet ist.)
c) Aus der Lösung für Aufgabenteil a) (L1 XL2 ist nicht entscheidbar) und Aufgabenteil b) (L1 XL2 ist
erkennbar) folgt jedoch direkt, das c) nicht gültig sein kann: Eine Sprache ist Turing-entscheidbar
genau dann wenn sie Turing-erkennbar und Co-Turing-erkennbar. Da L1 X L2 nicht entscheidbar
ist, aber Turing-erkennbar, kann L1 X L2 nicht Turing-erkennbar sein, da sonst L1 XL2 entscheidbar
wäre.
d) Da L1 X L2 Turing-erkennbar (siehe Aufgabenteil b)) ist, kann d) nicht gelten.

Sommersemester 2022 Lösungsvorschlag für Übungsblatt 5

Das könnte Ihnen auch gefallen