Beruflich Dokumente
Kultur Dokumente
AG Zuverlässige Systeme
Dirk Nowotka, Mitja Kulczynski & Malte Skambath Christian-Albrechts-Universität zu Kiel
Hausaufgabe M1 6 Punkte
Betrachten Sie die nebenstehende nichtdeterministi- 0ÑR
sche Turingmaschine M , die den Lese-/Schreibkopf 1ÑR
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.
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.
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:
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.