VL-07: Das Postsche Correspondenzproblem
(Berechenbarkeit und Komplexit¨ at, WS 2019) Gerhard Woeginger
WS 2019, RWTH
Organisatorisches
N¨achste Vorlesungen:
Mittwoch, November 13, 10:30–12:00, Aula Freitag, November 15, 12:30–14:00 Uhr, Audimax
Webseite:
https://algo.rwth-aachen.de/Lehre/WS1920/BuK/BuK.py
Wiederholung
Wdh.: Entscheidbarkeit und Rekursive Aufz¨ ahlbarkeit
Eine SpracheListentscheidbar, falls eine TMM existiert, die auf jeder Eingabe h¨alt, und
die genau die W¨orter ausL akzeptiert.
Eine SpracheListsemi-entscheidbar, falls eine TMM existiert, die jedes Wort ausL akzeptiert, und
die kein Wort akzeptiert, das nicht inL enthalten ist.
Eine SpracheListrekursiv aufz¨ahlbar, falls ein Aufz¨ahlerAexistiert, der jedes Wort inL(mindestens einmal) druckt, und
der kein Wort druckt, das nicht in Lenthalten ist.
Fakt: Lsemi-entscheidbar ⇐⇒ Lrekursiv aufz¨ahlbar
Wdh.: Abschlusseigenschaften von Sprachen
Satz
Die Menge derentscheidbarenSprachen ist abgeschlossen unter Komplementbildung, Vereinigung und Durchschnitt.
Satz
Die Menge derrekursiv aufz¨ahlbarenSprachen
ist abgeschlossen unter Vereinigung und Durchschnitt aber nichtabgeschlossen unter Komplementbildung Das HalteproblemH ist rekursiv aufz¨ahlbar.
Das KomplementH ist nicht rekursiv aufz¨ahlbar.
Wdh.: Berechenbarkeitslandschaft
rekursiv aufz¨ahlbare
Probleme H
H D
Probleme mit rekursiv aufz¨ahlbarem Komplement H H
D entscheidbare
Probleme
Nicht rekursiv aufz¨ahlbare Probleme mit
nicht rekursiv aufz¨ahlbarem Komplement Htot
Wdh.: Reduktionen (1)
Definition
Es seienL1 undL2 zwei Sprachen ¨uber einem AlphabetΣ.
Dann heisstL1aufL2 reduzierbar (mit der NotationL1≤L2), wenn eine berechenbare Funktionf: Σ∗→Σ∗ existiert, so dass f¨ur allex∈Σ∗gilt: x∈L1 ⇔ f(x)∈L2.
Satz
Es seienL1 undL2 zwei Sprachen mitL1≤L2. L2entscheidbar ⇒ L1entscheidbar
L2rekursiv aufz¨ahlbar ⇒ L1 rekursiv aufz¨ahlbar L1nicht entscheidbar ⇒ L2 nicht entscheidbar
L1nicht rekursiv aufz¨ahlbar ⇒ L2 nicht rekursiv aufz¨ahlbar
Wdh.: Reduktionen (2)
Eine Reduktion ist ein Algorithmus, der die Instanzen eines Startproblems L1
als Spezialf¨alle eines ZielproblemsL2 modelliert.
M1 f¨urL1
x Reduktion:
Ubersetze¨ x inf(x)
f(x)
M2 f¨urL2
accept
reject
Vorlesung VL-07
Das Postsche Correspondenzproblem
Definition des PCP Definition des MPCP
Unentscheidbarkeit von MPCP und PCP Leichte und schwierige Varianten
Das Postsche Correspondenzproblem (1)
DasPostsche Correspondenzproblem(PCP) ist ein Puzzle aus Dominos.
Gegeben ist eine MengeK von Dominosteinen.
Jeder Dominostein ist mit zwei W¨ortern ¨uber einem AlphabetΣ beschriftet, und zwar mit einem Wort in der oberen H¨alfte und einem Wort in der unteren H¨alfte.
Die Aufgabe besteht darin, einecorrespondierende Folgevon Dominos ausK zu finden, mit der sich oben und unten jeweils das selbe Wort ergibt.
In der Folge darf jeder Dominostein beliebig oft verwendet werden.
Die Folge muss mindestens einen Dominostein enthalten.
Das Postsche Correspondenzproblem (2)
Beispiel A
F¨ur die Dominomenge K =
b ca
,
a ab
,
ca a
,
dbd cef
,
abc c
,
caeef abce
gibt es die correspondierende Folgeh2,1,3,2,5imit a
ab b ca
ca a
a ab
abc c
Das Postsche Correspondenzproblem (3)
Beispiel B
Nicht f¨ur jede MengeK existiert eine correspondierende Folge, wie zum Beispiel f¨ur die Dominomenge
K =
abc ca
,
b aa
,
abcb abc
,
abc bc
Warum hat dieses PCP keine L¨osung?
Das Postsche Correspondenzproblem (4)
Als ¨Ubung k¨onnen Sie versuchen, mit Computer Programmen die k¨urzeste L¨osung f¨ur die folgenden drei PCPs zu finden:
Beispiel C
K1=
aaba a
,
baab aa
,
a aab
K2= aaa
aab
, baa
a
, ab
abb
, b
aa
K3= aab
a
, a
ba
, b
aab
Das Postsche Correspondenzproblem (5)
Formale Definition (Postsches Correspondenzproblem, PCP) EineInstanzdes PCP besteht aus einer endlichen Menge
K = x1
y1
, . . . ,
xk
yk
wobeix1, . . . ,xk undy1, . . . ,yk nichtleere W¨orter ¨uber einem endlichen AlphabetΣsind.
Das Problem besteht darin, zu entscheiden, ob es eine (nicht-leere) correspondierende Folgehi1, . . . ,inivon Indizes in{1, . . . ,k} gibt, sodass
xi1xi2. . .xin = yi1yi2. . .yin
Die Elemente vonK nennen wirDominosteineoderDominos.
Emil Leon Post (1897–1954)
Wikipedia: Emil Post was a Polish-American mathematician and logician.
He is best known for his work in the field that eventually became known as computability theory.
In 1936, Post developed, independently of Alan Turing, a mathematical model of computation which is sometimes called Post’s machine or a Post-Turing machine.
Post’s rewrite technique is now ubiquitous in programming language specification and design, and so with Church’s lambda-calculus is a salient influence of classical modern logic on practical computing.
Das modifizierte PCP
Definition (Modifiziertes PCP; kurz: MPCP)
Eine Instanz des MPCP besteht aus einer endlichen Menge K =
x1
y1
, . . . , xk
yk
wobeix1, . . . ,xk undy1, . . . ,yk nicht-leere W¨orter ¨uber einem endlichen AlphabetΣsind.
Das Problem besteht darin zu entscheiden, ob es eine correspondierende Folgehi1, . . . ,inivon Indizes mit i1=1 gibt, sodass gilt:
xi1xi2. . .xin = yi1yi2. . .yin
(Die Modifikation besteht also nur darin, dass der Stein x1
y1
das vorgegebene Startdomino ist, mit dem die correspondierende Folge beginnen muss.)
Arbeitsplan
Unser Arbeitsplan
Wir werden die folgenden beiden Aussagen beweisen.
Satz A
MPCP≤PCP
Satz B H≤MPCP
Die Transitivit¨at der Reduzierbarkeit (¨Ubung) impliziertH≤PCP.
Satz
Das PCP ist unentscheidbar.
Berechenbarkeitslandschaft
rekursiv aufz¨ahlbare
Probleme
H
H D
Probleme mit rekursiv aufz¨ahlbarem Komplement H H
D entscheidbare
Probleme
Nicht rekursiv aufz¨ahlbare Probleme mit
nicht rekursiv aufz¨ahlbarem Komplement Htot MPCP
PCP
Ubung ¨
Ubung¨ Zeigen Sie:
Das PCP ist rekursiv aufz¨ahlbar.
Das MPCP ist rekursiv aufz¨ahlbar.
Idee:
Zuerst testet man alle correspondierenden Folgen der L¨ange 1.
Dann testet man alle correspondierenden Folgen der L¨ange 2.
Dann testet man alle correspondierenden Folgen der L¨ange 3.
Dann testet man alle correspondierenden Folgen der L¨ange 4.
Usw., usw., usw., usw.
Beweis von Satz A:
MPCP ≤ PCP
Beweis von MPCP ≤ PCP (1)
Wir modellieren eine MPCP Instanz als PCP Instanz:
Wir betrachten MPCP Instanz K = x1
y1
, . . . , xk
yk
Es seien #und$ zwei Symbole, die nicht im MPCP vorkommen Wir konstruieren xi0 ausxi,
indem wirhinterjedem Buchstaben ein#einf¨ugen Wir konstruieren yi0 ausyi,
indem wirvorjedem Buchstaben ein#einf¨ugen
Ferner setzen wir x00 = #x10; y00 =y10; xk+10 = $; und yk0+1= #$.
Damit berechnen wir die folgende PCP Instanz f(K) =
x00 y00
, x10
y10
, . . . , xk0
yk0
, xk+10
yk+10
Beweis von MPCP ≤ PCP (2)
Beispiel:
MPCP K = ab
a
,h c
abc i
,ha b
i
wird modelliert als PCPf(K) =
#a#b#
#a
, a#b#
#a
,
c#
#a#b#c
, a#
#b
, $
#$
L¨osung des MPCP:
ab a
a b
ab a
c abc
Entsprechende L¨osung des PCP:
#a#b#
#a
a#
#b
a#b#
#a
c#
#a#b#c
$
#$
Beweis von MPCP ≤ PCP , Korrektheit (1)
Wir zeigen: (1) WennK∈MPCP, dannf(K)∈PCP
Es sei(i1,i2, . . . ,in)L¨osung f¨ur MPCPK. Dann gilti1=1und xi1xi2. . .xin = yi1yi2. . .yin = a1a2. . .as
f¨ur gewisse Buchstaben a1, . . . ,as ausΣ.
Dann ist(0,i2, . . . ,in,k+1)eine L¨osung f¨ur PCPf(K), denn x00xi02. . .xi0n$ = #a1#a2#. . .#as#$ = y00yi02. . .yi0n#$
Aus einer L¨osung f¨ur das MPCPK l¨asst sich also eine L¨osung f¨ur das PCPf(K)konstruieren. Damit ist die Implikation (1) gezeigt.
Beweis von MPCP ≤ PCP , Korrektheit (2)
Wir zeigen: (2) Wennf(K)∈PCP, dannK∈MPCP
Es sei(i1,i2, . . . ,in)eine L¨osungminimaler L¨angef¨urf(K).
Fakt A: i1=0, da nurx00 undy00 mit dem selben Zeichen beginnen Fakt B:in=k+1, da nurxk+10 undyk0+1 mit selbem Zeichen enden Fakt C:ij6=k+1f¨ur1≤j<n. Andernfalls k¨urzere L¨osung.
Fakt D: ij 6=0f¨ur2≤j≤n. Andernfalls folgen im oberen Wort zwei# direkt aufeinander, was im unteren Wort unm¨oglich ist.
Durch das L¨oschen aller#und $Symbole wird das PCP L¨osungswort also zum MPCP L¨osungswort.
Beweis von Satz B:
H ≤ MPCP
(Illustrierendes Beispiel)
Illustrierendes Beispiel (1)
Wir betrachten die TMM= (Q,Σ,Γ,B,q0,q, δ)
mitΣ ={0,1}, Γ ={0,1,B}, undQ={q0,q1,q2,q}, und mit der folgenden ¨Uberf¨uhrungsfunktionδ:
δ 0 1 B
q0 (q0,0,R) (q1,1,R) (q,1,N) q1 (q2,0,R) (q1,1,R) (q,1,N) q2 (q2,0,R) (q2,1,R) (q2,B,R)
Diese TMM erkennt die Sprache 0∗1∗:
Bei Eingabeworten in0∗1∗erreicht die Berechnung den Zustandq, und die Maschine akzeptiert.
Bei Eingabeworten nicht in0∗1∗ bleibt die Berechnung im Zustand q2 stecken, und der Kopf l¨auft weiter und weiter nach rechts.
Illustrierendes Beispiel (2)
Die Berechnung der TMM auf einem gegebenen Eingabewort wird durch eine Konfigurationsfolge beschrieben:
Konfigurationsfolge vonM auf Eingabew =0011
q00011 ` 0q0011 ` 00q011 ` 001q11 ` 0011q1B ` 0011q1
Wir werden solche Konfigurationsfolgen nun durch geeignet gew¨ahlte Dominos in einem MPCP beschreiben, kodieren, und simulieren.
Dominosteine / Teil 1
BeimStartdominobesteht das untere Wort aus der Anfangskonfiguration mit drei zus¨atzlichen Trennzeichen:
#
##q00011#
Illustrierendes Beispiel (3)
Dominosteine / Teil 2
Weiters gibt es f¨ur jedes Zeichen ausΓ∪ {#}einen entsprechenden Stein:
0 0
, 1
1
, B
B
, #
#
Dominosteine / Teil 3
Auch f¨ur jeden Eintrag in der Tabelle der Uberf¨¨ uhrungsfunktionδ gibt es einen entsprechenden Stein, der den jeweiligen ¨Ubergang inklusive der Kopfbewegung beschreibt:
q00 0q0
, q01
1q1
, q0B
q1
, q10
0q2
, q11
1q1
, q1B
q1
, q20
0q2
, q21
1q2
, q2B
Bq2
(Achtung: Die Konstruktion wird sp¨ater noch erweitert und fortgesetzt.)
Illustrierendes Beispiel (4)
Beobachtung:
Angenommen, wir erg¨anzen den Startdomino
#
##q00011#
mit einer Folge von Dominos aus der bisherigen Liste von Dominos derart, dass der obere String einen Pr¨afix des unteren Strings bildet.
In der ersten Erg¨anzungsphase konstruieren wir dadurch im unteren String die Nachfolge-Konfiguration von M f¨urq00011.
In den sp¨ateren Erg¨anzungsphasen konstruieren wir weitere Nachfolge-Konfigurationen, wobei der obere String dem unteren String immer um genau eine Konfiguration nachhinkt.
Illustrierendes Beispiel (5)
Rekonstruktion der Konfigurationsfolge
Die ersten Dominos in der L¨osung des Puzzles sind #
##q00011#
#
# q00 0q0
0 0
1 1
1 1
#
# #
# 0 0
q00 0q0
1 1
1 1
#
# #
# 0 0
0 0
q01 1q1
1 1
#
# #
# 0 0
0 0
1 1
q11 1q1
#
# #
# 0 0
0 0
1 1
1 1
q1# q1#
. . . .
Illustrierendes Beispiel (6)
Achtung! Achtung! Achtung!
Der letzte Schritt war illegal,
da er einen nicht definierten Dominostein verwendet.
Deshalb erg¨anzen wir nun die Liste erlaubter Dominos:
Dominosteine / Teil 4
Die folgenden Dominos realisieren ¨Uberf¨uhrungen, die ein zus¨atzliches Blank-Symbolben¨otigen, da der Kopf am Ende des Wortes steht.
q0# q1#
,
q1# q1#
Illustrierendes Beispiel (7)
Wie beenden wir die Geschichte nun?
Wie erm¨oglichen wir es dem oberen String, seinen ewigen R¨uckstand am Ende der Rechnung doch noch aufzuholen?
Dominosteine / Teil 5
Wir f¨uhren einige Dominos ein, die nur dann zum Einsatz kommen k¨onnen, wenn derEndzustandq bereits erreicht ist:
q0 q
,
q1 q
,
qB q
,
0q q
,
1q q
,
Bq q
Schlussendlich f¨ugen wir noch denAbschlussdominohinzu:
#q##
#
Illustrierendes Beispiel (8)
Rekonstruktion der Konfigurationsfolge / Fortsetzung
. . . #
# 0 0
0 0
1 1
1 1
q1# q1#
#
# 0 0
0 0
1 1
1 1
q1 q
#
# #
# 0 0
0 0
1 1
1q q
#
# #
# 0 0
0 0
1q q
#
# #
# 0 0
0q q
#
# #
# 0q
q
#
#
#q##
#
(Und fertig)
Beweis von Satz B:
H ≤ MPCP
(Die formalen Details)
Zur¨ uck zum Beweis von Satz B
Nach dem illustrierenden Beispiel kommen wir zum eigentlichen Beweis von Satz B und beweisen die AussageH≤MPCP.
Wir beschreiben eine berechenbare Funktionf, die eine syntaktisch korrekte InstanzhMiw f¨urs HalteproblemH in eine syntaktisch korrekte InstanzK:=f hMiw
f¨urs MPCP ¨ubersetzt
Dabei gilt: M h¨alt auf w ⇐⇒ K hat correspondierende Folge Syntaktisch nicht korrekte Eingaben f¨urH werden auf syntaktisch nicht korrekte Eingaben f¨urs MPCP abgebildet
F¨ur die MPCP Instanz verwenden wir das AlphabetΓ∪Q∪ {#}mit
#6∈Γ∪Q
Die Reduktion (1)
Dominosteine (Startdomino) DerStartdominoist von der Form
#
##q0w#
Dominosteine (Kopierdominos)
Weiters enth¨altK die folgendenKopierdominos:
ha a i
f¨ur allea∈Γ∪ {#}
Die Reduktion (2)
Dominosteine (¨Uberf¨uhrungsdominos) qa
q0c
falls δ(q,a) = (q0,c,N), f¨urq∈Q\ {q},a∈Γ qa
cq0
falls δ(q,a) = (q0,c,R), f¨urq∈Q\ {q},a∈Γ bqa
q0bc
falls δ(q,a) = (q0,c,L), f¨urq∈Q\ {q}, a,b∈Γ
Die Reduktion (3)
Dominosteine (¨Uberf¨uhrungsdominos f¨ur implizite Blanks) #qa
#q0Bc
fallsδ(q,a) = (q0,c,L), f¨urq∈Q\ {q}, a∈Γ q#
q0c#
fallsδ(q,B) = (q0,c,N), f¨urq∈Q\ {q}
q#
cq0#
fallsδ(q,B) = (q0,c,R), f¨urq∈Q\ {q}
bq#
q0bc#
fallsδ(q,B) = (q0,c,L), f¨urq∈Q\ {q}, b∈Γ #q#
#q0Bc#
fallsδ(q,B) = (q0,c,L), f¨urq∈Q\ {q}
Die Reduktion (4)
Dominosteine (L¨oschdominos)
Weiters enth¨altK die folgendenL¨oschdominos:
aq q
und
qa q
f¨ura∈Γ
Dominosteine (Abschlussdomino) DerAbschlussdominoist von der Form
#q##
#
Die Reduktion und die Beschreibung der Funktionf sind damit abgeschlossen.
Korrektheitsargument
Das Korrektheitsargument besteht aus drei Teilen:
(1) f ist berechenbar (ist bereits erledigt) (2) M h¨alt aufw ⇒ K∈MPCP (Hinrichtung) (3) K ∈MPCP ⇒ M h¨alt aufw (R¨uckrichtung)
Korrektheit: Hinrichtung (1)
Wir wollen zeigen: M h¨alt aufw ⇒ K∈MPCP
Die Berechnung vonM aufw entspricht einer Konfigurationsfolge k0 ` k1 ` · · · ` kt−1 ` kt
wobeik0die Startkonfiguration im Zustandq0undkt die Endkonfiguration im Zustand qist.
Wir konstruieren eine correspondierende Folge, die mit dem Startdomino beginnt und die Konfigurationsfolge nachbaut.
Der obere String ist dann ein Pr¨afix des unteren Strings:
##k0##k1## · · · ##kt−1#
Der untere String gibt die vollst¨andige Konfigurationsfolge an:
##k0##k1## · · · ##kt−1##kt#
Korrektheit: Hinrichtung (2)
Wir wollen zeigen: M h¨alt aufw ⇒ K∈MPCP
Der obere String ist dann ein Pr¨afix des unteren Strings:
##k0##k1## · · · ##kt−1#
Der untere String gibt die vollst¨andige Konfigurationsfolge an:
##k0##k1## · · · ##kt−1##kt#
Durch Hinzuf¨ugen von einer Folge von L¨oschdominos kann das Nachhinken des oberen Strings fast ausgeglichen werden.
Danach sind beide Strings identisch bis auf einen Suffix der Form
#q#, der im oberen String fehlt.
Hinzuf¨ugen des Abschlussdominos macht beide Strings identisch.
Korrektheit: R¨ uckrichtung
Wir wollen zeigen: K∈MPCP ⇒ M h¨alt aufw
Die Dominosteine im MPCP haben die folgenden Eigenschaften:
Beim Startdomino ist der obere String k¨urzer als der untere Bei den Kopier- und ¨Uberf¨uhrungsdominos ist der obere String immer h¨ochstens so lang wie der untere String
Nur auf Abschluss- und L¨oschdominos ist der obere String l¨anger als der untere String
Die correspondierende Folge f¨urK liefert uns eine entsprechende Konfigurationsfolge vonM aufw.
Diese Konfigurationsfolge beginnt mit dem Startdomino Diese Konfigurationsfolge muss zumindest einen L¨osch- oder Abschlussdomino enthalten (andernfalls w¨are der untere String l¨anger als der obere String)
Deshalb erscheint der Zustand qin dieser Konfigurationsfolge.
Leichte und schwierige Varianten
des PCPs
Varianten des PCPs (1)
Wie verhalten sich eingeschr¨ankte Varianten des Problems?
Falls nur kurze W¨orter erlaubt sind:
Wenn alle W¨orter auf den Dominos L¨ange 1 haben, so ist das PCP entscheidbar.
Wenn alle W¨orter L¨ange 1 oder 2 haben, so ist das PCP unentscheidbar.
Varianten des PCPs (2)
Falls nur wenige Dominos erlaubt sind:
F¨ur 1 Domino ist das PCP trivial.
F¨ur 2 Dominos ist das PCP entscheidbar.
[Ehrenfeucht & Rozenberg](1981)
F¨ur 3 und 4 Dominos ist die Entscheidbarkeitungekl¨art.
F¨ur 5 Dominos ist das PCP unentscheidbar. [Neary](2015) F¨ur 7 Dominos ist das PCP unentscheidbar.
[Matiyasevich & S´enizergues](1996) F¨ur unbeschr¨ankt viele Dominos ist das PCP unentscheidbar.
[Post](1947)