Automaten, Sprachen und Komplexität, ¨Ubungsblatt 13

Werbung
TU Ilmenau, Fachgebiet Automaten und Logik
Prof. Dr. Dietrich Kuske, Roy Mennicke, Martin Huschenbett
Abgabe am 29.01., Besprechung am 29.01. und. 30.01.
Automaten, Sprachen und Komplexität, Übungsblatt 13
Wir führen zunächst die folgenden Definitionen ein:
• Sei C eine unendliche Menge von Farben. Eine Kachel ist ein Quadrat, dessen Kanten mit
Farben aus C gefärbt sind. Betrachte beispielsweise die folgende Kachel (wobei a, b, c ∈ C):
a
b
a
b
Für eine gegebene Kachel κ bezeichnet N (κ) ∈ C, S(κ) ∈ C, W (κ) ∈ C bzw. E(κ) ∈ C die
Farbe der oberen, unteren, linken bzw. rechten Kante. Im Beispiel gilt N (κ) = S(κ) = a und
W (κ) = E(κ) = b.
• Sei K eine endliche Menge von Kacheln. Wir beschäftigen uns mit der Frage, ob sich mittels
K die unendliche Ebene so kacheln lässt, dass sich berührende Kanten die gleiche Farbe
haben. Enthält K beispielsweise nur die obige Beispielkachel, dann ist sehr wohl eine solche
Kachelung möglich:
..
.
a
b
...
b
b
a
a
a
a
a
a
b b
b b
b b
a
a
a
a
a
..
.
a
b b
b b
b b
a
a
a
a
a
b
b
...
b
Formal ist eine K-Kachelung eine Abbildung γ : Z2 → K, so dass für alle (i, j) ∈ Z2 gilt:
N (γ(i, j)) = S(γ(i, j + 1))
S(γ(i, j)) = N (γ(i, j − 1))
W (γ(i, j)) = E(γ(i − 1, j))
E(γ(i, j)) = W (γ(i + 1, j))
• Das eingeschränkte Kachelproblem (Wang, 1961) ist definiert durch:
Eingabe:
Frage:
endliche Menge K von Kacheln und Kachel κ ∈ K
Gibt es eine K-Kachelung γ mit γ(0, 0) = κ?
Bearbeiten Sie die folgenden Teilaufgaben:
(1) Gibt es eine Kachelung für die folgende Menge von Kacheln? Begründen Sie.
(
)
a
c
b
K1 = c a , c
c, a c
a
c
b
(2) Gibt es eine Kachelung für die folgende Menge von Kacheln? Begründen Sie.
(
)
c
a
b
K2 = a c , c
c, c a
a
c
b
(3) Geben Sie eine endliche Menge von Kacheln K, eine Kachel κ ∈ K, und eine Abbildung
λ : K → {0, 1, #} an, so dass es wenigstens eine K-Kachelung γ mit γ(0, 0) = κ gibt und für
jede solche Kachelung gilt:
(i) In dem von (0, 0) begrenzten, nach links und oben unendlichen Quadranten Q wird
zeilenweise binär gezählt.
(ii) Alle Kacheln κ0 außerhalb von Q sind mit # beschriftet (d.h., λ(κ0 ) = #).
Mit Punkt (i) ist Folgendes gemeint: Die Position (0, 0) ist die rechte untere Ecke von Q und
gehört damit zu Q. Die unterste Zeile in Q ist mit dem nach links unendlichen Wort . . . 00000
beschriftet (die Beschriftung erfolgt mittels λ). Die zweite Zeile in Q ist mit . . . 000001, die
dritte mit . . . 000010, die vierte mit . . . 000011 usw. beschriftet.
Versuchen Sie möglichst wenige Farben zu verwenden.
(4) Sei M = (Z, Σ, Γ, δ, z0 , 2, E) eine beliebige TM. Wenn im Folgenden von einer Konfiguration
von M die Rede ist, dann wollen wir, im Gegensatz zum üblichen Vorgehen, den aktuellen
Zustand q und den Buchstaben a, über dem aktuell der Schreib-Lese-Kopf steht, zu einem
Symbol (q, a) zusammenfassen. Eine Konfiguration von M ist also ein Wort aus der Sprache
Γ∗ (Z × Γ)Γ∗ .
Geben Sie eine endliche Menge von Kacheln K, eine Kachel κ ∈ K und eine Abbildung
λ : K → Z ∪ Γ ∪ (Z × Γ) ∪ {#} mit λ(κ) = (z0 , 2) an, so dass eine unendliche Berechnung
c1 ` c2 ` c3 ` . . . von M auf der leeren Eingabe existiert (d.h., M hält auf ε nicht) gdw. es
eine K-Kachelung γ mit γ(0, 0) = κ gibt. Für jede K-Kachelung γ mit γ(0, 0) = κ sollen die
folgenden beiden Bedingungen erfüllt sein:
(i) In den Zeilen unter der Position (0, 0) sind alle Kacheln mit # beschriftet.
(ii) Die Konfiguration c` ist die Beschriftung der `-ten (beiderseitig unendlichen) Zeile über
den Zeilen, deren Kacheln ausschließlich mit dem #-Symbol beschriftet sind. Damit steht
die Konfiguration c1 in der Zeile der Position (0, 0), die Konfiguration c2 in der Zeile direkt
darüber etc.
Hinweis: Es bietet sich an, die Farben Z ∪ Γ ∪ (Z × Γ) zu verwenden. Daneben werden Sie aber
noch weitere benötigen. Sie können beispielsweise Kacheln der folgenden Form verwenden, um
eine Transition (p, b, R) ∈ δ(q, a) zu simulieren.
b
(p, c)
p
p
(q, a)
c
(5) Folgern Sie aus Teilaufgabe (4), dass das eingeschränkte Kachelproblem nicht semi-entscheidbar
ist.
Aufgabe zum Selbststudium (nicht bewertet)
(6) Im Folgenden bezeichnen wir mit ubin(n) die binäre Darstellung von n ∈ N, die auf der linken
Seite mit unendlich vielen Nullen aufgefüllt wurde. Bearbeiten Sie die Aufgabe (3) unter der
Prämisse, dass in dem Quadranten Q die (binäre Darstellung der) Folge der Fibonacci-Zahlen
angegeben sein soll. Die unterste Zeile in Q ist also mit ubin(fib(0)) beschriftet. Die zweite Zeile
ist mit ubin(fib(1)), die dritte mit ubin(fib(2)), die vierte mit ubin(fib(3)) usw. beschriftet.
2
Herunterladen