Grundlagen der Informatik II Tutorium 3 Institut für Angewandte Informatik und Formale Beschreibungsverfahren – Professor Dr. Hartmut Schmeck

Miniaufgabe * bevor es losgeht *

Wie stellt man in einem regulären Ausdruck die Sprache dar, die das leere Wort enthält? a) Als 𝜆

b) Als 𝜙

c) Als 𝜙 ∗

d) Als 𝜆∗

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft

www.kit.edu

Grundlagen der Informatik II Denn:

Tutorium 3

𝐿 𝜙∗ = 𝐿 𝜙



= 𝜙∗ =

𝜙𝑖 𝑖≥0

= 𝜆 ∪ 𝜙 ∪ 𝜙 ∘ 𝜙 ∪ ⋯ = {𝜆} ist 𝜆 = 𝜙 0 ; 𝜙 = 𝜙1 ; 𝜙 ∘ 𝜙 = 𝜙 2 ; … Institut für Angewandte Informatik und Formale Beschreibungsverfahren – Professor Dr. (dabei Hartmut Schmeck

Miniaufgabe * bevor es losgeht *

Wie stellt man in einem regulären Ausdruck die Sprache dar, die das leere Wort enthält? a) Als 𝜆

b) Als 𝜙

c) Als 𝜙 ∗

d) Als 𝜆∗

Beispiel: 𝑳 𝝓∗ + 𝒂𝒃 = {𝝀, 𝒂𝒃}

(Als Abkürzung kann aber bspw. „𝜆 ≔ 𝜙 ∗ “ definiert werden.) KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft

www.kit.edu

Terminankündigungen Bonusklausur

Anmeldung: 17.10.16 – 08.01.17 Melden Sie sich frühzeitig an! Nachträgliche Anmeldungen können nicht berücksichtigt werden!

Erste Saalübung Termin: 05.12.16, 11:30 – 13:00 Uhr, Gerthsen Hörsaal Zusammenfassung des Vorlesungsstoffs aus der ersten Vorlesungshälfte Vorrechnen typischer Klausuraufgaben zu den vorgestellten Themen Die Saalübung wird nicht aufgezeichnet

3

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Für die Fleißigen… Weitere Aufgaben zu den Themen dieses Tutoriums Aus dem Aufgabenpool bzw. Übungsbuch: Kapitel 6: Kontextfreie Grammatiken (KON-AB, KON-AC, KON-AD), Kapitel 7: Pumping-Lemma (PUM-AC, PUM-AL, PUM-AD, PUM-AG, PUM-AI, PUM-AJ, PUM-AK, PUM-AM, PUM-AH, PUM-AE), Kapitel 8: Turingmaschinen (8 Aufgaben), Kapitel 9: Kontextsensitive und monotone Grammatiken (8 Aufgaben), Kapitel 10: Berechenbarkeits- und Komplexitätstheorie (12 Aufgaben).

Auf Übungsblatt 3 (4 Aufgaben, relativ schwer, aber erkenntnisreich) Aufgaben, die mit „für zuhause“ markiert sind: HU-3-1 bis HU-3-4

Bei Fragen oder Kommentaren zu allen Aufgaben nutzen Sie das Q/A-Forum oder fragen Sie Ihren Tutor.

Klick 4

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Einführungsaufgabe: Pumping-Lemma Wie ist das Pumping-Lemma für kontextfreie Sprachen definiert? Sei 𝐿 eine kontextfreie Sprache. Dann gibt es eine Konstante 𝑛 ∈ ℕ, sodass für alle Wörter 𝑧 ∈ 𝐿 mit 𝑧 ≥ 𝑛 eine Zerlegung 𝑧 = 𝑢𝑣𝑤𝑥𝑦 existiert mit: (a) 𝑣𝑤𝑥 ≤ 𝑛 ,

𝑣𝑣 𝑥𝑥 𝑢𝑣𝑣 … 𝑣𝑣𝑤𝑥𝑥 … 𝑥𝑥𝑦 𝐿(𝐴)

(b) 𝑣𝑥 ≥ 1 (c) für alle i ∈ ℕ0 gilt: 𝑢𝑣𝑖𝑤𝑥𝑖𝑦 ∈ 𝐿

Wie kann man diese Aussage herleiten? Da 𝐿 kontextfrei ist, existiert eine kontextfreie Grammatik 𝐺 mit 𝐿 𝐺 = 𝐿. Aus dem Ableitungsbaum ist ersichtlich, dass „genügend“ lange Wörter zwei Pumpstellen enthalten, die gleichzeitig gepumpt werden können. 5

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Aufgabe 1: Pumping Lemma Gegeben sei die Sprache 𝐿 = 𝑎𝑖𝑏𝑗𝑐𝑘 1 ≤ 𝑖 ≤ 𝑗 ≤ 𝑘 ∈ ℕ}. Ist 𝐿 kontextfrei?

6

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Aufgabe 1: Pumping Lemma Gegeben sei die Sprache 𝐿 = 𝑎𝑖𝑏𝑗𝑐𝑘 1 ≤ 𝑖 ≤ 𝑗 ≤ 𝑘 ∈ ℕ}. Ist 𝐿 kontextfrei? Wenn L kontextfrei wäre, könnte man eine kontextfreie Grammatik dafür angeben. Wenn nicht, kann das PPL nicht gelten.

Lösung: Wähle ein Wort 𝑧 = 𝑎𝑛𝑏𝑛𝑐𝑛 ∈ 𝐿 mit z = 3 ∗ 𝑛 ≥ 𝑛 und 𝑛 beliebig. Betrachte eine beliebige Partition von z mit z = uvwxy = anbncn mit (1) 𝑣𝑤𝑥 ≤ 𝑛, (2) 𝑣𝑥 ≥ 1. Daraus folgt n n n     a  a b  bc  c

𝑣𝑤𝑥

7

𝑣𝑤𝑥

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

𝑣𝑤𝑥

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Aufgabe 1: Pumping Lemma n n n     a  a b  bc  c

𝑣𝑤𝑥

𝑣𝑤𝑥

𝑣𝑤𝑥

𝑣𝑤𝑥

𝑣𝑤𝑥

𝑣𝑥 kann maximal zwei der drei Symbole a, b, c enthalten, da 𝑣𝑤𝑥 ≤ 𝑛 Enthält 𝑣𝑥 ein 𝑎, so enthält es kein 𝑐. Für ein 𝑖 > 1 enthält jedes 𝑢𝑣𝑖𝑤𝑥𝑖𝑦 weniger 𝑐′𝑠 als a′𝑠 oder 𝑏 ′ 𝑠. Enthält 𝑣𝑥 kein 𝑎, so enthält es mindestens ein 𝑏 oder 𝑐. Für 𝑖 = 0 enthält 𝑢𝑤𝑦 also mehr a′𝑠 als 𝑏 ′ 𝑠 oder 𝑐′𝑠. So haben wir für jede mögliche Zerlegung 𝑢𝑣𝑤𝑥𝑦 von 𝑧, für die (1) und (2) gilt, ein 𝑖 gefunden, für das gilt 𝑢𝑣𝑖𝑤𝑥𝑖𝑦 ∉ 𝐿. Dies ist ein Widerspruch zur Bedingung (3) ∀ 𝑖 𝜖 ℕ0: 𝑢𝑣𝑖𝑤𝑥𝑖𝑦𝜖 𝐿 des PumpingLemmas. Gemäß der Folgerung aus dem Pumping-Lemma ist demnach 𝐿 nicht kontextfrei. 8

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Einführungsaufgabe: Turingmaschine Wie ist eine Turingmaschine definiert und wie prüft man die Akzeptanz eines Wortes 𝑤?

{𝑅, 𝐿, 𝑁}

Definition:

𝑇𝑀 = 𝐸, 𝐵, 𝑆, 𝛿, 𝑠0, 𝐹 mit

Überführungsfunktion:

𝛿 𝑠, 𝑏 = (𝑠′, 𝑏 ′ , 𝑑)

Akzeptanz von 𝑤 prüfen:

λ, s0, 𝑤 ⊢∗ (𝑢, 𝑠, 𝑣) mit 𝑠 ∈ 𝐹, 𝑢, 𝑣 ∈ 𝐵 , 𝑤 ∈ 𝐸





und es gibt keine Folgekonfiguration von (𝑢, 𝑠, 𝑣) Eine Konfiguration bestimmt eindeutig den Gesamtzustand einer Turingmaschine inklusive Bandinhalt und Kopfposition. 9

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Aufgabe 4: Turingmaschinen a) Definieren Sie eine Turingmaschine 𝑇𝑀1, die zu der als Binärzahl interpretierten Bandinschrift eine 1 hinzuzählt. Verfeinern Sie dazu die in der Vorlesung vorgestellte Version, so dass sie auch ohne die Annahme mindestens einer 0 funktioniert. Der Schreib-/Lesekopf soll im Endzustand auf dem äußerst linken Zeichen stehen bleiben. * 1 0 1 𝑠0

10

0

0 1

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

1

1 0

*

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Aufgabe 4: Turingmaschinen a) Definieren Sie eine Turingmaschine 𝑇𝑀1, die zu der als Binärzahl interpretierten Bandinschrift eine 1 hinzuzählt. Verfeinern Sie dazu die in der Vorlesung vorgestellte Version, so dass sie auch ohne die Annahme mindestens einer 0 funktioniert. Der Schreib-/Lesekopf soll im Endzustand auf dem äußerst linken Zeichen stehen bleiben. * 1 0 1 𝑠0

0

0 1

1

1 0

*

Lösung: Lesen von links nach rechts bis Ende: 𝑇𝑀1 = 𝐸1, 𝐵1, 𝑆1, 𝛿1, 𝑠0, 𝐹1 𝐸1 = {0,1} 𝐵1 = {0,1,⋆} 𝑆1 = {𝑠0, 𝑠1, 𝑠2, 𝑠𝑒} 𝐹1 = {𝑠𝑒}

11

𝛿2

0

1



𝑠0

(𝑠0,0, 𝑅)

(𝑠0,1, 𝑅)

(𝑠1,∗, 𝐿)

𝑠1 𝑠2

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Aufgabe 4: Turingmaschinen Falls letzte Zahl 0 ist:

* 1

0 1

0

0 1

1

1 0

*

1 0 + 1 = 1:

𝛿2

0

1



𝑠0

(𝑠0,0, 𝑅)

(𝑠0,1, 𝑅)

(𝑠1,∗, 𝐿)

𝑠1

(𝒔𝟐, 𝟏, 𝑳)

𝑠2

(𝒔𝟐, 𝟎, 𝑳)

(𝒔𝟐, 𝟏, 𝑳)

(𝒔𝒆 ,∗, 𝑹)

Falls letzte Zahl 1 ist:

1

1 1

1 0 0 1 + 1 = 10: 0 eintragen und 1 mitschleppen bis 0 oder *

0 0

12

* 1

0 1

0

0 1

𝛿2

0

1



𝑠0

(𝑠0,0, 𝑅)

(𝑠0,1, 𝑅)

(𝑠1,∗, 𝐿)

𝑠1

(𝑠2,1, 𝐿)

(𝒔𝟏, 𝟎, 𝑳)

(𝒔𝒆, 𝟏, 𝑵)

𝑠2

(𝑠2,0, 𝐿)

(𝑠2,1, 𝐿)

(𝑠𝑒 ,∗, 𝑅)

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

* Skript ID-8074

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Aufgabe 4: Turingmaschinen 𝑇𝑀1 = 𝐸1, 𝐵1, 𝑆1, 𝛿1, 𝑠0, 𝐹1 𝐸1 = {0,1} 𝐵1 = {0,1,⋆} 𝑆1 = {𝑠0, 𝑠1, 𝑠2, 𝑠𝑒 } 𝐹1 = {𝑠𝑒}

Was ändert sich, wenn man nicht über den linken Rand hinaus schreiben darf, das Ergebnis aber trotzdem in jedem Fall korrekt auf dem Band stehen muss?

𝛿1 :

(s0,0) → (s0,0,R) (s0,1) → (s0,1,R) (s0,⋆) → (s1,⋆,L) (s1,0) → (s2,1,L) (s1,1) → (s1,0,L) (s1,⋆) → (se,1,N) (s2,0) → (s2,0,L) (s2,1) → (s2,1,L) (s2,⋆) → (se,⋆,R)

13

Ganz nach rechts wandern. Ganz nach rechts wandern. Rechtes Zeichen erreicht, positioniere auf äußerst rechtes Zeichen. 0 + 1 = 1 und fertig gerechnet, nur noch wieder ans Ende gehen. 1 + 1 = 10, 0 eintragen und Übertrag mitschleppen bis 0 oder ⋆. Übertrag bis ans linke Ende mitgeschleppt, neue höhere Stelle borgen und 1 eintragen, danach fertig. Es gibt nichts mehr zu rechnen, nur noch wieder bis ans linke Ende marschieren. Es gibt nichts mehr zu rechnen, nur noch wieder bis ans linke Ende marschieren. Gerade übers linke Ende hinweg gelesen, deshalb ein Schritt zurück, stehenbleiben und fertig.

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Aufgabe 4: Turingmaschinen b) Definieren Sie eine Turingmaschine 𝑇𝑀2, die rechts neben die Bandinschrift (mit 𝐸2 = {0,1}) ein 𝐸 schreibt und links neben die Bandinschrift ein 𝐴. Das Band ist nach links und rechts unbegrenzt. 𝑇𝑀2 startet in der Konfiguration (𝜆, 𝑠0, 𝑤) mit Startzustand 𝑠0 und stoppt in Endzustand 𝑠𝑒. * 1

0 1



1

1

1 0

*

𝑠0

14

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Aufgabe 4: Turingmaschinen b) Definieren Sie eine Turingmaschine 𝑇𝑀2, die rechts neben die Bandinschrift (mit 𝐸2 = {0,1}) ein 𝐸 schreibt und links neben die Bandinschrift ein 𝐴. Das Band ist nach links und rechts unbegrenzt. 𝑇𝑀2 startet in der Konfiguration (𝜆, 𝑠0, 𝑤) mit Startzustand 𝑠0 und stoppt in Endzustand 𝑠𝑒. * 1

0 1



1

1

1 0

*

𝑠0 Lösung: 𝑇𝑀2 = 𝐸2, 𝐵2, 𝑆2, 𝛿2, 𝑠0, 𝐹2 𝐸2 = {0,1} 𝐵2 = {0,1, 𝐴, 𝐸,⋆} 𝑆2 = {𝑠0, 𝑠1, 𝑠𝑒} 𝐹2 = {𝑠𝑒} Zustandstafel:

15

𝛿2:

(𝑠0, 0) → (𝑠0, 0, 𝐿) einen Schritt nach links (𝑠0, 1) → (𝑠0, 1, 𝐿) einen Schritt nach links (𝑠0,⋆) → (𝑠1, 𝐴, 𝑅) 𝐴 schreiben und nach rechts gehen (𝑠1, 0) → (𝑠1, 0, 𝑅) nach rechts (𝑠1, 1) → (𝑠1, 1, 𝑅) nach rechts (𝑠1,⋆) → (𝑠𝑒, 𝐸, 𝑁) 𝐸 schreiben und stehenbleiben

𝛿2

0

1



𝑠0

(𝑠0,0, 𝐿)

(𝑠0,1, 𝐿)

(𝑠1, 𝐴, 𝑅)

𝑠1

(𝑠1,0, 𝑅)

(𝑠1,1, 𝑅) (𝑠𝑒, 𝐸, 𝑁)

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

MiniEx ✓ ID-8126

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Multiple-Choice-Relax-Aufgabe Eine universelle Turingmaschine 𝑈 ist in der Lage, die Kodierung einer beliebigen anderen Turingmaschine 𝑀 mitsamt einer Eingabe 𝑤 als Eingabe zu interpretieren und eine Berechnung von 𝑀 auf 𝑤 zu simulieren.

□ WAHR □ FALSCH

16

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Multiple-Choice-Relax-Aufgabe Eine universelle Turingmaschine 𝑈 ist in der Lage, die Kodierung einer beliebigen anderen Turingmaschine 𝑀 mitsamt einer Eingabe 𝑤 als Eingabe zu interpretieren und eine Berechnung von 𝑀 auf 𝑤 zu simulieren.

X WAHR □

□ FALSCH

17

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Multiple-Choice-Relax-Aufgabe Eine universelle Turingmaschine 𝑈 ist in der Lage, die Kodierung einer beliebigen anderen Turingmaschine 𝑀 mitsamt einer Eingabe 𝑤 als Eingabe zu interpretieren und eine Berechnung von 𝑀 auf 𝑤 zu simulieren.

X WAHR □

□ FALSCH Entspannender, aber wichtiger Relax-Hintergrund: Das entspricht der Definition einer universellen Turingmaschine.

18

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Einführungsaufgabe: Zeitkomplexität Was ist eine Polynomialzeitreduktion? 𝑄

𝑓

𝑃

In polynomieller Zeit berechenbar

𝐿𝑄

𝑔

𝐿𝑃

𝑃, 𝑄: 𝐿𝑃 , 𝐿𝑄 :

Probleme Mengen von Lösungen zu 𝑃 bzw. 𝑄

𝑓, 𝑔:

in polynomieller Zeit berechenbare Funktionen

Polynomialzeitreduzierbarkeit 𝑄 ≤ 𝑝𝑜𝑙𝑃: 𝑄 heißt auf 𝑃 polynomialzeit-reduzierbar gdw. 𝑄 durch 𝑓 in 𝑃 transformiert werden kann, und jede Lösung 𝐿𝑃 von 𝑓(𝑄) = 𝑃 durch 𝑔 in eine Lösung 𝐿𝑄 von 𝑄 transformiert werden kann. 19

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Aufgabe 6: Komplexität Zeigen Sie, dass polynomielle Reduzierbarkeit transitiv ist, d.h. falls Probleme 𝐴, 𝐵, 𝐶 und Funktionen 𝑓, 𝑔 existieren und 𝐴≤𝑓𝐵

und

𝐵 ≤ 𝑔𝐶 gilt, dann existiert eine Funktion ℎ, so dass 𝐴 ≤ ℎ 𝐶. Die Funktionen 𝑓, 𝑔, ℎ sind dabei in Polynomialzeit berechenbar.

20

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Aufgabe 6: Komplexität Lösung: 𝐴 ≤ 𝑓 𝐵 bedeutet, dass man 𝐴 durch 𝑓 in 𝐵 transformieren kann und die Lösung 𝐿𝐵 mit einer Funktion 𝑓’ in eine Lösung von 𝐴 rücktransformieren kann. ′

Es gilt also: 𝐿𝐴 = 𝑓’(𝐿𝐵 ) = 𝑓’(𝐿𝑓 (𝐴)) mit 𝑓 ∈ 𝑂(𝑛𝑝 ), 𝑓’ ∈ 𝑂(𝑛𝑝 ) ′

Analog: 𝐿𝐵 = 𝑔’(𝐿𝐶 ) = 𝑔’(𝐿𝑔 (𝐵)) mit 𝑔 ∈ 𝑂(𝑛𝑞 ), 𝑔’ ∈ 𝑂(𝑛𝑞 ).

𝐴 𝐿𝐴

𝑓

𝐵 𝐿𝐵

𝑓’

Jetzt definiert man ℎ = 𝑔 ◦ 𝑓 und ℎ’ = 𝑓’ ◦ 𝑔’ Dann gilt: 𝐶 = 𝑔(𝐵) = 𝑔(𝑓 (𝐴)) = ℎ(𝐴) und 𝐿𝐴 = 𝑓’(𝐿𝐵 ) = 𝑓’(𝑔’(𝐿𝐶 )) = ℎ’(𝐿𝐶 ) ′



mit ℎ ∈ 𝑂(𝑛𝑝 + 𝑛𝑞 ) und ℎ’ ∈ 𝑂(𝑛𝑝 + 𝑛𝑞 ) Ohne Beschränkung der Allgemeinheit sei 𝑝 ≥ 𝑞 und 𝑝’ ≥ 𝑞’ ′

Dann gilt: ℎ ∈ 𝑂(𝑛𝑝 ) und ℎ’ ∈ 𝑂(𝑛𝑝 ) => ℎ ist polynomialzeit-berechenbar 21

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Multiple-Choice-Relax-Aufgabe 𝑁𝑃-vollständige Probleme sind die schwierigsten Probleme, die es gibt.

□ WAHR

□ FALSCH

22

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Multiple-Choice-Relax-Aufgabe 𝑁𝑃-vollständige Probleme sind die schwierigsten Probleme, die es gibt.

□ WAHR

□ X FALSCH

23

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Multiple-Choice-Relax-Aufgabe 𝑁𝑃-vollständige Probleme sind die schwierigsten Probleme, ℘(𝐸 ∗ ) die es gibt. Semientsch. Und wo liegt NP-vollständig im Diagramm?

Entscheidbar …

□ WAHR

𝐸𝑋𝑃𝑆𝑃𝐴𝐶𝐸

□ X FALSCH

𝐸𝑋𝑃𝑇𝐼𝑀𝐸

𝑃𝑆𝑃𝐴𝐶𝐸 𝑁𝑃

𝑃 Entspannender, aber wichtiger Relax-Hintergrund: Es gibt Probleme, die nicht in 𝑁𝑃 liegen und daher noch schwieriger sind. Die meisten Probleme aus ℘ 𝐸 ∗ sind nicht einmal semientscheidbar, also außerhalb des äußersten Kreises. Allerdings ist für viele der Inklusionsbeziehungen nicht bekannt, ob sie unterschiedlich sind (wichtigste Frage: 𝑃 = 𝑁𝑃?). 24

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Einführungsaufgabe: Grammatiken Wie ist eine Grammatik aufgebaut? Wie unterscheiden sich die einzelnen Grammatiken der Chomsky-Hierarchie voneinander? Bei allen Typen, außer Typ 1, sind

𝐺 = (𝑁, 𝑇, 𝑃, 𝑆) auch Übergänge A → λ erlaubt. 𝑁: Menge der Nonterminalsymbole 𝑇: Menge der Terminalsymbole Kontextsensitive Grammatiken sind monoton. Monotone Grammatiken können 𝑃: Menge der Produktionen in kontextsensitive umgewandelt werden. 𝑆: Startsymbol Unterscheidung in den erlaubten Produktionsregeln Typ

Produktionsvorschrift  

Links darf nur ein Nonterminalzeichen stehen Rechts steht entweder ein Terminalzeichen oder ein Terminalzeichen gefolgt von einem Nonterminalzeichen

Typ-2 Grammatik (kontextfrei)

 

Links darf nur ein Nonterminalzeichen stehen Rechter Teil beliebig

Typ-1 Grammatik (kontextsensitiv) (monoton äquivalent)

  

Es darf nur ein Nonterminalzeichen ersetzt werden Der Kontext rechts und links neben dem Nonterminalzeichen muss erhalten bleiben Keine verkürzenden Regeln

Typ-0 Grammatik (allgemein)



Regeln beliebig

Typ-3 Grammatik (regulär)

25

Beispiele

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

𝑆 →𝑎 𝐴 → 𝑎A 𝑆 → 𝐵𝐴𝑆𝐴𝑎 𝐵 → 𝐴 𝐚𝐚𝑆𝐛𝐛 → 𝐚𝐚𝐴𝐛𝐛 𝐛𝐀𝑆 → 𝐛𝐀𝐴

𝑆𝐴𝐶𝐵 → 𝑋𝑌𝑎

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Aufgabe 8: Grammatiken a)

26

Bringen Sie die folgende Grammatik in Chomsky-Normalform (CNF): Skript ID-8145 𝑁 = {𝑆, 𝐴} 𝑇 = {𝑎, 𝑏, +, 𝑥} 𝑃 = { 𝑆 → 𝐴|𝐴 + 𝑆, 𝐴 → 𝑥|𝑎𝐴𝑎|𝑏𝐴𝑏 }

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Aufgabe 8: Grammatiken a)

Bringen Sie die folgende Grammatik in Chomsky-Normalform (CNF): Skript ID-8145 𝑁 = {𝑆, 𝐴} 𝑇 = {𝑎, 𝑏, +, 𝑥} 𝑃 = { 𝑆 → 𝐴|𝐴 + 𝑆, 𝐴 → 𝑥|𝑎𝐴𝑎|𝑏𝐴𝑏 }

Lösung: Nach dem Verfahren aus der Vorlesung wird die vorgegebene Grammatik umgeformt in die CNF der Form:

𝐺𝐶𝑁𝐹 = (𝑁𝐶𝑁𝐹 , 𝑇, 𝑃𝐶𝑁𝐹 , 𝑆) Es sind nur Regeln der Form 𝑁 × 𝑁𝑁 oder 𝑁 × 𝑇 erlaubt. (1) Mache 𝐺 𝜆-frei. (Dieser Schritt entfällt.) (2) Eliminiere reine Umbenennungen: Die einzige Umbenennung, die vorkommt ist 𝑆 → 𝐴. Dieses A wird ersetzt durch seine Produktionen: 𝑃 = {𝑆 → 𝑥|𝑎𝐴𝑎|𝑏𝐴𝑏|𝐴 + 𝑆, 𝐴 → 𝑥|𝑎𝐴𝑎|𝑏𝐴𝑏} 27

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Aufgabe 8: Grammatiken (3) Forme so um, dass die rechte Seite entweder ein Terminalsymbol oder beliebig viele Nonterminalsymbole besitzt. 𝑃 = {𝑆 → 𝑥 | 𝐺𝐴𝐺 | 𝐵𝐴𝐵 | 𝐴𝐶𝑆, 𝐴 → 𝑥 | 𝐺𝐴𝐺 | 𝐵𝐴𝐵, 𝐺 → 𝑎, 𝐵 → 𝑏, 𝐶 → +}

(4) Ersetze jede Regel, auf deren rechten Seite mindestens drei Nonterminalsymbole stehen. 𝑁𝐶𝑁𝐹 = {𝑆, 𝐴, 𝐵, 𝐶, 𝐷, 𝐸, 𝐹, 𝐺} 𝑇 = {𝑎, 𝑏, +, 𝑥} 𝑃𝐶𝑁𝐹 = {𝑆 → 𝑥 | 𝐺𝐹 | 𝐵𝐸 | 𝐴𝐷,

28

Skript ID-8151 𝐴 → 𝑥 | 𝐺𝐹 | 𝐵𝐸,

𝐹 → 𝐴𝐺,

𝐺 → 𝑎,

𝐸 → 𝐴𝐵,

𝐵 → 𝑏,

𝐷 → 𝐶𝑆,

𝐶 → +}

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Aufgabe 8: Grammatiken b) Entscheiden Sie für die gegebene Grammatik 𝐺2 = ( 𝑆, 𝑆′, 𝐴, 𝐵, 𝑋, 𝑌, 𝑍 , 𝑎 , 𝑃, 𝑆), welche Regeln rechtslinear, kontextfrei, kontextsensitiv und/oder monoton sind. Betrachten Sie die einzelnen Regeln hierbei unabhängig voneinander. Typ

rechtslinear

kontextfrei

kontextsensitiv

monoton

S →λ S →a S → S′ AAX S′ → S′ A S′ → ZB BA → YAB YA → AY BX → λ BX → BAX A →a Y →a Z →λ 29

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Aufgabe 8: Grammatiken b) Entscheiden Sie für die gegebene Grammatik 𝐺2 = ( 𝑆, 𝑆′, 𝐴, 𝐵, 𝑋, 𝑌, 𝑍 , 𝑎 , 𝑃, 𝑆), welche Regeln rechtslinear, kontextfrei, kontextsensitiv und/oder monoton sind. Betrachten Sie die einzelnen Regeln hierbei unabhängig voneinander. Typ

rechtslinear

kontextfrei

kontextsensitiv

monoton

S →λ

X

X

(x)

(x)

S →a S → S′ AAX S′ → S′ A S′ → ZB BA → YAB YA → AY BX → λ BX → BAX A →a Y →a Z →λ 30

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Aufgabe 8: Grammatiken b) Entscheiden Sie für die gegebene Grammatik 𝐺2 = ( 𝑆, 𝑆′, 𝐴, 𝐵, 𝑋, 𝑌, 𝑍 , 𝑎 , 𝑃, 𝑆), welche Regeln rechtslinear, kontextfrei, kontextsensitiv und/oder monoton sind. Betrachten Sie die einzelnen Regeln hierbei unabhängig voneinander. Typ

rechtslinear

kontextfrei

kontextsensitiv

monoton

S →λ

X

X

(x)

(x)

S →a S → S′ AAX S′ → S′ A S′ → ZB BA → YAB YA → AY BX → λ BX → BAX A →a Y →a Z →λ 31

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Aufgabe 8: Grammatiken b) Entscheiden Sie für die gegebene Grammatik 𝐺2 = ( 𝑆, 𝑆′, 𝐴, 𝐵, 𝑋, 𝑌, 𝑍 , 𝑎 , 𝑃, 𝑆), welche Regeln rechtslinear, kontextfrei, kontextsensitiv und/oder monoton sind. Betrachten Sie die einzelnen Regeln hierbei unabhängig voneinander. Typ

rechtslinear

kontextfrei

kontextsensitiv

monoton

S →λ

X

X

(x)

(x)

S →a

X

X

X

X

S → S′ AAX S′ → S′ A S′ → ZB BA → YAB YA → AY BX → λ BX → BAX A →a Y →a Z →λ 32

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Aufgabe 8: Grammatiken b) Entscheiden Sie für die gegebene Grammatik 𝐺2 = ( 𝑆, 𝑆′, 𝐴, 𝐵, 𝑋, 𝑌, 𝑍 , 𝑎 , 𝑃, 𝑆), welche Regeln rechtslinear, kontextfrei, kontextsensitiv und/oder monoton sind. Betrachten Sie die einzelnen Regeln hierbei unabhängig voneinander. Typ

rechtslinear

kontextfrei

kontextsensitiv

monoton

S →λ

X

X

(x)

(x)

S →a

X

X

X

X

X

X

X

S → S′ AAX S′ → S′ A S′ → ZB BA → YAB YA → AY BX → λ BX → BAX A →a Y →a Z →λ 33

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Aufgabe 8: Grammatiken b) Entscheiden Sie für die gegebene Grammatik 𝐺2 = ( 𝑆, 𝑆′, 𝐴, 𝐵, 𝑋, 𝑌, 𝑍 , 𝑎 , 𝑃, 𝑆), welche Regeln rechtslinear, kontextfrei, kontextsensitiv und/oder monoton sind. Betrachten Sie die einzelnen Regeln hierbei unabhängig voneinander. Typ

rechtslinear

kontextfrei

kontextsensitiv

monoton

S →λ

X

X

(x)

(x)

S →a

X

X

X

X

S → S′ AAX

X

X

X

S′ → S′ A

X

X

X

S′ → ZB BA → YAB YA → AY BX → λ BX → BAX A →a Y →a Z →λ 34

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Aufgabe 8: Grammatiken b) Entscheiden Sie für die gegebene Grammatik 𝐺2 = ( 𝑆, 𝑆′, 𝐴, 𝐵, 𝑋, 𝑌, 𝑍 , 𝑎 , 𝑃, 𝑆), welche Regeln rechtslinear, kontextfrei, kontextsensitiv und/oder monoton sind. Betrachten Sie die einzelnen Regeln hierbei unabhängig voneinander. Typ

rechtslinear

kontextfrei

kontextsensitiv

monoton

S →λ

X

X

(x)

(x)

S →a

X

X

X

X

S → S′ AAX

X

X

X

S′ → S′ A

X

X

X

S′ → ZB

X

X

X

BA → YAB YA → AY BX → λ BX → BAX A →a Y →a Z →λ 35

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Aufgabe 8: Grammatiken b) Entscheiden Sie für die gegebene Grammatik 𝐺2 = ( 𝑆, 𝑆′, 𝐴, 𝐵, 𝑋, 𝑌, 𝑍 , 𝑎 , 𝑃, 𝑆), welche Regeln rechtslinear, kontextfrei, kontextsensitiv und/oder monoton sind. Betrachten Sie die einzelnen Regeln hierbei unabhängig voneinander. Typ

rechtslinear

kontextfrei

kontextsensitiv

monoton

S →λ

X

X

(x)

(x)

S →a

X

X

X

X

S → S′ AAX

X

X

X

S′ → S′ A

X

X

X

S′ → ZB

X

X

X

BA → YAB

X

YA → AY BX → λ BX → BAX A →a Y →a Z →λ 36

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Aufgabe 8: Grammatiken b) Entscheiden Sie für die gegebene Grammatik 𝐺2 = ( 𝑆, 𝑆′, 𝐴, 𝐵, 𝑋, 𝑌, 𝑍 , 𝑎 , 𝑃, 𝑆), welche Regeln rechtslinear, kontextfrei, kontextsensitiv und/oder monoton sind. Betrachten Sie die einzelnen Regeln hierbei unabhängig voneinander. Typ

rechtslinear

kontextfrei

kontextsensitiv

monoton

S →λ

X

X

(x)

(x)

S →a

X

X

X

X

S → S′ AAX

X

X

X

S′ → S′ A

X

X

X

S′ → ZB

X

X

X

BA → YAB

X

YA → AY

X

BX → λ BX → BAX A →a Y →a Z →λ 37

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Aufgabe 8: Grammatiken b) Entscheiden Sie für die gegebene Grammatik 𝐺2 = ( 𝑆, 𝑆′, 𝐴, 𝐵, 𝑋, 𝑌, 𝑍 , 𝑎 , 𝑃, 𝑆), welche Regeln rechtslinear, kontextfrei, kontextsensitiv und/oder monoton sind. Betrachten Sie die einzelnen Regeln hierbei unabhängig voneinander. Typ

rechtslinear

kontextfrei

kontextsensitiv

monoton

S →λ

X

X

(x)

(x)

S →a

X

X

X

X

S → S′ AAX

X

X

X

S′ → S′ A

X

X

X

S′ → ZB

X

X

X

BA → YAB

X

YA → AY

X

BX → λ BX → BAX A →a Y →a Z →λ 38

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Aufgabe 8: Grammatiken b) Entscheiden Sie für die gegebene Grammatik 𝐺2 = ( 𝑆, 𝑆′, 𝐴, 𝐵, 𝑋, 𝑌, 𝑍 , 𝑎 , 𝑃, 𝑆), welche Regeln rechtslinear, kontextfrei, kontextsensitiv und/oder monoton sind. Betrachten Sie die einzelnen Regeln hierbei unabhängig voneinander. Typ

rechtslinear

kontextfrei

kontextsensitiv

monoton

S →λ

X

X

(x)

(x)

S →a

X

X

X

X

S → S′ AAX

X

X

X

S′ → S′ A

X

X

X

S′ → ZB

X

X

X

BA → YAB

X

YA → AY

X

BX → λ BX → BAX

X

X

A →a Y →a Z →λ 39

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Aufgabe 8: Grammatiken b) Entscheiden Sie für die gegebene Grammatik 𝐺2 = ( 𝑆, 𝑆′, 𝐴, 𝐵, 𝑋, 𝑌, 𝑍 , 𝑎 , 𝑃, 𝑆), welche Regeln rechtslinear, kontextfrei, kontextsensitiv und/oder monoton sind. Betrachten Sie die einzelnen Regeln hierbei unabhängig voneinander. Typ

rechtslinear

kontextfrei

kontextsensitiv

monoton

S →λ

X

X

(x)

(x)

S →a

X

X

X

X

S → S′ AAX

X

X

X

S′ → S′ A

X

X

X

S′ → ZB

X

X

X

BA → YAB

X

YA → AY

X

BX → λ BX → BAX A →a

X

X

X

X

X

X

Y →a Z →λ 40

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Aufgabe 8: Grammatiken b) Entscheiden Sie für die gegebene Grammatik 𝐺2 = ( 𝑆, 𝑆′, 𝐴, 𝐵, 𝑋, 𝑌, 𝑍 , 𝑎 , 𝑃, 𝑆), welche Regeln rechtslinear, kontextfrei, kontextsensitiv und/oder monoton sind. Betrachten Sie die einzelnen Regeln hierbei unabhängig voneinander. Typ

rechtslinear

kontextfrei

kontextsensitiv

monoton

S →λ

X

X

(x)

(x)

S →a

X

X

X

X

S → S′ AAX

X

X

X

S′ → S′ A

X

X

X

S′ → ZB

X

X

X

BA → YAB

X

YA → AY

X

BX → λ BX → BAX

X

X

A →a

X

X

X

X

Y →a

X

X

X

X

Z →λ 41

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Aufgabe 8: Grammatiken b) Entscheiden Sie für die gegebene Grammatik 𝐺2 = ( 𝑆, 𝑆′, 𝐴, 𝐵, 𝑋, 𝑌, 𝑍 , 𝑎 , 𝑃, 𝑆), welche Regeln rechtslinear, kontextfrei, kontextsensitiv und/oder monoton sind. Betrachten Sie die einzelnen Regeln hierbei unabhängig voneinander. Typ

rechtslinear

kontextfrei

kontextsensitiv

monoton

S →λ

X

X

(x)

(x)

S →a

X

X

X

X

S → S′ AAX

X

X

X

S′ → S′ A

X

X

X

S′ → ZB

X

X

X

BA → YAB

X

YA → AY

X

BX → λ BX → BAX

42

X

X

A →a

X

X

X

X

Y →a

X

X

X

X

Z →λ

X

X

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Multiple-Choice-Relax-Aufgabe Eine kontextfreie Grammatik kann nie durch einen endlichen Automaten dargestellt werden.

□ WAHR □ FALSCH

43

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Multiple-Choice-Relax-Aufgabe Eine kontextfreie Grammatik kann nie durch einen endlichen Automaten dargestellt werden.

□ WAHR □ X FALSCH

44

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Multiple-Choice-Relax-Aufgabe Eine kontextfreie Grammatik kann nie durch einen endlichen Automaten dargestellt werden.

□ WAHR □ X FALSCH

Entspannender, aber wichtiger Relax-Hintergrund: Typ 3 (von EA erkennbar) ist Teilmenge von Typ 2 (kontextfrei). Nur weil eine Grammatik kontextfrei ist, heißt das also noch lange nicht, dass es für die Sprache L(G) keine Grammatik gibt, die rechtslinear ist. 45

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Multiple-Choice-Relax-Aufgabe Für eine reguläre Sprache gilt das Pumping-Lemma für kontextfreie Sprachen.

□ WAHR □ FALSCH

46

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Multiple-Choice-Relax-Aufgabe Für eine reguläre Sprache gilt das Pumping-Lemma für kontextfreie Sprachen.

X WAHR □

□ FALSCH

47

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Multiple-Choice-Relax-Aufgabe Für eine reguläre Sprache gilt das Pumping-Lemma für kontextfreie Sprachen.

X WAHR □

□ FALSCH Entspannender, aber wichtiger Relax-Hintergrund: ∗ 𝐿3 𝑟𝑒𝑔𝑢𝑙ä𝑟 ⊂ 𝐿2(𝑘𝑜𝑛𝑡𝑒𝑥𝑡𝑓𝑟𝑒𝑖) ⊂ 𝐿1 (𝑘𝑜𝑛𝑡𝑒𝑥𝑡𝑠𝑒𝑛𝑠𝑖𝑡𝑖𝑣) ⊂ 𝐿0(𝑎𝑙𝑙𝑔𝑒𝑚𝑒𝑖𝑛) ⊂ 𝑃(𝐸 ) Da die Sprache regulär ist, ist sie auch kontextfrei und demnach ist auch das PumpingLemma für kontextfreie Sprachen erfüllt (das Pumping-Lemma für reguläre Sprachen natürlich auch).

48

Grundlagen der Informatik II – Tutorium 3 L. König, F. Pfeiffer-Bohnen, M. Wünsche und M. Braun

Institut für Angewandte Informatik und Formale Beschreibungsverfahren