35
UNIVERSIT ¨ AT KONSTANZ Theoretische Grundlagen der Informatik SS 03 Fachbereich Informatik & Informationswissenschaft www.inf.uni-konstanz.de/algo/lehre/ss03/theo Dr. Bernd G¨ artner, Carola Haid, Jasper M¨ oller, Frank Schulz ¨ Ubungsaufgaben und L¨ osungen zur Vorlesung Theoretische Grundlagen der Informatik

Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

Embed Size (px)

Citation preview

Page 1: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

UNIVERSITAT KONSTANZ Theoretische Grundlagen der Informatik SS 03

Fachbereich Informatik & Informationswissenschaft www.inf.uni-konstanz.de/algo/lehre/ss03/theo

Dr. Bernd Gartner, Carola Haid, Jasper Moller, Frank Schulz

Ubungsaufgaben und Losungen

zur Vorlesung

Theoretische Grundlagen der Informatik

Page 2: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

2 1. UBUNGSBLATT

1. Ubungsblatt

Aufgabe 1 Gib fur den bereits in der Vorlesung betrachteten DEA aus Abbildung 1 die formaleSpezifikation in der Form (Q,Σ, δ, q0, F ) an.

0 1

2

0

1

1

0

1

0

Abbildung 1: Der DEA fur Teilbarkeit durch 3

Losung:

Q = {0, 1, 2},

Σ = {0, 1},

δ(0, 0) = 0,

δ(0, 1) = 1,

δ(1, 0) = 2,

δ(1, 1) = 0,

δ(2, 0) = 1,

δ(2, 1) = 2,

q0 = 0,

F = {0}.

Aufgabe 2 Eine gultige Binarzahl beginnt mit einer 1, oder sie besteht nur aus der Ziffer 0.Der DEA aus Abbildung 1 akzeptiert auch Worter, die keiner gultigen Binarzahl entsprechen (z.B.0011 und ε).

Modifiziere den DEA so, dass genau die Worter akzeptiert werden, die eine gultige Binarzahldarstellen, die durch 3 teilbar ist.

Losung:

Page 3: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

Aufgabe 3 3

0 1

2

0

1

1

0

1

0

Null

Start

Aus

1

0

0,10,1

Aufgabe 3 Beschreibe in Worten die Sprache, die von dem in Abbildung 2 angegebenen Auto-maten M akzeptiert wird.

0 1

2

0

1

0

1

0,1

Abbildung 2: Der DEA M

Losung:M akzeptiert alle Worter, die aus einer (moglicherweise leeren) Folge von Nullen, gefolgt voneiner (moglicherweise leeren) Folge von Einsen bestehen.

Page 4: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

4 2. UBUNGSBLATT

2. Ubungsblatt

Aufgabe 1 Sei Σ = {0, 1} und L die Sprache aller Worter aus Σ∗, die mehr Nullen als Einsenenthalten. Beweise, dass L nicht regular ist.

Losung:Wir gehen wie in der Vorlesung vor und nehmen an, es gebe einen DEA M , der L akzeptiert.Dieser habe k Zustande. Dann gibt es nach dem pigeon-hole principle unter den k + 1 Wortern

{0n | 0 ≤ n ≤ k}

zwei Worter0n1 , 0n2 , n1 6= n2,

nach deren Abarbeitung sich M im gleichen Zustand befindet.Wir konnen annehmen, dass n1 < n2 gilt, andernfalls vertauschen wir die Rollen von n1 und

n2. Nun betrachten wir wieder die Worter

w1 = 0n11n1 , w2 = 0n21n1 ,

nach deren Bearbeitung sich M dann auch jeweils im gleichen Zustand q befindet.Ist q ein akzeptierender Zustand, wird das Wort w1 akzeptiert, obwohl w1 nicht mehr Nullen

als Einsen enthalt, was im Widerspruch dazu steht, dass M die Sprache L erkennt.Ist q hingegen ein zuruckweisender Zustand, so wird w2 nicht akzeptiert, obwohl w2 mehr

Nullen als Einsen enthalt. Wie vorher ergibt sich ein Widerspruch zur Annahme, M akzeptiere L.

Aufgabe 2 Konstruiere einen DEA, der die Sprache

L := {w ∈ {0, 1}∗ | |w| ≥ 2 und w beginnt und endet mit dem gleichen Symbol}

erkennt. |w| bezeichnet dabei die Lange von w.

Losung:

1

Aus0

Aus1

0

0

1

0

11

0

1

0

0

1Start

Page 5: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

Aufgabe 4 5

Aufgabe 3 Beweise, dass jede endliche Sprache regular ist. (Eine endliche Sprache besteht nuraus endlich vielen Wortern.)

Losung:Sei L eine endliche Sprache und w das langste Wort in der Sprache L. Nehmen wir an, w hat Langem. Nun konnen wir einen DEA konstruieren, der fur jedes mogliche Wort der Lange hochstens mgenau einen Zustand hat, in dem sich der Automat nach Abarbeitung des Wortes befindet. Dannmachen wir einfach genau die Zustande, die zu Wortern in L korrespondieren, zu akzeptierendenZustanden. Ausserdem gibt es noch einen (zuruckweisenden) Zustand fur alle Worter der Langegrosser als m.

Der entsprechende DEA hat eine Baumstruktur und besteht aus Zustanden auf verschiedenenStufen (0 bis m). Jeder Zustand auf Stufe i hat dann einen Nachfolgezustand auf Stufe i + 1 furjedes Symbol s im Alphabet Σ. Die Abbildung zeigt einen DEA fur Σ = {0, 1} und m = 2. Dieakzeptierte Sprache ist

L = {ε, 00, 10}.

ε

0

1

00

01

10

11

Aus

1

1

1

0

0,1

0,1

0,1

0,1

0

0

0, 1

Aufgabe 4 Seien p und q zwei teilerfremde naturliche Zahlen, Σ = {0}. Sei L ⊆ Σ∗ die Sprache

L = {0k | k ≥ 0 und k ist Vielfaches von p oder q}.

(a) Skizziere einen NEA, der L erkennt. (Da p und q unbestimmt sind, soll dieser schematischangegeben werden, unter Verwendung von · · · oder ahnlichen

”usw.“-Schreibweisen.) Wieviele

Zustande hat der NEA?(b) Beweise, dass jeder DEA, der L erkennt, mindestens pq Zustande haben muss.

Losung:(a)

Page 6: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

6 2. UBUNGSBLATT

Start

0

12

p-1

0

12

q-1

0

0

0

0

00

0

0

0

ε

Dieser NEA hat p+ q + 1 Zustande.(b) Angenommen, es gibt einen DEA M mit weniger als pq Zustanden, der L erkennt. Nach dempigeonhole-principle muss es dann unter den pq Wortern

00, 01, . . . , 0pq−1

zwei Worter 0k1 , 0k2 , k1 6= k2 geben, nach deren AbarbeitungM sich im gleichen Zustand befindet.O.B.d.A. konnen wir k1 < k2 annehmen. Die Zahl k2−k1 ist kleiner als pq und kann deshalb nichtVielfaches von p und q sein (hier verwenden wir die Teilerfremdheit von p und q, aus der folgt,dass jedes Vielfache von p und q auch Vielfaches von pq ist). O.B.d.A. nehmen wir an, dass k2−k1

nicht Vielfaches von p ist, dass also

k1 6≡ k2 (mod p) (1)

gilt.Ferner ist M auch nach Abarbeitung der Worter 0k1+s, 0k2+s jeweils im gleichen Zustand, fur

alle s ≥ 0. Wahle s so, dassk1 + s ≡ 0 (mod p)

gilt. Wegen (1) gilt dannk2 + s 6≡ 0 (mod p).

Da 0k1+s akzeptiert wird (k1 + s ist durch p teilbar), muss auch 0k2+s akzeptiert werden. Daaber k2 + s nicht durch p teilbar ist, muss es durch q teilbar sein, es gilt also

k2 + s ≡ 0 (mod q). (2)

Offenbar ist k1 + s + p ebenfalls durch p teilbar, so dass 0k1+s+p akzeptiert wird. Dann mussauch wie vorher 0k2+s+p akzeptiert werden. Da k2 + s nicht durch p teilbar ist, kann dies auchk2 + s+ p nicht sein; damit 0k2+s+p trotzdem akzeptiert wird, muss dann wiederum

k2 + s+ p ≡ 0 (mod q) (3)

Page 7: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

Aufgabe 4 7

gelten. Aus (2) und (3) folgt dann aber auch

p ≡ 0 (mod q),

was nur der Fall sein kann, wenn pVielfaches von q ist, Wegen der angenommenen Teilerfremdheitvon p und q fuhrt dies zu einem Widerspruch.

Page 8: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

8 3. UBUNGSBLATT

3. Ubungsblatt

Aufgabe 1 Ein Wort w ist Prafix eines anderen Wortes w′, wenn w ein Anfangsstuck von w′ ist.Gilt daruber hinaus noch w 6= w′, so ist w ein echtes Prafix von w′.

Sei L eine Sprache und betrachte die folgenden beiden abgeleiteten Sprachen.

(i) NOEXTEND(L) := {w ∈ L | w ist kein echtes Prafix eines Wortes w′ ∈ L}.

(ii) NOPREFIX(L) := {w ∈ L | kein w′ ∈ L ist echtes Prafix von w}.

Beweise, dass mit L auch NOEXTEND(L) und NOPREFIX(L) regular sind.

Losung:(i) Betrachte einen DEA M , der L erkennt. NOEXTEND(L) besteht dann aus allen Wortern w,die akzeptiert werden, ohne dass ein um beliebige Symbole erweitertes Wort w ′ akzeptiert wird.Nun gibt es in M (moglicherweise) zwei Arten von akzeptierenden Zustanden. F1 bezeichne dieMenge der akzeptierenden Zustande, von denen es keinen Weg (entlang der Pfeile) zu einem ak-zeptierenden Zustand gibt, F2 sind die akzeptierenden Zustande, von denen man entlang der Pfeilezu mindestens einem akzeptierenden Zustand gelangen kann.

Ein Wort w ∈ L, das in einem Zustand aus F1 akzeptiert wird, ist offenbar in NOEXTEND(L),denn wie immer man das Wort auch verlangert, man wird nie wieder in einen akzeptierendenZustand gelangen.

Ein Wortw ∈ L, das in einem Zustand ausF2 akzeptiert wird, ist dagegen nicht in NOEXTEND(L),denn verlangern wir es so, dass genau der nach Voraussetzung existierende Weg zu einem akzep-tierenden Zustand genommen wird, haben wir ein Wort w′ ∈ L gefunden, von dem w ein echtesPrafix ist.

Einen Automaten M ′, der NOEXTEND(L) erkennt, erhalten wir deshalb ganz einfach ausM , indem wir die akzeptierenden Zustande in F2 zu zuruckweisenden Zustanden machen. Dannakzeptiert M ′ wie gewunscht genau die w ∈ L, die auch in NOEXTEND(L) liegen.

(ii) NOPREFIX(L) enthalt genau die Worter aus L, die M in einen akzeptierenden Zustandbringen, wobei dieser Zustand der erste akzeptierende Zustand ist, der in der Berechnung auftritt.Wir mussen bei der Konstruktion eines erkennenden Automaten M ′ also dafur sorgen, dass einakzeptierender Zustand nicht mehr verlassen werden kann; dann werden nur die Worter akzeptiert,deren Berechnung nicht vorher schon einmal in einen akzeptierenden Zustand gefuhrt hat. Umdas zu erreichen, entfernen wir einfach die ausgehenden Pfeile aller akzeptierenden Zustande.Das realisiert M ′ als NEA. Als DEA konnen wir diesen Automaten realisieren, indem wir alleausgehenden Pfeile in einen neuen zuruckweisenden Zustand umlenken.

Aufgabe 2 Ein Palindrom ist ein Wort, das vorwarts wie ruckwarts gelesen das gleiche ergibt(z.B. anna). Fur ein Alphabet Σ ist die Palindromsprache P durch

P := {w ∈ Σ∗ | w ist ein Palindrom}

definiert. Beweise unter Verwendung des pumping lemmas, dass P nicht regular ist.

Losung:Angenommen, P ist regular. Sei p die Pumplange. Dann betrachten wir das Palindrom w = 0p10p.

Page 9: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

Aufgabe 3 9

Nach dem pumping lemma kann w aufgepumpt werden, durch Zerlegung in w = xyz, wobei|xy| ≤ p. Daraus folgt aber, dass y nur aus Nullen besteht. Offenbar hat das Wort w ′ = xy2zdann aber mehr Nullen vor der Eins als nach der Eins, ist also kein Palindrom, im Widerspruch zuBedingung (i) des pumping lemmas. P kann also nicht regular gewesen sein.

Aufgabe 3 Sei L die Sprache

L = {ajbkc` | j, k, ` ≥ 0, und k = ` falls j = 1}.

(a) Zeige, dass L alle drei Bedingungen des pumping lemmas erfullt.(b) Zeige, dass L nicht regular ist.Schlussfolgerung: Nicht jede nichtregulare Sprache kann mit Hilfe des pumping lemmas

”uberfuhrt“

werden. Das pumping lemma kann insbesondere nie dazu eingesetzt werden, die Regularitat vonSprachen nachzuweisen.

Losung:(a) Sei w ∈ L ein Wort. Wir mussen zeigen, dass w gemass dem pumping lemma aufgepumptwerden kann, falls seine Lange die Pumplange uberschreitet. Als Pumplange wahlen wir p = 3und unterscheiden drei Falle. In jedem Fall gilt |w| ≥ p = 3, und wir suchen eine geeigneteZerlegung w = xyz.

Fall (i) w = bkc`, d.h. w enthalt kein a. Dann wahlen wir x = ε, y = w1 (das erste Symbol vonw) und z = w2 . . . wk+`. Offenbar ist das Wort w′ = xyiz dann fur alle i von der Form bk

c`′

, istalso in L.

Fall (ii) w = aibkc`, mit 0 < i 6= 2, d.h. w enthalt nicht genau zwei a. Dann wahlen wirx = ε, y = a, z = ai−1bkc`. Fur i = 0 sowie i ≥ 2 enthalt das Wort w′ = xyiz dann nicht genauein a. Damit liegt es aber in L, weil wir fur diesen Fall ja keine Beschrankungen fur k und ` haben.Fur i = 1 haben wir w′ ∈ L wegen w = w′.

Fall (iii) w = a2bkc`. Hier muss man etwas aufpassen. Gilt k 6= `, konnen wir nicht y = awahlen, weil dann xy0z nicht in L ist. Allerdings konnen wir in diesem Fall x = a2, y = w3 (dasdritte Symbol von w) und z = w4 . . . wk+`+2 wahlen. Dann ist w′ = xyiz wieder von der Forma2bk

c`′

und damit in L.(b) Angenommen, L sei regular, und wir haben einen DEA M mit t Zustanden, der L erkennt.

Dann betrachten wir die t+ 1 Worter

a, ab, ab2, . . . , abt.

Unter diesen muss es (nach dem pigeon-hole principle) zwei Worter

abk1 , abk2 , k1 6= k2

geben, die M in den gleichen Zustand bringen. Dann ist M aber auch nach den beiden Wortern

abk1ck1 , abk2ck1

im gleichen Zustand. Folglich werden beide akzeptiert oder keines, was ein Widerspruch ist, weilnamlich genau eines in L ist und das andere nicht.

Page 10: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

10 3. UBUNGSBLATT

Aufgabe 4 Sei M = (Q,Σ, δ, q0, F ) ein DEA, L(M) die von M erkannte Sprache. Betrachteden Automaten M ′ = (Q,Σ, δ, q0, Q \ F ), der aus M durch Vertauschen der akzeptierenden undzuruckweisenden Zustande entsteht. Dann ist die von M ′ erkannte Sprache L(M ′) offenbar dasKomplement von L(M), also

L(M ′) = Σ∗ \ L(M) := {w ∈ Σ∗ | w 6∈ L(M)}.

Gilt diese Aussage analog auch fur NEA M = (Q,Σ, δ, q0, F ) und M ′ = (Q,Σ, δ, q0, Q \F )? Gibeinen Beweis an oder finde ein Gegenbeispiel!

Losung:Die Aussage gilt nicht fur NEA. Betrachte die folgenden beiden NEA uber Σ = {0, 1}, die durchVertauschen des akzeptierenden mit dem zuruckweisenden Zustand auseinander hervorgehen. Derlinke Automat erkennt die Sprache L = {ε}, wahrend der rechte die Sprache L′ = {0} erkennt.Offenbar sind diese Sprachen nicht die Komplemente voneinander.

0 0

0 0

11

Page 11: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

11

4. Ubungsblatt

Aufgabe 1 (a) Gib eine formale Beschreibung (in der Form (Q,Σ,Γ, δ, q0, F )) des NKA aus derVorlesung an, der die Sprache

L = {wwR | w ∈ {0, 1}∗}

erkennt (Abbildung 3).(b) Modifiziere den NKA (durch Angabe eines modifizierten Zustandsdiagramms oder einer

modifizierten formalen Beschreibung) so, dass er die Palindromsprache

LP = {w ∈ Σ∗ | w ist ein Palindrom}

erkennt und begrunde die Konstruktion. (Die Sprache L aus Teil (a) enthalt nur die Palindromegerader Lange.)

q q

q q

ε,ε−>

ε,ε−>

ε,

$

$

0,1,

1,1->0,0->

ε

εε

−>ε

−>−>

01

εε23

0 1

Abbildung 3: NKA zum Erkennen von Palindromen gerader Lange

Losung:(a)

Q := {q0, q1, q2, q3},

Σ := {0, 1},

Γ := {0, 1, $},

δ(q0, ε, ε) := {(q1, $)},

δ(q1, ε, ε) := {(q2, ε)},

δ(q1, 0, ε) := {(q1, 0)},

δ(q1, 1, ε) := {(q1, 1)},

δ(q2, ε, $) := {(q3, ε)},

δ(q2, 0, 0) := {(q2, ε)},

δ(q2, 1, 1) := {(q2, ε)},

F := {q0, q3}.

q0 ist bereits benannt und muss nicht extra spezifiziert werden. Alle nicht angegebenen Funktions-werte von δ sind per Definition die leere Menge ∅.

Page 12: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

12 4. UBUNGSBLATT

(b) Wir lassen den Automaten raten, ob es sich bei der Eingabe um ein Palindrom gerader oderungerader Lange handelt. Im zweiten Fall ist das Palindrom von der Form

wswR,

wobei es keine Einschrankungen fur das Symbol s gibt. Die einfachste Modifikation, die auchdiesen Fall abfangt, besteht darin, den Automaten nach dem Ende von w raten zu lassen, ob vorBeginn von wR noch ein s

”zwischengeschaltet“ ist. Dazu braucht es nicht einmal einen neuen

Zustand, wir konnen einfach dem Pfeil von q1 nach q2 zwei zusatzliche Beschriftungen”0, ε→ ε“

sowie”1, ε → ε“ verpassen. Das bedeutet, dass sich zwischen w und wR entweder nichts befindet

(ε-Pfeil), oder ein beliebiges Symbol (0-Pfeil oder 1-Pfeil). Der Ubergang soll dabei in jedem Fallohne Stapelveranderung erfolgen.

Die Modifikationen in der formalen Spezifikation wirken sich dabei nur auf die Werte vonδ(q1, 0, ε) und δ(q1, 1, ε) aus. Deren neue Definitionen sind

δ(q1, 0, ε) := {(q1, 0), (q2, ε)},

δ(q1, 1, ε) := {(q1, 1), (q2, ε)}.

Im Zustand q1 hat M2 nun jeweils drei Ratemoglichkeiten: w konnte noch weiter gehen (Pfeilezuruck zu q1) oder zu Ende sein, wobei entweder direkt wR beginnt (ε-Pfeil zu q2) oder vorhernoch ein Symbol kommt (0-Pfeil und 1-Pfeil zu q2). Das modifizierte Zustandsdiagramm ist inAbbildung 4 angegeben.

q q

q q

ε,ε−>

ε,ε−>

ε,

$

$

0,1,

1,1->0,0->

ε

εε

−>ε

−>−>

01

εε23

0 1

0,ε−>εε−>ε1,

Abbildung 4: NKA zum Erkennen von Palindromen beliebiger Lange

Aufgabe 2 Ein k-beschrankter NKA sei ein NKA, dessen Stapel nur k Elemente aufnehmenkann. Ein Zustandsubergang der Form s, ε → b mit b 6= ε (

”Pushen“ von b) ist dabei nur dann

zulassig, wenn der Stapel noch nicht voll ist.Fur ein Alphabet Σ betrachten wir die Menge L aller Sprachen L ⊆ Σ∗, die von einem k-

beschrankten NKA erkannt werden, fur irgendein k. Zeige, dass L genau die Menge der regularenSprachen uber Σ ist.

Losung:Sei L ∈ L. Dann wird L von einem k-beschrankten NKA M erkannt. Wir konstruieren einen aqui-valenten NEA M ′, der L erkennt. Daraus folgt dann, dass L regular ist. Ist umgekehrt L regular,

Page 13: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

Aufgabe 3 13

wissen wir nach Aufgabe 1 schon, dass L sogar von einem 0-beschrankten NKA erkannt wird,woraus L ∈ L folgt.

Der wesentliche Beweisschritt ist also die Konstruktion von M ′. Die Idee ist, dass in Mnur endlich viele verschiedene Paare Zustand/Stapelinhalt moglich sind, da es nur endlich vieleverschiedene Stapel der Grosse hochstens k gibt (die Menge der Zustande ist ja ohnehin end-lich). Der NEA M ′ hat einen Zustand fur jedes mogliche Paar Zustand/Stapelinhalt. Sei M =(Q,Σ,Γ, δ, q0, F ). Formal definieren wir dann M ′ in der Form M ′ = (Q′,Σ, δ′, q′0, F

′) wie folgt.Zunachste setzen wir

Q′ := {(q, w) | q ∈ Q,w ∈ Γ∗, |w| ≤ k},

d.h. wir identifizieren die moglichen Stapelinhalte mit Wortern der Lange hochstens k uber demStapelalphabet. Das erste Symbol soll dabei das oberste Stapelement sein, das zweite das zweit-oberste, etc.

Das”Herz“ vonM ′ ist (wie ublich) die Ubergangsfunktion. Fur jedes s ∈ Σε wissen wir ja uber

δ, in welche Nachfolgezustande mit welchem Stapelinhalten wir gelangen konnen, wenn s gelesenwird. Genau diese Information kodieren wir in δ ′, indem wir fur Zustand q, aktuellen Stapelinhaltw = w1 . . . w` und gelesenes Symbol s ∈ Σε die moglichen Paare Nachfolgezustand/Stapelinhaltangeben. Dabei ist darauf zu achten, dass ein

”Push“ nur erlaubt ist, wenn der Stapel weniger als k

Elemente enthalt.

δ′((q, w1 . . . w`), s) := {(r, w0w2 . . . w`) | (r, w0) ∈ δ(q, s, w1)}

∪ {(r, w0w1 . . . w` | (r, w0) ∈ δ(q, s, ε) und ` < k}.

Die erste Menge in dieser Vereinigung listet die Nachfolgezustande auf, in denen zunachst dasoberste Stapelsymbol w1 ”

gepoppt“ wird, die zweite Menge gibt die Moglichkeiten an, ohne Lesendes obersten Stapelsymbols direkt mit einem

”Push“ fortzufahren. Ferner setzen wir

q′0 := (q0, ε),

weil der Stapel vonM zu Beginn leer ist. Die Menge F ′ der akzeptierenden Zustande ist die Mengealler Paare (r, w), in denen r ein akzeptierender Zustand in M ist, denn M akzeptiert ja in jedemZustand r ∈ F unabhangig vom aktuellen Stapelinhalt. Also

F ′ := {(r, w) ∈ Q′ | r ∈ F}.

Aufgabe 3 Gib kontextfreie Grammatiken an, die die folgenden kontextfreien Sprachen uberΣ = {0, 1} beschreiben.

(a) L = {0n1n | n ≥ 0}

(b) L = {w ∈ Σ∗ | w ist ein Palindrom}

(c) L = {w ∈ Σ∗ | w enthalt mehr Nullen als Einsen}

Page 14: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

14 4. UBUNGSBLATT

Losung:Wir geben jeweils nur die Ersetzungsregeln an; die Mengen V und Σ ergeben sich implizit.

(a)

S → ε | 0S1

(b)

S → ε | 0 | 1 | 0S0 | 1S1

(c) Das ist nicht ganz so einfach. Zunachst geben wir eine Grammatik fur die Worter mitgenausoviel Nullen wie Einsen an. Diese lautet wie folgt (Startsymbol ist T ).

T → ε | 0T1T | 1T0T

Klar ist, dass diese Grammatik nur Worter erzeugt, die genausoviele Nullen wie Eisen haben, dennneue Terminalsymbole 0 und 1 werden immer nur paarweise erzeugt. Um zu sehen, dass jedessolche Wort w erzeugt wird, verwenden wir vollstandige Induktion uber die Lange von w.

Falls |w| = 0, so giltw = ε. Dann wirdw offenbar erzeugt. Habew nun Lange k > 0 und gelte,dass jedes Wort der Lange kleiner als k mit genausovielen Nullen wie Einsen von der Grammatikerzeugt wird. Dann gibt es zwei Falle.

(i) w beginnt mit einer 1. Wenn wir nun symbolweise durch das Wort gehen und jeweils denUberschuss an Einsen im bisher betrachteten Prafix notieren (nach dem ersten Symbol ist derUberschuss 1), so muss der Uberschuss zu irgendeinem Zeitpunkt zum ersten Mal wieder auf Nullheruntergehen (sonst gibt es am Ende mehr Einsen als Nullen). Das kann aber nur passieren, wenngerade eine Null gelesen wurde. w kann dann in der Form 1w10w2 geschrieben werden, wobei dieNull gerade die Null ist, die den Uberschuss an Einsen auf Null reduziert. w1 und w2 sind dannaber ebenfalls Worter mit genausovielen Nullen wie Einsen, und zwar mit Lange kleiner als k.Nach Induktionsvoraussetzung konnen diese aus T erzeugt werden; also wird w selbst mittels derRegel T → 1T0T erzeugt.

(ii) w beginnt mit einer 0. Hier argumentieren wir vollig analog und erzeugen w am Ende mitder Regel T → 0T1T .

Nun zur eigentlichen Sprache aller Worter, die mehr Nullen als Einsen enthalten. Diese erzeu-gen wir wie folgt (Startsymbol S).

S → 0S | 0T | 1T0S

T → ε | 0T1T | 1T0T

Die Regeln fur T sind dabei wie oben. Wieder ist klar, dass nur Worter mit mehr Nullen als Einsenerzeugt werden, denn neue Terminalsymbole 0 und 1 kommen in Paaren (Regel S → 1T0S), oderes wird ein Nullenuberschuss erzeugt (Regeln S → 0S | 0T ). Mindestens einmal muss dabeiauch wirklich die uberschusserzeugende Regel S → 0T angewendet werden, weil man sonst dieVariable S nicht los wird.

Wir mussen nun noch zeigen, dass alle Worter w mit mehr Nullen als Einsen von der Gram-matik erzeugt werden. Wir verwenden dazu wieder vollstandige Induktion uber die Lange vonw.

Page 15: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

Aufgabe 3 15

Falls |w| = 1, so gilt w = 0 (der Fall |w| = 0 kann nicht vorkommen, wenn es mehr Nullen alsEinsen geben soll). In diesem Fall wird w uber die Ableitungskette

S → 0T → 0ε = 0

erzeugt.Habe w nun Lange k > 0 und gelte, dass jedes Wort der Lange kleiner als k mit mehr Nullen

als Einsen von der Grammatik erzeugt wird. Dann gibt es zwei Falle.(i)w beginnt mit einer 1. Wie oben muss es dann eine passende Null geben, die den Einsenuber-

schuss zum ersten Mal wieder auf Null reduziert. In diesem Fall kann w in der Form w = 1w10w2

geschrieben werden, wobei w1 genausoviele Nullen wie Einsen, w2 aber mehr Nullen als Einsenenthalt. Nach Induktionsvoraussetzung kann w2 aus S erzeugt werden, und nach den Uberlegun-gen vorher kann w1 aus T erzeugt werden. Also kann w aus S uber die Regel S → 1T0S erzeugtwerden.

(ii) w beginnt mit einer 0. Entfernen wir diese, erhalten wir ein Wort w ′ der Lange k − 1, dasentweder mehr Nullen als Einsen hat oder genausoviele. Im ersten Fall kann w ′ nach Induktions-voraussetzung aus S erzeugt werden, so dass w aus S mittels der Regel S → 0S erzeugt wird. Imzweiten Fall kann w′ aus T erzeugt werden, und wir erhalten w uber die Regel S → 0T .

Page 16: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

16 5. UBUNGSBLATT

5. Ubungsblatt

Aufgabe 1 Betrachte die folgende kontextfreie Grammatik G = (V,Σ, R, S) mit V = {S, U},Σ = {F,+,−} und den Regeln

S → + + U

U → FUFF | −

Sei L = L(G) die von G beschriebene Sprache.(a) Gib eine explizite Beschreibung von L als Menge an.(b) Beweise, dass L nicht regular ist.(c) Gib ein L-System an, das L beschreibt.(d) Wie sehen die Zeichnungen aus, die mittels der Turtle-Grafik aus den Wortern in L erzeugt

werden, wenn der initiale Grafikzustand durch den Punkt p = (0, 0) und die Richtung α = 0gegeben ist (der Drehwinkel δ betragt 90 Grad)?

Bemerkung: auf der Web-Seite zur Vorlesung gibt es ein Java-Applet, das L-Systeme grafischinterpretieren kann. Viel Spass!

Losung:(a) L = {+ + F k − F 2k | k ≥ 0}

(b) Das geht uber das Pumping Lemma. Angenommen, L sei regular. Dann sei p die Pum-plange. Betrachte das Wort

w = + + F p − F 2p ∈ L

und seine Zerlegung w = xyz laut dem Pumping Lemma. Wegen |xy| ≤ p enthalt y – wennuberhaupt – nur F ’s, die vor dem Minuszeichen kommen. Dann enthalt das Wort

w′ = xyiz

fur i 6= 1 aber weiterhin 2p F ’s nach dem Minuszeichen, hingegen nicht p F ’s davor (im Fall, dassy mindestens ein F enthalt), oder nicht zwei Pluszeichen davor (im Fall, dass y kein F enthalt,dafur aber mindestens ein Pluszeichen). In beiden Fallen gilt dann aber w′ 6∈ L, im Widerspruchzum Pumping Lemma. L kann also doch nicht regular gewesen sein.

(c) Das aquivalente DOL-System hat V = {F,+,−}, das Axiom S = + + − und die Regeln

F 7→ F,

+ 7→ +,

− 7→ F − FF.

Die ersten beiden Regeln mussten als”Defaultregeln“ nicht unbedingt angegeben werden. Da alle

erzeugten Worter immer nur ein Minuszeichen enthalten, ist sequentielle Ersetzung (wie bei KFG)in diesem Fall das gleiche wie parallele Ersetzung (wie bei DOL-Systemen).

(d) Das Wort + + F k − F 2k erzeugt den Buchstaben L, wobei die kurzere (waagerechte) SeiteLange k, die langere (senkrechte) Lange 2k hat.

Page 17: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

Aufgabe 3 17

Aufgabe 2 Konstruiere mit dem in der Vorlesung besprochenen Verfahren den String-MatchingAutomaten zum Muster dada uber dem Alphabet Σ = {a,d} (ein deterministischer endlicherAutomat, der alle Worter uber dem Alphabet Σ mit Suffix dada erkennt).

Losung:

d a d a

d dd

a

a

a

0 1 2 3 4

Aufgabe 3 Fur eine lexikalische Textanalyse bestehe das Alphabet aus Kleinbuchstaben, Ziffernund einem Punktsymbol. Weiter sind drei regulare Sprachen durch die Ausdrucke

• L1 : [a− z][a− z]∗[0 − 9]∗

• L2 : [0 − 9][a− z0 − 9]∗

• L3 : [0 − 9]∗.[0 − 9][0 − 9]∗

Gesucht sind nun fur Worter T ∈ Σ∗ Zerlegungen von T in Teil-Worter T1 · · ·Tn, so dass jedesTeil-Wort Ti in einer der Sprachen L1, L2 oder L3 ist.

a) Gib eine solche Zerlegung des Wortes T=aufgabe5.3 an.

b) Wie zerlegt der in der Vorlesung besprochene Algorithmus Lexer die folgenden beidenWorter? Gibt es jeweils eine Zerlegung mit weniger Teilwortern?

• 2da3.57da11da

• a13foo17bar19

Losung:

a) Eine mogliche Zerlegung ist aufgabe ∈ L1, 5.3 ∈ L3. Der Algorithmus Lexer wurde dasWort jedoch zerlegen in aufgabe5 ∈ L1, .3 ∈ L3.

b) Der Algorithmus Lexer zerlegt die Worter in:

• 2da3 ∈ L2, .57∈ L3, da11∈ L1, da ∈ L1.

• a13 ∈ L1, foo17 ∈ L1, bar19 ∈ L1.

In beiden Fallen gibt es Zerlegungen mit weniger Teil-Wortern:

Page 18: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

18 5. UBUNGSBLATT

• 2da3 ∈ L2, .5 ∈ L3, 7da11da∈ L2.

• a ∈ L1, 13foo17bar19 ∈ L2.

Aufgabe 4 Eine regulare Grammatik ist eine KFG G = (V,Σ, R, S) mit der Eigenschaft, dasssie nur Regeln der Form A → ε oder A → wB enthalt, wobei w ∈ Σ ein Symbol und A,B ∈ VVariablen sind.

Beweise, dass eine Sprache L ⊆ Σ∗ genau dann regular ist, wenn es eine regulare Grammatikgibt, die L beschreibt.

Losung:Zunachst beweisen wir, dass die von einer regularen Grammatik beschriebene Sprache regular ist.Hierzu konstruieren wir einen erkennenden nichtdeterministischen endlichen Automaten (NEA)M .

M hat einen Zustand fur jede VariableA ∈ V (dieser wird dann auch einfach mitA bezeichnet).Der Startzustand ist der Zustand fur die Startvariable S. Die Ubergangsfunktion sieht wie folgt aus:fur jede Regel der Form

A→ wB

mit w ∈ Σ und A,B ∈ V gibt es einen Pfeil vom Zustand A zum Zustand B, der mit w beschriftetist. Fur jede Regel der Form

A→ ε

ist der Zustand A Endzustand.Nun ist leicht zu sehen, dass jede Ableitungskette in der Grammatik eineindeutig einem Weg

durch den Automaten entspricht, der eine akzeptierende Berechnung fur das erzeugte Wort dar-stellt. Also akzeptiert der NEA die von der Grammatik beschriebene Sprache, diese ist also regular.

Sei umgekehrt die Sprache L regular. Dann mussen wir eine regulare Grammatik finden, die siebeschreibt. Dazu nehmen wir uns einen DEAM , der L erkennt und fuhren fur jeden Zustandsuber-gang

δ(q, s) = r

(das Zeichen s fuhrt vom Zustand q zum Zustand r) eine Regel

q → sr

ein. Die Menge der Variablen in der Grammatik ist also die Zustandsmenge Q von M , die Mengeder Terminalsymbole ist das Alphabet Σ von M . Fur jeden akzeptierenden Zustand q fuhren wirnun noch die Regel

q → ε

ein. Die Startvariable der Grammatik ist der Startzustand des DEA. Damit ist eine regulare Gram-matik spezifiziert, deren mogliche Ableitungen wieder eineindeutig akzeptierenden Wegen durchM entsprechen.

Page 19: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

19

6. Ubungsblatt

Aufgabe 1 Gib explizit eine Turingmaschine M an, die bei Eingabe von

w ∈ {0, 1}∗

im akzeptierenden Zustand den Bandinhalt

ω = w

produziert; das heisst, w wird um eine Position nach rechts verschoben. (formal lost M ein Ent-scheidungsproblem (M erkennt die Sprache L = Σ∗), eigentlich fuhrt M aber eine Berechnungdurch; wir werden noch darauf zuruckkommen.)

Gehe dabei in zwei Schritten vor. BeschreibeM zuerst informell und erst danach explizit durchAngabe eines Zustandsdiagramms oder einer formalen Spezifikation.

Losung:Hier ist die informelle Idee der Turingmaschine:

1. Gehe zum letzten Symbol der Eingabe

2. Solange der Kopf nicht uber dem Symbol steht, wiederhole die folgenden Schritte:

• ersetze das aktuelle Symbol durch das Leerzeichen und gehe nach rechts

• ersetze das Leerzeichen durch das vorher ersetzte Symbol und gehe nach links

• gehe nach links

3. Gehe in den akzeptierenden Zustand.

Als Zustandsdiagramm konnen wir dies wie folgt darstellen.

0,1−>R

_−>0,L_−>1,L

1−>_.R 0−>_,R

_−>L

_−>L _−>L

Der zuruckweisende Zustand ist im Diagramm nicht angegeben, weil er nie erreicht werdenkann. Dass der Kopf uberhaupt einmal uber dem Leerzeichen zu stehen kommt, liegt daran, dassdie Maschine die Anweisung

”Gehe nach links“ ignoriert, sobald der Kopf bereits ganz links und

damit uber einem Leerzeichen steht.

Page 20: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

20 6. UBUNGSBLATT

Aufgabe 2 Eine Rechts-Turingmaschine ist wie eine normale Turingmaschine definiert, nur dassdie Ubergangsfunktion von der Form

δ : Q× Γ → Q× Γ

ist, wobeiδ(q, a) = (q′, b)

bedeutet, dass die Maschine im Zustand q mit Kopf uber dem Symbol a das Symbol b schreibt undden Kopf nach rechts bewegt. Das heisst, die Maschine kann niemals nach links gehen.

Beweise, dass Rechts-Turingmaschinen genau die regularen Sprachen erkennen konnen.

Losung:Wir zeigen zunachst, dass jede regulare Sprache L von einer Rechts-Turingmaschine erkannt wer-den kann. Sei M = (Q,Σ, δ, q0, F ) ein DEA, der L erkennt. Dann konstruieren wir eine Rechts-TM

M ′ = (Q ∪ {qaccept, qreject},Σ,Σ ∪ { }, δ′, q0, qaccept, qreject),

die L erkennt, wie folgt.Fur jeden Ubergang

δ(qi, s) = qj

fuhren wir in M ′ den Ubergangδ′(qi, s) = (qj, s)

ein, das heisst, M ′ lasst die Eingabe unverandert und bewegt den Kopf immer nach rechts. Daskorrespondiert zu der Tatsache, dass der DEAM jedes Zeichen der Eingabe nur einmal verarbeitenkann.

Sei nun w ∈ Σ∗. Um sicherzustellen, dass w genau dann von M ′ akzeptiert wird, wenn w vonM akzeptiert wird, fuhren wir am Ende der Eingabe entsprechende Ubergange zu qaccept und qreject

ein, wie folgt:

δ′(qi, ) := (qaccept, ), qi ∈ F,

δ′(qi, ) := (qreject, ), qi 6∈ F.

Das stellt sicher, dass M ′ das Wort w genau dann akzeptiert, wenn M nach Abarbeitung von w ineinem akzeptierenden Zustand ist.

Sei nun umgekehrtL eine Sprache, die von einer Rechts-TMM = (Q,Σ,Γ, δ, q0, qaccept, qreject)erkannt wird. Dann konstruieren wir einen erkennenden DEA

M ′ = (Q′,Γ, δ′, q0, F )

wir folgt.Wir setzen zunachst Q′ := Q. Fur jeden Ubergang δ(q, a) = (q′, b) von M fuhren wir den

Ubergang δ′(q, a) := q′ ein. War also M im Zustand q mit Kopf uber a und M ′ auch im Zustand q,so sind beide Maschinen anschliessend im Zustand q ′, weil M eine Rechtsbewegung des Kopfesausgefuhrt hat.

Nun wissen wir also: M ist genau dann in den Zustand qaccept (bzw. qreject) gelangt, wennM ′ in Zustande qaccept (bzw. qreject) gelangt ist. Diese Zustande mussen also akzeptierende (bzw.

Page 21: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

Aufgabe 3 21

zuruckweisende) Zustande werden. Die Zustande qaccept und qreject versehen wir noch mit Uber-gangspfeilen (fur jedes Symbol einen) zuruck zum jeweiligen Zustand. Insbesondere fur qaccept istdies wichtig, denn wenn M akzeptiert, bevor die Eingabe komplett verarbeitet wurde (das kanndurchaus passieren), muss der Automat M ′ trotzdem noch die fehlenden Symbole lesen, um dasWort akzeptieren zu konnen.

Aufgabe 3 Ein 2-Stapel NKA ist ein nichtdeterministischer Kellerautomat mit zwei Stapeln, for-mal ein 7-Tupel

(Q,Σ,Γ,Γ′, δ, q0, F ),

wobei Γ und Γ′ die Alphabete der beiden Stapel sind. Die Ubergangsfunktion

δ : Q× Σε × Γε × Γ′

ε → P(Q× Γε × Γ′

ε)

erlaubt dem Automaten dabei, abhangig vom aktuellen Zustand, dem Eingabesymbol und denobersten Elementen beider Stapel in einen aus mehreren moglichen Nachfolgezustanden mit zu-gehorigen neuen obersten Stapelelementen zu wechseln. Akzeptierende Berechnungen sowie dieSprache eines 2-Stapel NKA sind in der offensichtlichen Weise (wie bei

”normalen“ NKA) defi-

niert.Argumentiere, dass jede Turingmaschine durch einen 2-Stapel NKA simuliert werden kann

(das bedeutet, dass beide Maschinen die gleiche Sprache erkennen). Erlautere dazu die wesentlicheIdee hinter der Simulation.

Losung:Die Idee der Simulation ist wie folgt: der 2-Stapel NKA M ′ speichert das Band der Turingma-schine M in seinen zwei Stapeln, wobei der Teil links vom Kopf auf dem linken Stapel, der Teilrechts vom Kopf auf dem rechten Stapel liegt (siehe Abbildung). Eine Verschiebung des Kopfesentspricht dann einem Umspeichern des obersten Elements eines Stapels auf den anderen Stapel.Das oberste Symbol des rechten Stapels entspricht dabei immer dem Symbol, uber dem der Kopfder Turingmaschine gerade steht.

a a c a bb

b

a

c a

b

a

Band S S1 2

Sei M = (Q,Σ,Γ, δ, q0, qaccept, qreject). Wir definieren M ′ = (Q′,Σ,Γ ∪ {$}, δ′, q′0, F ) wiefolgt.

• Q′ := Q ∪ QL ∪ QR ∪ {q−3, q−2, q−1}, wobei q−3, q−2 und q−1 neue Zustande sind, derenZweck es ist, das Eingabewort w zunachst einmal auf den rechten Stapel zu bringen (korre-spondiert zum initialen Zustand der Turingmaschine), und zwar so, dass das erste Symboloben ist. Dies geht im Umweg uber den linken Stapel: q−2 pusht w zunachst auf diesen (dann

Page 22: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

22 6. UBUNGSBLATT

liegt w in umgekehrter Ordnung drauf), q−1 kopiert die Elemente dann in den rechten Stapelum, wobei sich die richtige Ordnung einstellt. q−3 bringt lediglich das logische

”Stapel-

leer-Symbol“ $ auf beide Stapel. QL und QR enthalten fur jeden Zustand qi ∈ Q je einenHilfszustand qL

i und qRi , die dazu verwendet werden, das Verschieben von Stapelementen

zur Simulation der Kopfbewegung der Turingmaschine durchzufuhren.

• Hier definieren wir δ′, wobei fur q−3 nur der nichtleere Ubergangsfunktionswert

δ′(q−3, ε, ε, ε) := {(q−2, $, $)}

existiert.

Fur q−2 definieren wir die (nichtleeren) Ubergangsfunktionswerte wie folgt.

δ′(q−2, s, ε, ε) := {(q−2, s, ε)}, s ∈ Σ,

δ′(q−2, ε, ε, ε) := {(q−1, ε, ε)}.

Das bedeutet, solange noch Zeichen der Eingabe da sind, konnen diese (ohne Stapelinhaltezu lesen) auf den linken Stapel gelegt werden. Ist die Eingabe zuende, wird in den Zustandq−1 gewechselt. (Der Automat konnte auch schon vor dem Ende der Eingabe in den Zustandq−1 wechseln; dann wird er aber spater gezwungen, zuruckzuweisen, siehe unten.)

q−1 erledigt nun das Umkopieren auf den rechten Stapel, wobei keine Eingabesymbole mehrverarbeitet werden. Ist das Umkopieren erledigt, geht es weiter im Startzustand q0.

δ′(q−1, ε, a, ε) := {(q−1, ε, a)}, a ∈ Σ.

δ′(q−1, ε, $, ε) := {(q0, $, ε)}.

Fur alle Zustande qi ∈ Q{qaccept, qreject} simuliert M ′ nun M , wie folgt. Existiert in M derUbergang

δ(qi, a) = (qj, b, L),

d.h. der nachste Zustand ist qj , der Kopf bewegt sich nach links und a wird auf dem Banddurch b ersetzt, so fuhren wir die Funktionwerte

δ′(qi, ε, ε, a) := {(qLi , ε, b)},

δ′(qLi , ε, x, ε) := {(qj, ε, x)}, x ∈ Σ

ein. Das heisst, in einem ersten Schritt wird das Kopfsymbol a auf dem rechten Stapel durch bersetzt, in einem zweiten Schritt wird das oberste Symbol des linken Stapels auf den rechtenStapel kopiert, was einer Kopfbewegung nach links entspricht. Ein Spezialfall tritt hier auf:befindet sich der Kopf bereits ganz links, so bleibt er an seiner Position, was wir mit demUbergang

δ′(qLi , ε, $, ε) := {(qj, $, ε)}

erreichen.

Page 23: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

Aufgabe 4 23

Existiert in M der Ubergangδ(qi, a) = (qj, b, R),

d.h. der nachste Zustand ist qj , der Kopf bewegt sich nach rechts und a wird auf dem Banddurch b ersetzt, so fuhren wir die Funktionwerte

δ′(qi, ε, ε, a) := {(qRi , ε, b)},

δ′(qRi , ε, ε, x) := {(qj, x, ε)}, x ∈ Σ

ein. Das heisst, im ersten Schritt wird wie vorher das Kopfsymbol a auf dem rechten Stapeldurch b ersetzt, im zweiten Schritt wird das oberste Symbol des rechten Stapels auf denlinken Stapel kopiert, was einer Kopfbewegung nach rechts entspricht.

Wiederum tritt ein Spezialfall auf: ist der Kopf bereits hinter dem rechten Ende des beschrie-benen Bandes, so erkennen wir dies daran, dass der rechte Stapel leer ist. Bei einer Bewegungdes Kopfes nach rechts muss dann ein Leerzeichen auf den linken Stapel gebracht werden,was wir mit

δ′(qRi , ε, ε, $) := {(qj, , $)}

erreichen.

Schliesslich mussen wir noch das Verhalten von M ′ in qaccept und qreject spezifizieren. DaM bei Erreichen eines dieser beiden Zustande nicht weiterrechnet, mussen wir dafur sorgen,dass sie in M ′ nicht wieder verlassen werden konnen. Das erreichen wir dadurch, dass wirkeine nichtleeren Ubergangswerte der Form

δ′(qreject, . . .)

undδ′(qaccept, . . .)

spezifizieren.

Das beendet die Beschreibung von δ′.

• Der Startzustand q′0 ist wie zu erwarten der neue Zustand q−3.

• Wir setzen F := {qaccept}, denn nur in diesem Zustand soll M ′ akzeptieren.

Vielleicht noch ein paar Worte dazu, warum M ′ und M wirklich die gleiche Sprache erkennen.Nach Konstruktion ist ziemlich klar, dass jedes Wort, das von M akzeptiert wird, auch von M ′ ak-zeptiert wird, denn eine akzeptierende Berechnung besteht darin, es zunachst mittels q−3, q−2, q−1

auf den rechten Stapel zu bringen und anschliessend die Berechnungen der Turingmaschine zusimulieren ( δ′ ist so gewahlt, dass alle Ubergange dann eindeutig sind). Andererseits konnte M ′

sich entscheiden, nur einen Teil des Eingabewortes auf den Stapel zu bringen und fruher von q−2

nach q−1 zu wechseln. Im Gegensatz zur Turingmaschine kann der Automat ja nicht mit Hilfe vonSonderzeichen (z.B. ) erkennen, dass die Eingabe zuende ist. Das stellt aber kein Problem dar.Das verkurzte Eingabewort kann namlich vom Automaten gar nicht akzeptiert werden, da es nachder Initialisierungsphase gar keine Ubergangspfeile fur Eingabesymbole mehr gibt. Wenn also amSchluss der eigentlichen Simulation noch Eingabesymbole

”ubrig“ sind, so weist der Automat das

Wort ohnehin zuruck.

Page 24: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

24 6. UBUNGSBLATT

Aufgabe 4 Betrachte die folgende, nur aus einem Wort bestehende Sprache L uber Σ = {0, 1}.

L :=

{

{0}, falls Gott nicht existiert,{1}, falls Gott existiert.

Ist L Turing-entscheidbar? Begrunde deine Antwort!

Losung:L ist Turing-entscheidbar, denn sowohl die Sprache {0} als auch die Sprache {1} sind Turing-entscheidbar. (Man uberlege sich die offensichtlichen Turingmaschinen selbst.) Sei M0 eine Ma-schine, die {0} entscheidet, M1 eine, die {1} entscheidet. Falls Gott nicht existiert, so wird L alsovon M0 entschieden, existiert er hingegen, wird L von M1 entschieden. In jedem Fall ist L damitTuring-entscheidbar, denn entweder existiert Gott, oder eben nicht.

Diese Argumentation setzt voraus, dass es eine eindeutige Antwort auf die Frage”existiert

Gott?“ gibt, auch wenn wir sie nicht wissen. Diese Voraussetzung ist nicht selbstverstandlich, denndazu musste man diskutieren, ob der nichtmathematischen Aussage

”Gott existiert“ uberhaupt kon-

sistent ein Wahrheitswert zugewiesen werden kann. Wenn man das anzweifelt, so ist die SpracheL nicht einmal wohldefiniert und die Aufgabe somit ohnehin sinnlos.

Page 25: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

25

7. Ubungsblatt

Aufgabe 1 Zeige, dass jede kontextfreie Grammatik G in eine aquivalente KFG G′ in Chomsky-Normalform transformiert werden kann (zwei Grammatiken sind aquivalent, wenn sie die gleicheSprache beschreiben). Gehe bei der Transformation schrittweise vor.

(a) Stelle durch Einfuhrung eines neuen Startsymbols sicher, dass das Startsymbol nur auf derlinken Seite einer Regel auftritt.

(b) Elimiere alle Regeln der Form A→ ε.

(c) Elimiere alle Regeln der Form A→ B, wobei B eine Variable ist.

(d) Verwandle alle Regeln mit mehr als zwei Symbolen auf der rechten Seite in Regeln mitgenau zwei Symbolen auf der rechten Seite.

(e) Behandle schließlich die Regeln, deren rechten Seiten aus zwei Symbolen bestehen, die nichtbeide Variablensymbole sind.

Losung:Hier sind die einzelnen Schritte im Detail:

(a) Fuhre ein neues Startsymbol S0 ein mit einer Regel S0 → S, wobei S das alte Startsymbolist. S0 kommt dann uberhaupt nur einmal vor, und zwar auf der linken Seite einer Regel.Die resultierende Grammatik ist offensichtlich aquivalent zur Originalgrammatik, eine Ei-genschaft, die wir auch in den folgenden Schritten stets aufrecht erhalten werden.

(b) Regeln der Form A→ ε werden (in einer Schleife uber alle Variablen A) wie folgt beseitigt:fur jede Regel mit k Vorkommen von A auf der rechten Seite fuhren wir 2k−1 zusatzlicheRegeln ein, wobei jede dieser neuen Regeln aus der ursprunglichen Regel durch Loschenvon mindestens einem A entsteht. Falls sich dabei eine neue Regel der Form R → ε egibt(was der Fall ist, wenn die rechte Seite einer Regel nur aus Symbolen A besteht), so mussenwir aufpassen: handelt es sich bei R um das neue Startsymbol ε, muss nichts unternommenwerden; handelt es sich bei R um eine bereits vorher behandelte Variable, so wurde dieRegel R → ε schon unter Beibehaltung der Aquivalenz (siehe Argument unten) beseitigt,muss (und darf) daher also nicht wieder eingefuhrt werden. IstR eine Variable, die erst spaterbehandelt wird, so fugen wir die Regel R → ε ein, denn sie wird ja spater noch beseitigtwerden.

Der Effekt eines Schleifendurchlaufs (Ersetzung einer RegelA→ ε durch 2k−1 oder 2k−1−1neue Regeln) fuhrt zu einer aquivalenten Grammatik. Dazu betrachten wir eine beliebigeAbleitung in der ’alten’ Form, die an gewissen Stellen Ersetzungen der Form A → ε ver-wendet. In der ’neuen’ Form konnen wir aquivalent die Erzeugung der entsprechenden A’sunterdrucken, indem wir die richtigen ’Subregeln’ verwenden, die diese A’s nicht enthalten.

(c) Regeln der Form A → B werden (wieder in einer Schleife uber alle Variablen) wie folgtentfernt: fur jede RegelB → w fuhren wir zusatzlich die RegelA→ w ein, es sei denn, diese

Page 26: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

26 7. UBUNGSBLATT

Regel wurde vorher schon entfernt und damit bereits in einer aquivalenten Formulierungberucksichtigt. Wie in (b) argumentieren wir, dass eine Ersetzung A → B in der neuenForm simuliert werden kann, indem die Ersetzung von A durch B unterdruckt wird, dafuraber alle folgenden Ersetzungen fur A’s, die eigentlich B’s sind, nach den Regeln fur dieB’s durchgefuhrt werden.

(d) Das ist einfach: eine Regel der Form A → w1 . . . wk mit wi ∈ V ∪ Σ und k > 2 wird durchdie Regeln

A → w1A1,

A1 → w2A2,...

Ak−3 → wk−2Ak−2,

Ak−2 → wk−1wk

ersetzt, wobei die A1, . . . , Ak−2 neue Variablen sind, die sonst nicht vorkommen. Diese Ideeist ganz ahnlich zu der, mit der wir in der Vorlesung einen erweiterten NKA definiert haben,der in einem Schritt anstatt einzelner Symbole ganze Zeichenketten auf den Stapel legenkann.

(d) Es verbleiben Regeln der FormA→ w1w2 mitw1w2 ∈ V ∪Σ, die behandelt werden mussen.Falls wi ein Terminalsymbol ist, so ersetzen wir es in der Regel durch eine neue Variable Wi

und fuhren gleichzeitig die Regel Wi → wi ein.

Aufgabe 2 Sei M ein DEA uber dem Alphabet Σ. Wir wollen testen, ob L(M) = ∅ gilt, d.h. obM uberhaupt ein Wort akzeptiert oder nicht.

(a) Zeige, dass es eine Konstante k mit folgender Eigenschaft gibt: wenn fur alle Worterw ∈ Σ∗

mit |w| ≤ k gilt, dass w nicht in L(M) liegt, dann ist L(M) = ∅.(b) Berechne eine geeignete Konstante abhangig von M .(c) Argumentiere informell (unter Verwendung von (a) und (b)), dass das Problem

”L(M) =

∅?“ Turing-entscheidbar ist.

Losung:(a) Wir zeigen, dass es ein k gibt mit folgender Eigenschaft:

wenn L = L(M) 6= ∅ gilt, dann gibt es ein Wort w der Lange hochstens k mitw ∈ L.

L besitzt als regulare Sprache eine Pumplange p. Dann wahlen wir k = p− 1.Angenommen, L 6= ∅, aber es gibt kein Wort der Lange hochstens k, das in L liegt. Sei dann

w ∈ Σ∗, |w| > k ein kurzestes Wort, das in L liegt. Wegen |w| ≥ p kann w nach dem PumpingLemma aufgepumpt werden, d.h. es gibt eine Zerlegung w = xyz, so dass insbesondere y 6= ε und

xyiz ∈ L

Page 27: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

Aufgabe 3 27

fur alle i ≥ 0. Insbesondere gilt dann aber xy0z = xz ∈ L, dieses Wort ist aber kurzer als w, einWiderspruch zur Annahme, dass w ein kurzestes Wort aus L ist.

Also muss die Annahme |w| > k falsch gewesen sein, es gibt also ein Wort der Lange hochstensk in L, was zu beweisen war.

(b) Wir mussen nur eine zulassige Pumplange fur L finden. Eine legale Pumplange ist immerdie Anzahl der Zustande des Automaten; in diesem Fall wahlen wir also p als die Anzahl derZustande von M .

(c) Die TM durchlauft eine Schleife, in der sie (ahnlich wie bei der Simulation einer nichtdeter-ministsichen TM durch eine deterministische in der Vorlesung) alle Worter der Lange hochstensk generiert und M darauf laufen lasst. Die Maschine akzeptiert genau dann, wenn M niemalsakzeptiert hat.

Die Existenz der Konstante k ist also wichtig, damit wir garantieren konnen, die Antwort (obpositiv oder negativ) nach endlicher Zeit zu bekommen. Genau das ist ja die Charakteristik einerhaltenden TM.

Aufgabe 3 Beweise, dass die Sprache ATM := T ∗ \ ATM (das Komplement von ATM ) nichtTuring-erkennbar ist.

Losung:Wir wissen, dass ATM Turing-erkennbar ist, denn wir konnen bei Eingabe 〈M,w〉 einfach dieMaschine M auf w simulieren und akzeptieren, falls M akzeptiert. Dieser Algorithmus ist keinEntscheidungs- aber ein Erkennungsalgorithmus. Sei M1 eine TM, die ihn realisiert.

Angenommen, ATM ware Turing-erkennbar mittels einer Maschine M2.Dann konstruieren wir eine Maschine M3 (praktischerweise eine 2-Band TM), die M1 und M2

gleichzeitig simuliert. Da jedes Wort w entweder in ATM oder in ATM ist, wird w von M1 odervon M2 akzeptiert. Im ersten Fall wissen wir, dass w ∈ ATM ist, im zweiten Fall wissen wir, dassdas nicht der Fall ist. M3 kann also die Sprache ATM entscheiden, was ein Widerspruch zu derenbereits bewiesener Nichtentscheidbarkeit ist.

Page 28: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

28 8. UBUNGSBLATT

8. Ubungsblatt

Aufgabe 1 Zeige dass die Sprache L = {0n1n | n ∈ N} in TIME(n log n) liegt, indem Du einegeeignete TM zur Entscheidung von L angibst (Idee).

Losung:Die Maschine geht in O(log n) Runden vor und streicht in jeder Runde etwa die Halfte der Nullenund Einsen. Vor jeder Runde geht sie einmal durch die verbliebene Eingabe (Zeit O(n)) und pruft,ob die Anzahlen der Nullen und Einsen die gleiche Paritat haben, das heisst, ob sie entweder beidegerade oder beide ungerade sind. Ist das nicht der Fall, wird zuruckgewiesen. Es ist klar, dass einsolches Zuruckweisen vor der ersten Runde korrekt ist. Falls es n0 Nullen und n1 Einsen gibt, sokonnen die entsprechenden Paritaten zu diesem Zeitpunkt als Einerstellen der Binardarstellungenvon n0 bzw. n1 interpretiert werden. In jeder Runde werden nun die Halfte der verbliebenen Nul-len sowie Einsen gestrichen (fur eine ungerade Anzahl k bedeutet

”die Halfte“ (k + 1)/2). Das

entspricht einer Durchfuhrung der Operation”DIV 2“ auf beiden Anzahlen. Der Paritatstest vor

der zweiten Runde vergleicht damit die Zweierstellen der urpsrunglichen Zahlen n0 und n0, vorder dritten Runde sind es die Viererstellen usw.

Ist der Paritatstest bis zum Schluss (keine Nullen und Einsen mehr da) erfolgreich gewesen,so ist bewiesen, dass die Binardarstellungen von n0 und n1 ubereinstimmen, das Wort also in derSprache L ist. Folglich wird dann akzeptiert.

Die Anzahl O(log n) von Runden ergibt sich daraus, dass die Anzahl der Runden durch

max(log n0 + 1, log n1 + 1) ≤ log n+ 1

beschrankt ist, denn die Binardarstellung einer Zahl k hat hochstens log k + 1 Stellen. Pro Rundeist Aufwand O(n) notig, weil die gesamte Eingabe zweimal (einmal zum Streichen, einmal zumZahlen) durchlaufen werden muss.

Aufgabe 2 Gegeben sei eine endliche Menge S von naturlichen Zahlen und eine naturliche Zahlq. Das Problem Subset Sum besteht darin, zu entscheiden, ob es eine Teilmenge T von S gibt, derenElemente sich zu q aufsummieren.

(a) Formuliere das Problem als Sprache.

(b) Zeige, dass Subset Sum in NP liegt, indem Du eine geeignete NTM angibst (Idee), die SubsetSum entscheidet.

(c) Gib eine Komplexitatsabschatzung an, d.h. bestimme ein Polynom f(n), so dass Subset Sumin NTIME(f(n)) liegt.

Losung:

(a)

L = {#〈n1〉#〈n2〉# · · ·#〈nk〉$〈q〉 | es gibt T ⊆ {n1, . . . , nk} mit∑

t∈T t = q}.

Die Notation 〈x〉 steht dabei fur irgendeine Kodierung der Zahl x, z.B. als Binarzahl.

Page 29: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

Aufgabe 3 29

(b) Die NTM”rat“ die Teilmenge T , wie folgt: gehe durch die Eingabe und verwalte eine Ge-

samtsumme s, zu Beginn 0; in jedem Zweig der Berechnung mache folgendes: verzweigebeim nachsten # weiter in eine Berechnung, in der die folgende Zahl zu s addiert wird undeine, in der dies nicht geschieht. Sobald das $-Symbol erscheint, vergleiche s mit der darauffolgenden Zahl und akzeptiere, falls beide gleich sind.

(c) Die meiste Arbeit entsteht in dem Zweig, der alle Zahlen zu s addiert. Die Addition der je-weils nachsten Zahl ni zu s kann dabei in Zeit (max(|〈ni〉|, |〈s〉|)

2 erfolgen (Schulmethode).Die maximale Grosse von s ist n1 + · · · + nk ≤ km wobei m das Maximum der ni ist. AlsBinarzahl hat s dann maximal Kodierungslange

|〈s〉| = O(log(km)) = O(log k) +O(logm) = O(n),

wobei n die Gesamtlange der Eingabe ist. Das liegt daran, dass die Eingabe mindestensk+logm Stellen haben muss, schon um die k #-Symbole und die grosste Zahlm zu kodieren.

Es folgt, dass die Addition von ni zu s in Zeit O(n2) erfolgen kann. Da es hochstens O(n)Eingabezahlen geben kann, erhalten wir eine maximale Laufzeit von O(n3). Das deckt auchden abschliessenden Vergleich mit q sowie Hin-und Herfahren auf dem Band zur Verwaltungnotwendiger Zusatzdaten ab.

Aufgabe 3 Gegeben sei eine naturliche Zahl p > 1, von der wir entscheiden mochten, ob sieeine Primzahl ist. Der folgende Algorithmus PRIM lost das Problem: teile p nacheinander durchalle kleineren naturlichen Zahlen grosser als 1; p ist genau dann eine Primzahl, wenn keine derDivisisonen ohne Rest aufgeht. Der Algorithmus PRIM benotigt offenbar p − 2 Divisionen, diealle in polynomieller Zeit durchgefuhrt werden konnen. Warum konnte trotzdem erst im Jahre2002 gezeigt werden, dass Primzahltest ein Problem in der Klasse P ist? Mit anderen Worten,warum ist PRIM kein polynomieller Algorithmus?

Losung:Als Sprache L formulieren wir Primzahltest sicher grundsatzlich wie folgt:

L = {〈p〉 | p ist Primzahl}.

Die Effizienz des Algorithmus PRIM hangt allerdings von der Kodierung 〈p〉 von p ab.

Szenario 1. p wird unar kodiert, d.h.〈p〉 = 0p.

Dann ist die Eingabelange p, und PRIM ist ein polynomieller Algorithmus, denn er fuhrt O(p)Divisionen durch, wobei jede einzelne in polynomieller Zeit durchgefuhrt werden kann (Schulme-thode). Es ergibt sich also eine Laufzeit von O(pk) fur ein geeignetes k, in dieser Formulierung istalso

L ∈ TIME(nk)

und damit gilt L ∈ P .

Page 30: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

30 8. UBUNGSBLATT

Szenario 2. p wird binar kodiert, d.h.

〈p〉 = b(p),

wobei b(p) die Binardarstellung von p ist. Die Eingabelange ist dann O(log p), der AlgorithmusPRIM benotigt aber immer noch p − 2 Divisionen. Selbst wenn eine Division in Zeit O(1) (kon-stant) durchgefuhrt werden konnte, ergibt sich eine Laufzeit, die exponentiell in der Eingabegrosselog p ist, denn

p = 2log p.

Szenario 2 ist das richtige und sinnvollere. Der Grund ist, dass Unarkodierung viel zu vielPlatz verschwendet und die Verarbeitung grosser Zahlen gar nicht erlauben wurde. In der Praxis(Kryptographie) mochte man z.B. 100-stellige Binarzahlen p auf ihre Primeigenschaft testen. Unarkodiert wurden solche Zahlen etwa Lange 2100 haben, was jeden Speicher sprengt. Bei diesemBeispiel wird auch klar, dass Algorithmus PRIM extrem ineffizient ist – 2100 Divisionen kann manin einem Leben nicht abwarten. Das richtige Mass fur die Grosse einer Zahl ist also die Anzahlihrer Binarstellen, denn das ist die Form, in der Zahlen auf dem Rechner reprasentiert werden.PRIM ist aber leider exponentiell in der Anzahl dieser Stellen.

Page 31: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

31

9. Ubungsblatt

Aufgabe 1 Eine Clique in einem Graphen ist eine Teilmenge von Knoten, die paarweise durchKanten miteinander verbunden sind.

(a) Betrachte die Sprache

CLIQUE = {〈G, k〉 | G ist ein Graph und hat eine Clique der Grosse k}.

Beweise, dass CLIQUE in NP liegt. Gib dazu einen Verifikator fur CLIQUE an. Wie sieht einBeweis c fur 〈G, k〉 ∈ CLIQUE aus?

(b) Betrachte fur festes k die Sprache

CLIQUEk = {〈G〉 | G ist ein Graph und hat eine Clique der Grosse k}.

Beweise, dass CLIQUEk in P liegt.

Losung:(a) Der Verifikator V arbeitet wie folgt.

Bei Eingabe 〈G, k, c〉:

1. Prufe, ob 〈G〉 einen Graphen kodiert; falls nicht, weise zuruck.

2. Prufe, ob c eine Menge K von k Knoten in G kodiert; falls nicht, weise zuruck

3. Prufe, ob K eine Clique in G ist und akzeptiere genau dann, wenn das der Fallist.

Falls G eine Clique der Grosse k hat, so existiert ein entsprechender Beweis c (c codiert genaudiese Clique), und V akzeptiert bei Eingabe 〈G, k, c〉. Gibt es aber keine Clique der Grosse k, sowird V fur keinen Beweis c akzeptieren, denn c kann in diesem Fall keine Clique der Grosse kkodieren.

Ein Beweis fur 〈G, k〉 ∈ CLIQUE besteht also aus einer Clique der Grosse k.(b) In diesem Fall kann eine Clique der Grosse k (falls existent) deterministisch in polynomi-

eller Zeit erkannt werden. Da es genau(

n

k

)

= O(nk)

verschiedene Teilmengen der Knotenmenge mit k Knoten gibt (n ist die Anzahl der Knoten desGraphen), und jede in polynomieller Zeit auf ihre Clique-Eigenschaft getestet werden kann (Exi-stenz von

(

k

2

)

Kanten muss nachgewiesen werden), kann das Problem insgesamt in polynomiellerZeit gelost werden.

Wichtig dabei ist, dass k eine Konstante und nicht Teil der Eingabe ist wie in (a). Der ange-gebene

”Brute-force“ Algorithmus (Durchprobieren aller k-elementigen Knotenmengen) ist also

im Fall von (a) kein polynomieller Entscheidungsalgorithmus, da k dort keine Konstante ist. DieFunktion

nk

ist folglich kein Polynom.

Page 32: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

32 9. UBUNGSBLATT

Aufgabe 2 Fixieren wir das Kodierungsalphabet T , so konnen wir die Klasse co-NP als dieMenge aller Sprachen L definieren, deren Komplement T ∗ \ L in NP liegt.

(a) Zeige die Inklusion P ⊆ co-NP(b) Sei T = {0, 1} und PRIMALITY die Sprache

PRIMALITY := {〈p〉 | p ist Primzahl}.

〈p〉 ist dabei die Binarcodierung von p. Beweise, dass PRIMALITY in co-NP liegt.

Losung:(a) Sei L ∈ P. Dann gilt auch L = T ∗ \ L ∈ P, denn wenn wir in der TM M , die L entscheidet,einfach den akzeptierenden mit dem zuruckweisenden Zustand vertauschen, so erhalten wir eineTM M ′, die L entscheidet. Wegen der Inklusion P ⊆ NP gilt dann auch L ∈ NP, was nachDefinition von co-NP die Aussage L ∈ co-NP nach sich zieht.

(b) Die Aussage ist nach Definition von co-NP aquivalent mit

NON-PRIMALITY := {〈p〉 | p ist keine Primzahl} ∈ NP.

Um dies zu zeigen, geben wir einen Verifikator V fur NON-PRIMALITY an. Dieser bekommt alszusatzliche Eingabe die Kodierung c = 〈q〉 einer Zahl 1 < q < p und akzeptiert genau dann, wennp durch q teilbar ist (die Falle p = 1, 2 werden gesondert behandelt).

Als Beweis fur die Tatsache, dass p keine Primzahl ist, geben wir also einfach einen Teiler qvon p an, der ungleich 1 und p selbst ist.

Klar ist, dass V in polynomieller Zeit lauft (Division nach Schulmethode), und dass es genaudann ein c gibt, so dass 〈p, c〉 akzeptiert wird, wenn p einen entsprechenden Teiler q hat.

Aufgabe 3 Das Problem TSP (traveling salesperson problem) ist wie folgt definiert: gegebenist der vollstandige ungerichtete Graph Kn auf n Knoten (vollstandig bedeutet dabei, dass jedemogliche Kante auch vorhanden ist – die Anzahl der Kanten ist also

(

n

2

)

). Jede Kante e hat eineLange `(e) ∈ N. Zu entscheiden ist, ob es eine Rundreise der Gesamtlange hochstens k gibt. EineRundreise ist ein geschlossener Weg, der jeden Knoten genau einmal besucht. Die Abbildung zeigteine Rundreise der Lange 17 auf dem vollstandigen Graphen mit 4 Knoten.

3

5 8

1

6

9

Als Sprache konnen wir TSP wie folgt formulieren.

TSP = {〈n, `, k〉 | ` = (`1, . . . , `(n

2)) Kantenlangen des Kn, so dass es Rundreise der Lange hochstens k gibt}.

Page 33: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

Aufgabe 3 33

Zeige, dass die Sprache HAMPATH polynomialzeit-reduzierbar auf TSP ist.

Losung:Sei G ein Graph mit n Knoten. Wir konstruieren dann in polynomieller Zeit ein Wort

f(〈G〉) = 〈n+ 1, `, k〉

mit der Eigenschaft〈G〉 ∈ HAMPATH ⇔ 〈n+ 1, `, k〉 ∈ TSP.

n ist dabei die Anzahl der Knoten von G; es bleibt noch anzugeben, wie die Kantenlangen` = (`1, . . . , `(n+1

2 )) des Kn+1 sowie der Wert von k gewahlt werden.

Die Konstruktion ist die folgende. G kann als Teilgraph von Kn+1 aufgefasst werden – wiridentifizieren einfach die Knoten von G mit beliebigen n Knoten des Kn+1 (ein Knoten v desKn+1 bleibt dabei unbelegt, dieser wird eine spezielle Bedeutung bekommen). G hat dann einigeder Kanten des Kn+1, nennen wir diese Kantenmenge E. Dann definieren wir die Kantenlangen inKn+1 wie folgt.

`(e) :=

1, falls e ∈ E2, falls e 6∈ E und e hat v nicht als Endknoten,0, falls e 6∈ E und e hat v als Endknoten.

Ferner setzen wir k = n− 1.Die Behauptung ist jetzt: G besitzt genau dann einen Hamiltonpfad (d.h. 〈G〉 ∈ HAMPATH),

wenn es in Kn+1 mit den so definierten Langen ` eine Rundreise der Lange hochstens k = n − 1gibt (d.h. 〈n + 1, `, n − 1〉 ∈ TSP). Daraus folgt die Polynomialzeit-Reduzierbarkeit, denn es istklar, dass f(〈G〉) in polynomieller Zeit berechnet werden kann.

Die Behauptung ist nicht schwierig einzusehen. Falls G einen Hamiltonpfad hat, so kommendessen n− 1 Kanten auch mit Gewicht 1 in Kn+1 vor, definieren also einen Pfad der Lange n− 1,der alle Knoten bis auf v genau einmal durchlauft; wenn wir noch den ersten und letzten Knotendes Pfades uber den speziellen Knoten v miteinander verbinden (das erzeugt nach Konstruktionkein zusatzliches Gewicht), erhalten wir eine Rundreise der Lange n− 1 in Kn+1.

Gibt es andererseits in Kn+1 eine Rundreise der Lange hochstens n − 1, so gibt es zunachstgenau zwei Kanten mit Lange 0 in der Rundreise, denn der Knoten v muss in der Rundreise vor-kommen, kann aber nur durch Kanten des Gewichts 0 betreten und verlassen werden. Zwischenseinen beiden benachbarten Knoten existiert dann ein Pfad des Gesamtgewichts hochstens n − 1,woraus folgt, dass alle Kanten des Pfades Lange 1 haben, da bei insgesamt n − 1 Kanten jedeKante der Lange 2 die Rundreise auf uber Lange n − 1 ausdehnen wurde (und Kanten der Lange0 konnen nicht mehr vorkommen). Die Kanten dieses Pfades sind dann aber auch in G vorhandenund definieren dort einen Hamiltonpfad.

Page 34: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

34 10. UBUNGSBLATT

10. Ubungsblatt

Aufgabe 1 Betrachte die Sprache DOUBLE-SAT definiert als

{〈φ〉 | φ hat mindestens zwei verschiedene erfullende Belegungen}.

Zeige, dass DOUBLE-SAT NP-vollstandig ist.

Losung:Wiederum sieht man leicht, dass DOUBLE-SAT in NP liegt. Die NTM

”rat“ die beiden Belegungen

(aquivalent: es gibt einen polynomiellen Verifikator; dieser erhalt als Eingabe zwei Belegungen undpruft, ob diese verschieden sind sowie beide die Formel erfullen).

Um zu zeigen, dass DOUBLE-SAT NP-vollstandig ist, geben wir eine Polynomialzeit-ReduktionSAT ≤P DOUBLE-SAT an; da SAT NP-vollstandig ist, folgt dies auch fur DOUBLE-SAT.

Die Reduktion ist ganz einfach: gegeben eine Formel φ, so erstellen wir zunachst eine Formelφ′, die wir aus φ erhalten, indem wir jedes Literal durch seine Negation ersetzen. Klar ist, dassφ genau dann eine erfullende Belegung hat, wenn dies fur φ′ gilt. Genauer: hat φ eine erfullendeBelegung mit Werten xi = bi, bi ∈ {wahr, falsch} fur alle i, so hat φ′ die erfullende Belegungxi = bi fur alle i, wobei b der zu b komplementare Wahrheitswert ist.

Betrachten wir nun die Formelψ = φ ∨ φ′,

so gilt folgendes: ist φ nicht erfullbar, so auch nicht φ′, also auch nicht ψ. Ist φ aber erfullbar, sohaben φ und φ′ nach Konstruktion erfullende Belegungen, die komplementar, insbesondere alsoverschieden sind. Beide erfullen dann ψ.

Es gilt also: φ ist genau dann erfullbar, wenn ψ mindestens zwei erfullende Belegungen hat.Da ψ in polynomieller Zeit konstruiert werden kann, haben wir die gewunschte Polynomialzeit-Reduktion.

Aufgabe 2 Beweise den folgenden Satz: wenn P = NP gilt, dann sind alle Sprachen L ∈ P(ausser L = ∅ und L = T ∗) NP-vollstandig.

Losung:Nehmen wir an, es gilt P = NP; sei L ∈ P, L 6= ∅, T ∗. Dann mussen wir zeigen:

(i) L ∈ NP, und

(ii) Alle Sprachen in NP sind polynomialzeit-reduzierbar auf L.

(i) ist offensichtlich, da L ∈ P = NP. Fur (ii) argumentieren wir wie folgt. Wegen L 6= ∅, T ∗ gibtes Worter w+, w− mit w+ ∈ L,w− 6∈ L. Sei nun A irgendeine Sprache in NP. Wir mussen einepolynomialzeit-berechenbare Funktion f angeben, so dass

w ∈ A ⇔ f(w) ∈ L. (4)

f wird wie folgt definiert.

f(w) :=

{

w+ falls w ∈ Aw− falls w 6∈ A.

Page 35: Ub ¨ ungsaufgaben und Losungen¨algo.uni-konstanz.de/lehre/ss03/theo/uebungsblaetter/loesungen.pdf · Ub¨ ungsaufgaben und Losungen ... von pund qfuhrt¨ dies zu einem Widerspruch

Aufgabe 3 35

Diese Funktion hat direkt nach Konstruktion die verlangte Eigenschaft (4). Sie ist ferner polynomialzeit-berechenbar, da A in P liegt, also einen polynomialen Entscheidungsalgorithmus hat.

Man konnte gegen diesen Beweis ins Feld fuhren, dass die Worter w+ und w− ja gar nichtbekannt sein mussen, sondern vielleicht erst berechnet werden mussen (wir wissen nur, dass es siegibt); wie schnell sie berechnet werden konnen, wissen wir a priori nicht.

Das ist aber gar nicht der Punkt hier; nach Definition der NP-Vollstandigkeit muss lediglicheine geeignete Funktion f existieren, es wird nicht verlangt, dass diese Funktion f effizient auf-findbar sein muss. Wenn sie gegeben ist, muss sie effizient ausgewertet werden konnen, das ist dieentscheidende Forderung der Polynomialzeit-Reduktion.

Die Frage einer effizienten (oder uberhaupt irgendeiner) Berechnung von w+ und w− stelltsich auch gar nicht, weil die Sprache L nirgends als Eingabe fur eine Maschine auftaucht. DieKonstruktion von f ist also etwas, das im Kopf der beweisfuhrenden Person ablauft (hier erscheintL als

”Eingabe“). Nur die Auswertung von f passiert dann auf einer Maschine.

Aufgabe 3 In der Vorlesung wurde ein Approximationsalgorithmus fur das Rundreiseproblemmit Dreiecksungleichung angegeben. Zeige, dass es fur allgemeine Gewichtsfunktionen und jedeKonstante c > 1 NP-schwer ist, eine Rundreise zu finden, die hochstens c-mal so lang ist wie diekurzeste Rundreise.

Hinweis: Verwende die Tatsache, dass die Sprache HAMPATH NP-vollstandig ist und modifi-ziere die Konstruktion aus Aufgabe 3 der Ubung 9.

Losung:Wir mussen zeigen, dass ein polynomieller Approximationsalgorithmus mit Gute c fur das Rund-reiseproblem polynomielle Algorithmen fur alle Probleme in NP impliziert. Dazu reicht es zuzeigen, dass wir einen polynomiellen Algorithmus fur ein NP-vollstandiges Problem erhalten, undhier nehmen wir das Problem HAMPATH.

Sei also G ein Graph, von dem wir entscheiden wollen, ob er einen Hamiltonschen Pfad hat.Wir konstruieren aus G nun einen gewichteten, vollstandigen Hilfsgraphen wie in der Losung zurAufgabe 3 der Ubung 9, allerdings setzen wir das Gewicht der Kanten, die nicht in der Kanten-menge E von G sind und den Knoten v nicht als Endknoten haben, nicht auf den Wert 2, sondernauf den Wert c · n, n die Anzahl der Knoten von G.

Nehmen wir nun an, wir haben einen polynomiellen Algorithmus, der uns fur jede Instanz desRundreiseproblems eine Rundreise liefert, die hochstens c-mal so lang ist wie die optimale. DiesenAlgorithmus lassen wir nun auf unseren Hilfsgraphen los. Falls der Algorithmus eine Rundreiseder Lange kleiner als c ·n berechnet, wissen wir, dass G einen Hamiltonschen Pfad hat, denn sonsthatte jede Rundreise eine Kante der Lange c ·n benutzen mussen. Ist die Ausgabe andererseits eineRundreise der Lange mindestens c ·n, so wissen wir (weil wir ja einen Approximationsalgorithmushaben), dass die optimale Rundreise nicht kurzer als n sein kann. Das bedeutet nach Konstruktionwiederum, dass G keinen Hamiltonschen Pfad hat, denn sonst gabe es eine Rundreise der Langen− 1.

Mit Hilfe des polynomiellen Approximationsalgorithmus konnen wir also in polynomiellerZeit entscheiden, ob G einen Hamiltonschen Pfad hat oder nicht. Folglich ist das Problem, eineRundreise zu finden, die hochstens c-mal so lang ist wie die optimale, NP-schwer.