theoretische informatik: berechenbarkeit und komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf ·...
TRANSCRIPT
![Page 1: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/1.jpg)
Theoretische Informatik:Berechenbarkeit und Komplexitat
Prof. Dr. Sibylle SchwarzHTWK Leipzig, Fakultat IMN
Gustav-Freytag-Str. 42a, 04277 LeipzigZimmer Z 411 (Zuse-Bau)
https://informatik.htwk-leipzig.de/schwarz
Wintersemester 2018/19
1
![Page 2: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/2.jpg)
Einordnung der Theoretischen Informatik
Informatik Lehre von der Darstellung und Verarbeitung vonInformation durch Algorithmen
Teilgebiete der Informatik:
theoretisch § Sprachen zur Formulierung von Information undAlgorithmen,
§ Moglichkeiten und Grenzender maschinellen Berechenbarkeit,
§ Grundlagen fur technische und praktische(und angewandte) Informatik
technisch § maschinelle Darstellung von Information§ Mittel zur Ausfuhrung von Algorithmen
(Rechnerarchitektur, Hardware-Entwurf, Netzwerk, . . . )
praktisch Entwurf und Implementierung von Algorithmen(Betriebssysteme, Compilerbau, SE, . . . )
angewandt Anwendung von Algorithmen(Text- und Bildverarbeitung, Datenbanken, KI, Medizin-,Bio-, Wirtschafts-, Medieninformatik, . . . )
2
![Page 3: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/3.jpg)
Teilgebiete der theoretischen InformatikFormale Sprachen (im Bachelor-Modul)
§ Reprasentation von Informationen und Aufgaben inmaschinenlesbarer Form (Mensch-Maschine-Kommunikation)
§ Ausdrucksstarke und Flexibilitat von Programmiersprachen
§ Ubersetzung von Programmiersprachen (z.B. in ausfuhrbaren Code)
Maschinenmodelle (Automaten) (im Bachelor-Modul)
§ Moglichkeiten und Grenzen verschiedener Modelle zur(maschinellen) Ausfuhrung von Algorithmen
Berechenbarkeitstheorie
§ Welche Aufgaben sind uberhaupt algorithmisch(mit Hilfe verschiedener Maschinenmodelle) losbar?Auch negative Antworten sind sehr hilfreich(sparen Aufwand fur ungeeignete Losungsansatze)
Komplexitatstheorie
§ Welche Aufgaben sind mit beschrankten Ressourcen(z.B. Zeit, Speicherplatz) losbar?
§ Fur welche Aufgaben konnen schnelle Algorithmen existieren?3
![Page 4: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/4.jpg)
Prinzipien der theoretischen Informatikaltester Zweig der Informatik (lange vor dem ersten Computer)
Mathematische Prinzipien:§ Abstraktion
§ ermoglicht verallgemeinerte Aussagen und breit einsetzbareVerfahren,
§ Ergebnisse und Verfahren oft nicht sofort praktisch anwendbar,mussen auf spezielle Situationen angepasst werden.
§ Beweisbarkeit§ erfordert prazise Modellierung der Aufgabe§ Nachweis der Korrektheit von Hard- und Software
(Tests konnen dies nicht !)
Wissen aus der theoretischen Informatik
§ veraltet uber viele Jahre kaum
§ Grundlage fur Verstandnis von (schnelllebigem) Spezialwissen,z.B. konkrete Programmiersprachen, Domain-spezifischeSprachen, Transformationen verschiedener Darstellungen
4
![Page 5: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/5.jpg)
Aus der Modulbeschreibung3020 Theoretische Informatik: Berechenbarkeit und Komplexitat
Arbeitsaufwand: Prasenzzeit 56 h (“ 2 h V ` 2 h U je Woche)Vor- und Nachbereitungszeit 124 h (« 9 h je Woche)
Voraussetzungen: anwendungsbereite Kenntnisse auf den GebietenModellierung, Logik, Formale Sprachen,Maschinenmodelle, Algorithmen und Datenstrukturen,Aufwandsabschatzungen
Lernziele: Nach erfolgreichem Abschluss des Moduls sind dieStudierenden in der Lage, fundiert die prinzipiellenMoglichkeiten und Grenzen der verschiedenenBerechenbarkeitsmodelle einzuschatzen.
Ebenso konnen sie Abwendungsprobleme hinsichtlich ihrerSchwere einschatzen. So konnen sie treffsicher adaquateMittel fur zu losende algorithmische Aufgaben auswahlenund einsetzen.
Ferner konnen sie unlosbare oder schwer handhabbareProbleme als solche erkennen und ggf. z.B. auf Methodenfur handhabbare Spezialfalle, Naherungslosungenausweichen. 5
![Page 6: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/6.jpg)
Inhalt der Lehrveranstaltung
§ Berechenbarkeit
§ Entscheidbarkeit
§ Unentscheidbare Probleme
§ Algorithmenmodelle und ihre Rolle bei der Untersuchung vonGrenzen der Berechenbarkeit
§ Zusammenhang zwischen Ausdrucksstarke derAlgorithmenmodelle und Komplexitat der Probleme
§ Komplexitatsmaße
§ Komplexitatsklassen (P, NP, PSPACE, . . . )
jeweils mit vielen Beispielen und praktischen Folgerungen
6
![Page 7: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/7.jpg)
Lehrveranstaltungen
Folien, Ubungsserien, aktuelle Informationen unterhttps:
//informatik.htwk-leipzig.de/schwarz/lehre/ws18/tim
Vorlesung (2 h / Woche)
Selbststudium (Hausaufgaben): (9 h / Woche)
schriftliche Ubungsserien (ca. zu jeder Vorlesung)Besprechung in der folgenden Ubung
Autotool jeweils nach der Vorlesung(ca. eine Woche Bearbeitungszeit)
Ubung (eine Gruppe) (2 h / Woche)alle Folien, Aufgaben, Losungen mitbringen !
§ Besprechung der Ubungsserien (Vorrechnen),§ Fragen zum aktuellen Vorlesungsinhalt
7
![Page 8: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/8.jpg)
Prufung
Prufungsvorleistungen:
§ ě 50% aller Punkte furAutotool-Pflichtaufgaben und
§ ě 3 Vorrechen-Punkte (Ubungen)
Prufung: Klausur 120 minAufgabentypen ahnlich Ubungsaufgaben(Hilfsmittel: beidseitig handbeschriebenes A4-Blatt)
8
![Page 9: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/9.jpg)
Inhalt und Ziel der Vorlesung
§ grundlegende Begriffe, Prinzipien und Methoden aus derAlgorithmentheorie und der Komplexitatstheorie
§ . . . zu einem tieferen Verstandnis praktischerProblemstellungen.
(Quelle: Modulbeschreibung)
§ was sind Algorithmen?
§ wie hangen verschiedene Alg.-Definitionen zusammen?
§ welche Probleme sind algorithmisch losbar?
§ . . . mit welchem Ressourcenverbrauch?
9
![Page 10: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/10.jpg)
Eigenschaften von Grammatiken
§ E3: Sprach-Aquivalenz von Typ-3-Grammatiken
§ E2: Sprach-Aquivalenz von Typ-2-Grammatiken
gesucht ist jeweils Algorithmus mit dieser Eigenschaft:Eingabe ist Paar pG1,G2q von Grammatiken,Ausgabe ist 1, falls LpG1q “ LpG2q, sonst 0
praktische Motivation: Test bzw. Verkleinerung von regularenAusdrucken, von Grammatiken (automatische Bewertung vonUbungsgaufgaben zu formalen Sprachen)
§ E3 ist entscheidbar, siehe Modul Automaten und formaleSprachen
§ E2 nicht entscheidbar (Nachweis spater im Semester)
Methode:Reduktion: wenn E2 entscheidbar, dann auch . . .
10
![Page 11: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/11.jpg)
Sind verschiedene Aufgaben gleich schwer?
(eine typische Frage der Komplexitatstheorie)
§ Def. Eine k-Knoten-Farbung eines Graphen G “ pV ,E q
ist Funktion f : V Ñ t1, 2, . . . , ku mit @uv P E : f puq ‰ f pvq.
§ kCOL “ die Menge der Graphen,die eine k-Knoten-Farbung besitzen.
§ Aufgaben:
§ gegeben G , entscheide G P 2COL§ gegeben G , entscheide G P 3COL
§ beide Aufgaben sind entscheidbar (warum?)
§ fur 2COL ist ein effizienter Algorithmus bekannt, fur 3COLnicht.
Methode:Reduktion: wenn man 3COL effizient losen konnte, dann auch . . .
11
![Page 12: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/12.jpg)
Praktische Problemstellungen
Berechenbarkeitsmodell “ Programmierparadigma
§ Registermaschine: imperatives Programmieren
§ Loop- und While-Programme: strukturiertes (imperat.) P.
§ primitiv/allgemein-rekursive Funktionen: funktionales P.
§ (uniforme) Schaltkreise: paralleles Programmieren
§ nichtdeterministische Maschinen: Suchverfahren
fur jede dieser Definitionen:
§ exakte Beschreibung (Spezifikation)von (abstrakter) Syntax und Semantik “ Interpreter-Bau
zwischen diesen Definitionen:
§ semantik-erhaltende Ubersetzung “ Compiler-Bau
12
![Page 13: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/13.jpg)
Geschichte des Algorithmenbegriffs
Suche nach Losungsverfahren fur mathematische Aufgaben(symbolische Differentiation, Integration, Gleichungssysteme)
§ Wahrheit einer pradikatenlogischen Formel
§ das 10. Hilbertsche Problem (1900):Losbarkeit von Polynomgleichungen in ganzen Zahlen
. . . bzw. nach Beweisen fur deren Nicht-Existenz
§ Godel, Church, Turing (1936,. . . ):. . . ist nicht entscheidbar
§ Matiasevich (1970):. . . ist nicht entscheidbar.
13
![Page 14: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/14.jpg)
Bedeutung des Algorithmenbegriffs
(nach K. Wagner: Theoretische Informatik, Springer 2003)
§ Die Bedeutung des Algorithmenbegriffs fur Mathematik undInformatik entspricht der Bedeutung des Begriffes dernaturlichen Zahlen.
§ Die mathematische Prazisierung des Algorithmenbegriffs unddie Erkenntnis der Grenzen des algorithmisch Machbarengehoren zu den wichtigsten intellektuellen Leistungen des 20.Jahrhunderts.
14
![Page 15: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/15.jpg)
Literatur
§ Juraj Hromkovic: Algorithmische Konzepte der InformatikTeubner 2001
§ Klaus Wagner: Theoretische Informatik Springer 2003
§ Ingo Wegener: Theoretische Informatik Teubner 1992
§ Uwe Schoning: Theoretische Informatik – kurzgefasstSpektrum 2001
§ John E. Hopcroft, Jeffrey D. Ullman Einfuhrung in dieAutomatentheorie, Formale Sprachen und KomplexitatstheorieAddison-Wesley 1990
§ Hartley Rogers Jr.: Theory of Recursive Functions andEffective Computability, 1987
§ Michael Garey, David S. Johnson: Computers andIntractability Freeman 1979
15
![Page 16: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/16.jpg)
WH: Turing-Maschine – IdeeDefinition (endliche Beschreibung) durch
§ Steuereinheit: Lese/Schreib-Kopf
§ interner Speicher:
1. endliche Menge von Zustanden (Lesen / Schreiben)2. beidseitig unendliches Arbeitsband aus Zellen
§ Typ des Speicherinhaltes:endliches Wort uber endlichem Alphabet (Arbeitsalphabet)
§ Zugriffsmethode: Lesen / SchreibenBewegung des Lese/Schreib-Kopfes auf ein Nachbarfeld
§ externer Speicher:
3. beidseitig unendliches Eingabeband aus Zellen§ Typ des Speicherinhaltes:
endliches Wort uber endlichem Alphabet (Eingabealphabet)§ Zugriffsmethode: Lesen
Bewegung des Lese-Kopfes auf ein Nachbarfeld
ubliche Vereinfachung der Struktur:
Zusammenfassen der Bander im internen und externen Speicher zu einem
Eingabe- und Arbeitsband (2,3) mit Lese/Schreib-Zugriff16
![Page 17: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/17.jpg)
WH: Turing-Maschine – Definition
Turing-Maschine (TM) M “ pX ,Q, Γ, δ, q0,2q mit
X endliches Eingabealphabet
Q endliche Menge von Zustanden
Γ Ą X endliches Arbeitsalphabet
δ Ď pΓˆ Q ˆ Γˆ Q ˆ tL,R,NuqUbergangsrelation
q0 Startzustand
2 P ΓzX Leere-Zelle-Symbol
TM M heißt deterministisch (DTM) gdw.fur jedes a P Γ und jedes q P Q gilt
| tpa, q, b, p, xq | p P Q, b P Γ, x P tL,R,Nuu X δ| ď 1
17
![Page 18: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/18.jpg)
Beispiele fur Turing-Maschinen
§ TM M1 “ pta, bu, tq0, f u, ta, b,2u, δ, q0,2q mit
δ “ tpa, q0, a, q0, Lq, pb, q0, b, q0, Lq, p2, q0,2, f ,Rqu
§ TM M2 “ pta, bu, tq0, qa, qb, f u, ta, b,2u, δ, q0,2q mit
δ “
$
’
’
&
’
’
%
pa, q0,2, qa,Rq, pb, q0,2, qb,Rq,pa, qa, a, qa,Rq, pb, qa, b, qa,Rq,pa, qb, a, qb,Rq, pb, qb, b, qb,Rq,p2, q0,2, f ,Rq, p2, qa, a, f ,Rq, p2, qb, b, f ,Rq
,
/
/
.
/
/
-
§ TM M3 “ pt1u, tq0, q1, q2, q3, q4, f u, t1, x ,2u, δ, q0,2q mit
δ “ tp1, q0, 1, q1,Rq, p1, q1, x , q2,Rq, p1, q2, 1, q3,Rqu
Y tp1, q3, x , q2,Rq, p1, q4, 1, q4, Lq, px , q1, x , q1,Rqu
Y tpx , q2, x , q2,Rq, px , q3, x , q3,Rq, px , q4, x , q4, Lqu
Y tp2, q1,2, f , Lq, p2, q2,2, q4, Lq, p2, q4,2, q0,Rqu
18
![Page 19: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/19.jpg)
Konfigurationen von TM
TM M “ pX ,Q, Γ, δ, q0,2q
Konfiguration uqv P pΓ˚ ˆ q ˆ Γ˚q mit
§ aktuellem Bandinhalt w “ uv
§ aktuellem Zustand der TM q
§ Schreib-/Lesekopf der TM zeigt auf erstes Symbol von v(Leere-Zelle-Symbol, falls v “ ε)
Startkonfigurationen q0w mit w P X ˚
Konfigurationsubergange von upv mit u “ u1a und v “ bv 1:fur pb, p, c, q,Rq P δ : upv $ ucqv 1
fur pb, p, c, q, Lq P δ : upv $ u1qacv 1
fur pb, p, c , q,Nq P δ : upv $ uqcv 1
19
![Page 20: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/20.jpg)
Berechnung durch TM
TM M “ pX ,Q, Γ, δ, q0,2q
Eine Folge k0, k1, . . . von Konfigurationen ki P Γ˚ ˆ Q ˆ Γ˚
heißt Berechnung durch M fur das Wort w P X ˚ gdw.
1. k0 “ q0w ist die Startkonfiguration mit Eingabe w .
2. Fur jedes i ist ki $ ki`1 ein Konfigurationsubergang von M.
Ende von Berechnungen der TM M fur ein Eingabewort w :
1. Berechnung durch M endet in ki (M halt) gdw.aus einem ki kein Konfigurationsubergang von M moglich ist.Berechnung von M endet in ki .
2. Berechnung durch M endet nicht (unendliche Berechnung)gdw.fur jedes i P N der Konfigurationsubergang ki $ ki`1 existiert.
20
![Page 21: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/21.jpg)
Beispiel
DTM M “ pta, b, cu, tq0, q1, q2, q3, f u, ta, b, x ,2u, δ, q0,2q mit
δ “
$
’
’
’
’
’
’
’
’
’
’
’
’
’
’
’
’
’
’
’
’
’
&
’
’
’
’
’
’
’
’
’
’
’
’
’
’
’
’
’
’
’
’
’
%
p2, q0,2, f ,Nqp2, q3,2, q0,Rqpa, q0, x , q1,Rqpa, q1, a, q1,Rqpa, q3, a, q3, Lqpb, q1, x , q2,Rqpb, q2, b, q2,Rqpb, q3, b, q3, Lqpc , q2, x , q3, Lqpx , q0, x , q0,Rqpx , q1, x , q1,Rqpx , q2, x , q2,Rqpx , q3, x , q3, Lq
,
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
.
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
-
21
![Page 22: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/22.jpg)
Nichtdeterministische TM
TM M “ pt0, 1u, tq0, q1, f u, t0, 1,2u, δ, q0,2q mit
δ “ t p0, q0, 1, q0,Rq
p1, q0, 1, q0,Rq
p1, q0, 1, q1,Rq
p1, q1, 1, q1,Rq
p2, q1,2, f , Lqu
endet bei Eingabe des Wortes 11011 mit (u.A.) folgenderBerechnung
q011011 $ 1q01011 $ 11q0011 $ 111q011 $ 1111q11
$ 11111q12 $ 1111f 1
22
![Page 23: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/23.jpg)
Simulation nichtdeterministischer TM
SatzZu jeder nichtdeterministischen TM M existiert einedeterministische TM M 1 mit LpMq “ LpM 1q.
Beweisidee:Menge aller moglichen Berechnungen von M bei Eingabe von wbilden einen Baum (evtl. mit unendlich langen Pfaden)
Knoten: KonfigurationenWurzel: Startkonfiguration (Startzustand, Eingabewort)Blatter: Halt-Konfigurationen (ohne Folgekonfigurationen)Kanten: zulassige Konfigurationsubergange in M
M 1 fuhrt Breitensuche in diesem Baum durch(simuliert parallele Berechnung aller Moglichkeiten, dovetailing),Bandinhalt von M 1 sind Konfigurationen aus MM 1 halt, sobald eine Halt-Konfiguration von M auf demArbeitsband steht.
23
![Page 24: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/24.jpg)
DTM zur Berechnung von Funktionen
Beobachtung (der Nebenwirkung) der Berechnung von DTM:
Jede deterministische TM M berechnet eine FunktionfM : X ˚ Ñ Γ˚
Eingabe w P X ˚: Inhalt des Arbeitsbandes bei Start derBerechnung (Eingabewort)
Ausgabe v P Γ˚: Inhalt des Arbeitsbandes nach Halt der TM
Falls M bei Eingabe von w nicht halt, ist fMpwq nicht definiert.
TM M berechnet i.A. eine partielle Funktion
fM : X ˚ Ñ Γ˚
da fM nur fur die Worter w P X ˚ definiert ist,bei deren Eingabe M halt.
24
![Page 25: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/25.jpg)
Turing-berechenbare FunktionenJede deterministische TM M definiert die (partielle) FunktionfM : X ˚ Ñ Γ˚, wobei @w P X ˚
fMpwq “
#
v falls Bandinhalt v , nachdem M halt
nicht definiert falls M nicht halt
Beispiel: M “ pta, bu, tq0, q1, q2, q3u, ta, b,2u, δ, q0,2q mit
δ “ tpa, q0,2, q1,Rq, pb, q0,2, q2,Rq, p2, q0,2, q0,Nqu
Ytpa, q1, a, q1,Rq, pb, q1, b, q1,Rq, p2, q1, a, q3,Nqu
Ytpa, q2, a, q2,Rq, pb, q2, b, q2,Rq, p2, q2, b, q3,Nqu
definiert die Funktion
fMpwq “
#
vx falls w “ xv mit x P ta, bu und v P ta, bu˚
nicht definiert falls w “ ε
Eine Funktion f : X ˚ Ñ X ˚ heißt Turing-berechenbargdw. eine deterministische TM M mit f “ fM existiert.
25
![Page 26: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/26.jpg)
Beispiele
§ g : t1u˚ Ñ t1u˚ mit gpwq fur alle w P t1u˚ undefiniertist berechenbar durch die TM M “ pt1u, tq0u, t1,2u, δ, q0,2qmit δ “ tpq0, 1, q0, 1,Nq, pq0,2, q0,2,Nqu
§ f : ta, bu˚ Ñ ta, bu˚ mitfur alle w P ta, bu˚ gilt
f pwq “
#
am`n falls w “ amban
nicht definiert sonst
ist berechenbar durch die TMM “ pta, bu, tq0, q1, q2, f u, ta, b,2u, δ, q0,2q mit
δ “ tpa, q0, a, q0,Rq, pb, q0, a, q1,Rq, p2, q0,2, q0,Nqu
Ytpa, q1, a, q1,Rq, pb, q1, b, q1,Nq, p2, q1,2, q2, Lqu
Ytpa, q2,2, f ,Nqu
26
![Page 27: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/27.jpg)
Was bisher geschah
Wiederholung Berechnungsmodell DTM(deterministische Turing-Maschine)
§ Definition M “ pX ,Q, Γ, δ, q0,2q§ Konfigurationen
§ Konfigurationenfolgen (Berechnungen)
§ Halt
§ Beispiele
Jede DTM M berechnet eine (partielle) Funktion fM : X ˚ Ñ X ˚
Zahlen, Tupel von Zahlen,. . . codiert als Worter in X ˚,z.B. X “ t|u (unar) oder X “ t0, 1u (binar)
Funktion f : X ˚ Ñ X ˚ heißt (Turing-)berechenbar gdw.D DTM M: fM “ f
27
![Page 28: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/28.jpg)
Codierung von TM (Godelnummer)
(Kurt Godel 1906 - 1978)
Darstellung jeder TM M “ pX ,Q, Γ, δ, q0,2q als (endliches) Wortuber dem endlichen AlphabetX 1 “ X Y ΓY Q Y tL,R,NuY Klammern Y Trennzeichen moglichMenge aller Codierungen von TM ist Sprache uber X 1
Codierung als t0, 1u-Folge:
§ Alphabet, Zustande, Richtungen in Unarcodierung (aus 1˚)
§ Trennzeichen als Folgen aus 0˚
Godelnummer einer TM M:Darstellung von M als Binarwort
Die Menge aller t0, 1u-Folgen, die korrekten Codierungen von TMsind, ist regular
28
![Page 29: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/29.jpg)
Beispiel: Godelnummer einer TMCodierung einer TM als Wort aus t0, 1u˚
Beispiel: TM M “ pX ,Q, Γ, δ, q1,2q in t0, 1u˚ mit§ X “ t1,2u mit cp1q “ 1, cp2q “ 11§ Q “ tq0, q1u mit Startzustand q0:cpq0q “ 1, cpq1q “ 11
§ B “ tL,R,Nu mit cpLq “ 1, cpRq “ 11, cpNq “ 111§ δ “ tpq0,2, q1, 1,Rq, pq1,2, q0, 1, Lq, pq0, 1, q1, 1, Lqu
fur jeden Ubergang u “ pp, a, q, b, rq P δ:
Codierung : cpuq “ cppq0cpaq0cpqq0cpbq0cprq
cpq0,2, q1, 1,Rq “ 101101101011
cpq1,2, q0, 1, Lq “ 11011010101
cpq0, 1, q1, 1, Lq “ 1010110101
Codierung der TM M:
cpMq “ 000cpq0,2, q1, 1,Rq00cpq1,2, q0, 1, Lq00cpq0, 1, q1, 1, Lq000
29
![Page 30: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/30.jpg)
Existenz nicht Turing-berechenbarer Funktionen
Ist jede Funktion f : X˚ Ñ X˚
(f : X˚ Ñ Y ˚, f : NÑ N, f : Nn Ñ N) Turing-berechenbar?
Nein
Begrundung: (Aussage fur X “ t0, 1u zu zeigen, genugt)
1. Wieviele Turing-Maschinen uber einem endlichen Alphabet gibt es?abzahlbar viele(Menge A abzahlbar gdw. Df : NÑ A surjektiv)TM konnen endlich codiert undquasi-lexikographisch angeordnet werden
2. Wieviele Funktionen f : X˚ Ñ X˚ gibt es?
uberabzahlbar viele
(zweites Diagonalverfahren von Cantor)
Damit existieren sogar sehr viel mehr (uberabzahlbar viele) Funktionenf : X˚ Ñ X˚ (f : X˚ Ñ Y ˚, f : NÑ N, f : Nn Ñ N),
die nicht von TM berechnet werden konnen.
30
![Page 31: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/31.jpg)
Beispiel DTM
DTM M “ pt1, ‚u, tq0, q1, q2, f u, t1, ‚,2u, δ, q0,2q mit
δ “ t p1, q0, 1, q0,Rq
p‚, q0, 1, q1,Rq
p1, q1, 1, q1,Rq
p2, q1,2, q2, Lq
p1, q2,2, f , Lqu
akzeptiert jedes Eingabewort aus 1˚ ‚ 1˚,verschiebt dabei den Teil nach dem ‚ um eine Zelle nach links
Nebenwirkung:Transformation des Bandinhaltes von Beginn bis Halt der TMals Berechnung mit Unardarstellungen naturlicher Zahlen: Addition
31
![Page 32: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/32.jpg)
Mehrband-Turingmaschinen
Idee:
§ mehrere beidseitig unendliche Arbeitsbander
§ je ein Schreib-/Lesekopf je Bandarbeiten unabhangig voneinander
k-Band-Turing-Maschine M “ pX ,Q, Γ, δ, q0,2q mit
X endliches Eingabealphabet
Q endliche Menge von Zustanden
Γ Ą X endliches Arbeitsalphabet
δ Ď pΓk ˆ Q ˆ Γk ˆ Q ˆ tL,R,NukqUbergangsrelation
q0 Startzustand
2 P ΓzX Leere-Zelle-Symbol
32
![Page 33: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/33.jpg)
Beispiel fur Mehrband-TM
2-Band-Turing-Maschine M “ pX ,Q, Γ, δ, q0,2q mit
X “ t0, 1u
Q “ tq0, p, f u
Γ “ t0, 1,2u
δ “
$
’
’
’
’
’
’
&
’
’
’
’
’
’
%
p0,2, q0, 0, 0, q0,R,Rq,p1,2, q0, 1, 1, q0,R,Rq,p2,2, q0,2,2, p, L, Lq,p0, 0, p, 0, 0, p, L, Lq,p1, 1, p, 1, 1, p, L, Lq,p2,2, p,2,2, f ,R,Rq
,
/
/
/
/
/
/
.
/
/
/
/
/
/
-
kopiert Inhalt des Bandes 1 auf (leeres) Band 2
33
![Page 34: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/34.jpg)
Simulation von Mehrband-TM
SatzZu jeder k-Band-TM M existiert eine TM N (mit einem Band) mitfM “ fN .
Beweisidee:N simuliert einen Schritt von M durch eine Hin- undRuckbewegung uber alle Bander.
§ betrachte Bander als Spuren auf einem Banderweitertes (endliches) Alphabet pΓˆ t2, ˚uqk
mit zusatzlichen Spuren fur Kopfpositionen ˚§ in jedem Schritt
§ Kopfbewegung vom linken zum letzten ˚ und Speichern dergelesenen Symbole an den Kopfpositionen im Zustand
§ Kopfbewegung zum linken Ende:Ausfuhrung der Ubergangsrelation δ auf allen Bandern
34
![Page 35: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/35.jpg)
Kombination von TM
Idee:Kombination verschiedener Einband-TM Mi zu einerMehrband-TM M
Einband-TM zur Berechnung von (binarcodiert)
§ Mi ,0 “ pt0, 1u, tq0, pu, t0, 1,2u, δ, q0,2q mitδ “ tp0, q0,2, q0,Rq, p1, q0,2, q0,Rq, p2, q0, 0, p,Nquschreibt Konstante 0 auf Band i
§ Nachfolger vom Inhalt des Bandes i auf Band iMi ,`1 “ . . .
§ Vorganger vom Inhalt des Bandes i auf Band iMi ,´1 “ . . .
§ Kopie des Inhalts des Bandes i auf Band j
35
![Page 36: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/36.jpg)
Komposition von TM
Fur TM M1 “ pX ,Q1, Γ1, δ1, q1,2q undM2 “ pX ,Q2, Γ2, δ2, q2,2q mit Q1 X Q2 “ H
berechnet M “ pX ,Q1 Y Q2, Γ1 Y Γ2, δ, q1,2q mitδ “ δ1 Y δ2 Y tpx , q, x , q2,Nq | x P Γ1 ^ q P Q1 ^ pq, x , ¨, ¨, ¨q R δ1u
die Nacheinanderausfuhrung von fM1 und fM2
z.B. Addition einer gegebenen Zahl durch mehrmaligeNacheinanderausfuhrung von M`1
36
![Page 37: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/37.jpg)
Beispiel
Ein-Band-TM M“0 “ pX ,Q, Γ, δ, q0,2q mit
X “ t0, 1u
Q “ tq0, p, f0, f1u
Γ “ t0, 1,2u
δ “
$
&
%
p1, q0, 1, f0,Nq, p2, q0,2, f0,Nq,p0, q0, 0, p,Rq, p1, p, 1, f0, Lq,p0, p, 0, f0, Lq, p2, p,2, f1, Lq,
,
.
-
halt in Konfiguration f10 fur Eingabe 0 und f0w fur jede andereEingabe w
M“0 testet, ob Bandinhalt “ 0
37
![Page 38: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/38.jpg)
Fallunterscheidung
Fur TM M“0 “ pX ,Q“0, Γ“0, δ“0, q0,2q,M1 “ pX ,Q1, Γ1, δ1, q1,2q und M2 “ pX ,Q2, Γ2, δ2, q2,2q mit Qi
paarweise disjunkt
berechnet M “ pX ,Q“0 Y Q1 Y Q2, Γ“0 Y Γ1 Y Γ2, δ, q1,2q mitδ “ δ“0 Y δ1 Y δ2 Y
Ť
xPΓ1tpx , f1, x , q1,Nq, px , f2, x , q2,Nqu
fM1 , falls 0 auf dem Eingabeband steht, sonst fM2
38
![Page 39: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/39.jpg)
Was bisher geschah
(deterministische) Turing-Maschine pX ,Q, Γ, δ, q0,2q§ Konfigurationen Γ˚ ˆ Q ˆ Γ˚
§ Berechnung = Folge von Konfigurationen
§ TM andert i.A. wahrend der Berechnung den Inhalt (w P Γ˚)des Arbeitsbandes (Nebenwirkung)
§ berechnet (partielle) Funktion fM : X ˚ Ñ Γ˚
§ berechenbare Funktionen
§ TM fur Basisfunktionen:Konstanten, Nachfolger, Vorganger, Test auf Bandinhalt “ 0
§ Verknupfung berechenbarer Funktionen durchTM-OperationenVerkettung, Verzweigung
§ Mehr-Band-TMSimulation durch Ein-Band-TM
38
![Page 40: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/40.jpg)
Strukturierte Programmierung
Formalisierung des imperativen Programmierens
§ Programm: Folge von Befehlen
§ Programmausfuhrung: Folge von Zustandsanderungen
§ Zustand: Speicherbelegung und Befehlsnummer
Eigenschaften dieses Modells:
§ ist einfach in Hardware realisierbar(seit Jahrzehten werden Rechner so gebaut)
§ ist softwaretechnisch unzweckmaßig(der Beweis fur die Korrektheit eines Programms sieht ganzanders aus als das Programm selbst)
39
![Page 41: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/41.jpg)
Semantik: Speicher
§ Speicher der Maschine besteht aus Registern (Zellen),
§ Registerinhalte P N§ Register sind numeriert durch N§ es werden nur endlich viele Register benutzt
§ die Menge der moglichen Speicherbelegungen istS :“ ts | s P pNÑ Nq, tx | spxq ‰ 0u ist endlichu.
§ Bsp. sp0q “ 42, sp1q “ 10,@x : x ě 2 ñ spxq “ 0.
§ Notation fur Speicher-Anderungen: srx :“ y sist die Funktion z ÞÑ pif z “ x then y else spzqq.
§ Bsp: sr1 :“ 8sp1q “ . . . , sr1 :“ 8sp2q “ . . .
§ U: gilt sra :“ bsrc :“ ds “ src :“ dsra :“ bs ?
40
![Page 42: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/42.jpg)
Syntax: Befehle und Programme
Menge B der Befehle:§ arithmetische Befehle:
§ Inc pNq§ Dec N
§ Sprungbefehle:§ Goto pNq§ GotoZ pNˆ Nq
§ Stop
Menge P der goto-Programme “ B˚ (Folgen von Befehlen)
Beispiel fur ein goto-Programm:
[GotoZ 1 5,Dec 1,Inc 0,Inc 0,Goto 0,Stop]
41
![Page 43: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/43.jpg)
Semantik: Befehle
Menge der Konfigurationen C Ă Nˆ S mit
§ Befehlszahler l P N(enthalt die Nr. des nachsten auszufuhrenden Befehls)
§ Speicherbelegung s P S
Ubergangsrelation des goto-Programms p:stepp Ď C ˆ C mitppl , sq, pl 1, s 1qq P stepp, falls l ă |p| und . . .
§ wenn pl “ Incpiq, dann l 1 “ l ` 1, s 1 “ sri :“ spiq ` 1s
§ wenn pl “ Decpiq, dann . . .
§ wenn pl “ Gotopkq, dann . . .
§ wenn pl “ GotoZpi , kq, dann:wenn spiq “ 0, dann . . . sonst . . .
Satz: Die Relation stepp ist eine partielle Funktion.
42
![Page 44: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/44.jpg)
Semantik: Programme
§ initiale Konfiguration I pxq mit Eingabe x “ px1, . . . , xnq P Nn:p0, sq mit sp1q “ x1, . . . , spnq “ xn, spiq “ 0 sonst
§ finale Konfiguration pl , sq, wobei l ă |p| und pl “ Stop
§ die Ausgabe Opl , sq einer Konfiguration ist sp0q
Jedes goto-Programm p berechnet eine partielle Funktionfp : Nn Ñ N mitpx , yq P fp gdw.
§ pI pxq,F q P step˚p und F ist final und y “ OpF q
Partielle Funktion f : Nn Ñ N heißt Goto-berechenbar gdw.ein goto-Programm p mit f “ fp existiert.
GOTO : Menge aller goto-berechenbaren Funktionen
Beispiel: ein p, das die Funktion fppx1q “ 5 berechnet?
Semantik des leeren Programms (mit |p| “ 0) ?
43
![Page 45: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/45.jpg)
Goto-Programm fur x ÞÑ 2x
p = [GotoZ 1 5,Dec 1,Inc 0,Inc 0,Goto 0,Stop]
Nachweis fur @x P N : fPpxq “ 2x in zwei Teilen
§ das Goto-Programm halt fur jede Eingabe (vgl. Def. step˚p)
§ die Ausgabe ist korrekt
jeder Konfiguration pl , sq wird zugeordnet:
Invariante sp0q ` 2 ¨ sp1q
Schranke sp1q
und gezeigt (fur die Teilfolge aller Konfigurationen mit l “ 0):§ die Invariante ist
1. anfangs wahr,2. invariant
§ die Schranke nimmt ab (um wieviel?) und bleibt ě 0.
44
![Page 46: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/46.jpg)
Elementare goto-berechenbare Funktionen
goto-berechenbar sind z.B. die folgenden Funktionen:
§ jede konstante Funktion
§ identische Funktion
§ jede Projektion px1, . . . , xnq ÞÑ xk§ Addition
§ schwache Subtraktion px1, x2q ÞÑ maxp0, x1 ´ x2q,Notation: x1 ´ x2
45
![Page 47: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/47.jpg)
Abschluss-Eigenschaften
Nacheinanderausfuhrung Sind f : NÑ N und g : NÑ Ngoto-berechenbar,dann ist auch x ÞÑ f pgpxqq goto-berechenbar.Beweis:Programm fur g ; sp1q :“ sp0q; sp0q :“ 0; Prog. fur f .Warum sp0q :“ 0?
Einsetzen Sind f : N2 Ñ N, g1, g2 : NÑ N goto-berechenbar,dann auch x ÞÑ f pg1pxq, g2pxqq.einfach Programm fur g1, Programm fur g2, . . . ?Nein.
46
![Page 48: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/48.jpg)
Zusammenfassung GOTO (bis jetzt)
§ formalisiert maschinennahe imperative Programmierung(Programmausfuhrung als Folge vonSpeicherzustandsanderungen)
§ der Befehlssatz ist klein, die Ausdruckskraft scheint gering,aber
§ einfache Basis-Funktionen sind in GOTO(Konstanten, Verschieben von Registerinhalten,arithmetische Operationen)
§ GOTO ist abgeschlossen bzgl. gewisser Operatoren(Nacheinanderausfuhrung, Einsetzen)
47
![Page 49: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/49.jpg)
Was bisher geschah – WH: TM
(deterministische) TM pX ,Q, Γ, δ, q0,2q§ Konfigurationen Γ˚ ˆ Q ˆ Γ˚
§ Berechnung = Folge von Konfigurationen
§ Start-, Finalkonfigurationen
§ TM berechnet (partielle) Funktion fM : X ˚ Ñ Γ˚,oft interpretiert als fM : N˚ Ñ N
§ TM fur Basisfunktionen:Konstanten, Nachfolger, Vorganger, Test auf Bandinhalt “ 0
§ Verknupfung berechenbarer Funktionen durchTM-Operationen: Verkettung, Verzweigung
§ Mehr-Band-TMSimulation durch Ein-Band-TM
Turing =Menge aller durch eine (det.) TM berechenbaren Funktionen
46
![Page 50: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/50.jpg)
Was bisher geschah – goto-Programme
§ Syntax:§ Befehle B: Inc i, Dec i, Goto k, GotoZ i k, Stop§ goto-Programm p P B˚ (endliche Folge von Befehlen)
§ Semantik:§ Konfigurationen C Ă Nˆ S
(Befehlszahler, Speicherbelegung)§ Ubergangsrelation stepp Ď C ˆ C§ Start-, Finalkonfigurationen
goto-Programm p berechnet partielle Funktion fp : Nn Ñ N§ goto-Programme fur Basisfunktionen:
Konstanten, Projektionen, Nachfolger, Vorganger,Test auf Speicherinhalt spiq “ 0
§ Verknupfung goto-berechenbarer Funktionen durchOperationen: Verkettung, Verzweigung
GOTO =Menge aller durch ein goto-Programm berechenbaren Funktionen
45
![Page 51: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/51.jpg)
Goto Ď TuringSatz: f : Nk Ñ N ist goto-berechnbar ñ f ist Turing-berechenbar.
Beweis (Idee):Ausfuhrung des goto-Programmes zur Berechnung von f auf einerMehrband-TM
§ k Register ÞÑ k Arbeits-Bander
§ Register i mit Inhalt x ÞÑ Arbeits-Band i hat Inhalt 1x
§ Ausfuhrung von Inc i, Dec i durch TM auf Band i(Unterprogramme)
§ Programmablaufsteuerung:Befehlsnummer (PC) wird im Zustand der TM verwaltet
§ fur jede Programmzeile eine Zustandsmenge zur Ausfuhrungdes entsprechenden Unterprogrammes der TM
§ Realisierung der Sprungbefehle durch Zustandsubergange
UA: Erganzung der Details zur Herstellung der Initialkonfiguration,Ablesen des Resultates aus Finalkonfiguration
46
![Page 52: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/52.jpg)
Turing Ď Goto
Satz: f : Nk Ñ N ist TM-berechenbar ñ f ist Goto-berechenbar.
Beweis (Idee):
§ Jedes Band der k-Band-TM wird simuliertdurch zwei Register pl , rq P N2
§ Jede Zahl n P N ist Wort zur Basis b “ 1` |X |.
§ l enthalt den Bandinhalt links vom Kopf,r enthalt den Bandinhalt rechts vom Kopf (gespiegelt).(Kopfposition = letzte Stelle in r)
§ Zeichen am Kopf lesen: r mod b.
§ Zeichen x schreiben und Kopf nach rechts bewegen:l 1 :“ b ¨ l ` x ; r 1 “ tr{buUA: fur Kopf nach links, keine Kopfbewegung
§ diese Rechnungen werden in einem zusatzlichen Registerausgefuhrtinsgesamt: k Bander ÞÑ 2k ` 1 Register
47
![Page 53: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/53.jpg)
Strukturierte Programme – Motivation
Goto-Programme sind flach (Listen von Befehlen),haben keine sichtbare Struktur.Das ist gut fur die Hardware, schlecht fur den Programmierer.
Struktur “ Hierarchie “ Baum
Programme sind ab jetzt Baume. (entspricht etwa dem Schritt vonAssembler/Fortran zu Algol, « 1960)
NB: Das ist immer noch imperative Programmierung,deswegen immer noch schlecht fur den Programmierer(weil die Semantikdefinition einen Maschinenzustand benutzt,den man im Programm nicht sieht).
Ausweg: funktionale Programmierung (kein Zustand).
48
![Page 54: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/54.jpg)
Syntax
Menge der While-Programme P:
§ elementare: IncN, DecN, leeres Programm: Skip§ zusammengesetzte:
§ Nacheinander: SeqpP ˆ Pq§ Verzweigung: IfZpNˆ P ˆ Pq§ Schleife: WhilepNˆ Pq
§ (kein Stop, kein Goto)
Beispiel:
§ Whilep1,SeqpDecp1q, Incp0qqq.
§ autotool-Syntax: While 1 (Seq (Dec 1) (Inc 0))
49
![Page 55: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/55.jpg)
Semantik (Prinzip)
Semantik eines Programms p P Pist eine Relation (genauer: partielle Funktion)semp Ď S ˆ S auf Speicherbelegungen.
big step semantics (ein Schritt!)
beachte:es gibt keinen program counter, diese Rolle ubernimmt der Index p.
50
![Page 56: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/56.jpg)
Semantik von While-Programmen
elementare Programme:
semSkip “ tps, sq | s P N˚usemIncpiq “ tps, sri :“ spiq ` 1sq | s P N˚u
semDecpiq “ tps, sri :“ maxp0, spiq ´ 1sq | s P N˚u
zusammengesetzte Programme:
semSeqpp,qq “ semp ˝ semq
“ `
s1, s2q | Ds2 : ps1, s
1q P semp1 ^ps1, s2q P semp2
(
semIfZpi ,p1,p2q“
"ˆ
s1, s2q |ps1piq “ 0^ ps1, s2q P semp1q
_ps1piq ą 0^ ps1, s2q P semp2q
*
semWhilepi ,qq “
"ˆ
s1, s2q |ps1piq “ 0^ ps1 “ s2qq
_ps1piq ą 0^ ps1, s2q P semSeqpq,pqps1, s2qq
*
51
![Page 57: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/57.jpg)
Aquivalenz von Programmen
Programme p und q sind aquivalent (p ” q) gdw. semp “ semq.
Beispiele:
§ SeqpSkip, pq ” p ” Seqpp, Skipq
§ SeqpSeqpp, qq, rq ” Seqpp, Seqpq, rqq
§ Whilepi , pq ” IfZpi , Skip,Seqpp,Whilepi , pqqq
UA: IfZ wird nicht benotigt, lasst sich simulieren
52
![Page 58: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/58.jpg)
While-berechenbare Funktionen
§ initiale Speicherbelegung I pxq fur Eingabe x P Nn:spiq “ wenn 1 ď i ď n, dann xi , sonst 0.
§ Programm p berechnet partielle Funktion f : Nn Ñ N :@x P Nn : f pxq “ y ðñ Ds : semppI pxq, sq ^ y “ sp0q.
§ jede so berechenbare partielle Fkt. heißt While-berechenbar.
WHILE : Menge aller While-berechenbaren Funktionen
Ubungsaufgaben:
§ die ublichen elementaren Funktionen sind P WHILE
§ WHILE ist abgeschlossen unter SubstitutionBsp: f , g P WHILE ñ px ÞÑ f pgpxqq P WHILE
53
![Page 59: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/59.jpg)
Was bisher geschahTuring = Menge aller durch eine (det.) TM berechenbaren Fkt.
GOTO = Menge aller durch ein Goto-Programm berechenbaren Fkt.
§ Syntax: Goto-Program = Liste von Befehlen ausB “ tInc i ,Dec i ,Goto k ,GotoZ i k,Stopu
§ Semantik: small stepKonfigurationen pl , sq mit l P N, s P N˚ (PC, Speicherbelegung)Konfigurationsubergange stepp fur Befehl, step˚p fur Programm
Satz: Turing = GOTO
WHILE = Menge aller durch ein While-Programm berechenbaren Fkt.
§ Syntax: While-Program = Baum mitBlattern aus tInc i ,Dec i ,Skipuinneren Knoten While i p, Seq p q, IfZ i p q
§ Semantik: big stepKonfigurationen s P N˚ (Speicherbelegung)Konfigurationsubergange semp Ď N˚ ˆ N˚ fur Programm
52
![Page 60: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/60.jpg)
Beziehungen zwischen Goto- und While-Berechenbarkeit
Satz (Ziel): fur jede partielle Fkt. f gilt:f ist While-berechenbar ðñ f ist Goto-berechenbar.(aquivalent, kurzer: WHILE “ GOTO)
praktisches Argument fur”ñ“:
das tut jeder Compiler(etwa von C nach Assembler/Maschinensprache)
(siehe Modul”Compilerbau“)
53
![Page 61: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/61.jpg)
WHILE Ď GOTO (Prinzip)
Ubersetzer:compile : NˆWHILE Ñ Nˆ GOTOwobei compilepa, pq “ pe, qq bedeutet:
§ das While-Programm p wird ubersetzt
§ in ein aquivalentes Goto-Programm q,
§ das auf Adresse a beginnt
§ und auf e ´ 1 endet (d.h. e “ a` |q|)
dabei bedeutet”Aquivalenz“:
@p@a P N mit pe, qq “ compilepa, pq:@s1, s2 : sempps1, s2q ðñ step˚qppa, s1q, pe, s2qq
54
![Page 62: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/62.jpg)
WHILE Ď GOTO (elementar, Seq)
einfache Programme:
§ compilepa, Skipq “ pa, rsq
§ compilepa, Incpiqq “ pa` 1, rIncpiqsq.
§ compilepa,Decpiqq “ pa` 1, rDecpiqsq.
zusammengesetzte Programme:
§ compilepa, Seqpp, qqq “ pe, p1 ˝ q1q, wobeipm, p1q “ compilepa, pq und pe, q1q “ compilepm, qq
55
![Page 63: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/63.jpg)
WHILE Ď GOTO (While, IfZ)
IfZ
compile (_, IfZ i p1 p2) =>
A: GotoZ i M
compile (_, p2) ;
Goto E ;
M: compile (_, p1);
E: ...
While
compile (_, While i p) =>
A: GotoZ i E
compile (A+1, p) ;
Goto A ;
E: ...
56
![Page 64: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/64.jpg)
WHILE Ď GOTO (insgesamt)
Satz: Fur jedes While-Programm p existiert ein Goto-Programm q,welches dieselbe partielle Funktion berechnet wie p.
Beweis(-plan):
§ q “ compilep0, pq ˝ rStops
§ Aussage folgt aus Korrektheit bzgl. der Spezifikation@p P WHILE, a P N : sei pe, qq “ compilepa, pq,dann @s1, s2 : sempps1, s2q ðñ step˚qppa, s1q, pe, s2qq (UA)
57
![Page 65: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/65.jpg)
GOTO Ď WHILE
das scheint schwieriger:
§ goto-Programm “ Spaghetti-Code,
§ while-Programm “ strukturierter Code.
Es ist aber moglich und das erzeugte While-Programm hat einebesondere (einfache) Struktur, die spater noch ausgenutzt wird(Kleene-Normalform-Theorem)
58
![Page 66: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/66.jpg)
GOTO Ď WHILE (Ansatz)
Eingabe: goto-Programm p,Ausgabe: aquivalentes While-program q
PC c “ erstes in p nicht benutzte Register,
Das nachste Register h verwenden wir zum Anhalten.
Struktur von q ist:
Inc h;
While (h) {
if (c == 0) { ... } else {
if (c == 1) { ... } else {
if (c == 2) { ... } else {
.. else Skip
}
59
![Page 67: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/67.jpg)
GOTO Ď WHILE (Einzelheiten)
fur Befehl pi erzeuge: if (c==i) q_i else mit qi “
§ wenn pi P tInc r ,Dec ru, dann rpi , Inc cs
§ wenn pi “ Stop, dann rDec hs
§ wenn pi “ Gotoplq, dann rc :“ ls,
§ wenn pi “ GotoZpr , lq, dann IfZ r (c := l) (Inc c)
UA: zeige: p erreicht Stop ðñ q halt.beachte dabei auch den Fall Goto l mit l ě |p|
UA: hier wird if(c==i) und c :“ l benutzt,das kann man jeweils mit While implementieren (Wie?)hier geht das aber auch ohne Schleife, warum?
60
![Page 68: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/68.jpg)
Normalform-Theorem fur While
Vorige Konstruktion zeigt den Satz:
§ Zu jedem Goto-Programm existiert ein aquivalentesWhile-programm (GOTO Ď WHILE)
§ mit genau einem While.
zusammen mit WHILE Ď GOTO folgt
§ WHILE “ GOTO
§ Zu jedem While-Programm gibt es ein aquivalentesWhile-Programm mit genau einem While.
”aquivalent““ berechnet dieselbe partielle Funktion.
61
![Page 69: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/69.jpg)
Loop-Programme – Motivation
§ Whilepi , qq bedeutet: solange spiq ą 0 ist, q ausfuhren
§ es gibt While-Programme, die nicht fur jede Eingabeterminieren (es gibt f P WHILE mit f nicht total)
§ Looppi , qq bedeutet: q genau spiq mal ausfuhren(der Wert von i vor Beginn der Schleife)
§ Loop-Programme terminieren (jede f P LOOP ist total)das ist softwaretechnisch nutzlich
§ aber auch eine Einschrankung:es gibt f P pWHILEXTOTALqz LOOP
62
![Page 70: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/70.jpg)
Loop-Programme
Syntax und Semantik wie While-Programme, außer:
Syntax Looppi , qq statt Whilepi , qq,
Semantik wenn p “ Looppi , qq,
dann sempps, s1q “ sem
spiqq ps, s 1q
Befehl q wird genau spiq mal ausgefuhrt(der Wert von i , wenn die Schleife zu erstenmalbetreten wird — egal, was spater mit i passiert)
Beispiel: SeqpLoopp1, Inc 0q, Loopp2, Inc 0qq
Jede so berechenbare Funktion heißt Loop-berechenbar.
LOOP = Menge aller Loop-berechenbaren Funktionen
Beispiele: Addition, Subtraktion, Multiplikation, Potenz,n ÞÑ n ist gerade, n ÞÑ n ist Quadratzahl, n ÞÑ n ist prim,. . .
63
![Page 71: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/71.jpg)
Was bisher geschah
§ Goto-Programme§ Syntax: = Liste von Befehlen ausB “ tInc i ,Dec i ,Goto k ,GotoZ i k,Stopu
§ Semantik: small stepKonfigurationen pl , sq mit l P N, s P N˚ (PC,Speicherbelegung)Konfigurationsubergange stepp fur Befehl, step˚p fur Programm
§ While/Loop-Programme§ Syntax: Baum mit Blattern aus tInc i ,Dec i ,Skipu
inneren Knoten While i p (Loop i p) , Seq p q, IfZ i p q§ Semantik: big step
Konfigurationen s P N˚ (Speicherbelegung)Konfigurationsubergange semp Ď N˚ ˆ N˚ fur Programm
Turing = Menge aller durch eine (det.) TM berechenbaren Fkt.GOTO = Menge aller durch ein Goto-Programm berechenbaren Fkt.WHILE = Menge aller durch ein While-Programm berechenbaren Fkt.LOOP = Menge aller durch ein Loop-Programm berechenbaren Fkt.
Satz: Turing = GOTO = WHILE63
![Page 72: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/72.jpg)
LOOP Ď WHILE
Looppi , pq ÞÑ q “ SeqpSeqp Whilepi ,SeqpSeqpInc j , Inc j ` 1q,Dec iqq,
Whilepj ` 1,SeqpInc i ,Dec j ` 1qqqq,
Whilepj ,Seqpp,Dec jqqqq
mit in p nicht verwendeten Registern j , j ` 1
semq “ semWhilepi,SeqpSeqpInc j,Inc j`1q,Dec iqq
˝ semWhilepj`1,SeqpInc i,Dec j`1qq ˝ semWhilepj,Seqpp,Dec jqq
“ tps, srj :“ spiq, j ` 1 :“ spiq, i :“ 0sq | s P Nt0,...,j`1uu
˝tps 1, s 1ri :“ spj ` 1q, j ` 1 :“ 0sq | s 1 P Nt0,...,j`1uu
˝ semWhilepj,Seqpp,Dec jqq
“ tps, srj :“ spiqsq | s P Nt0,...,j`1uu ˝ semWhilepj,Seqpp,Dec jqq
“ tps, srj :“ spiqsq | s P Nt0,...,j`1uu ˝ semspjq
Seqpp,Dec jq
“ tps, srj :“ spiqsq | s P Nt0,...,j`1uu ˝ psemp ˝ semDec jq
spjq
“ tps, srj :“ spiqsq | s P Nt0,...,j`1uu ˝ semspiq
p
˝tps 1, s 1rj :“ 0sq | s P Nt0,...,j`1uu
“ semspiqp “ semLooppi,pq
64
![Page 73: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/73.jpg)
LOOP und WHILE
LOOP Ď WHILEXTOTAL
WHILEXTOTAL Ę LOOPBeweis: Diagonalisierung
§ L0, L1, . . . quasi-lexikografische Aufzahlung allerLOOP-Programme, die einstellige Funktionen berechnen,f0, f1, . . .
§ fur d : x ÞÑ fxpxq ` 1 gilt: d P WHILEXTOTALBegrundung: Interpreter fur LOOP-Programme
§ dieses d hat keinen L-Index (also d R LOOP)Begrundung: Annahme d “ fi fuhrt zu Widerspruch bei dpiq.
65
![Page 74: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/74.jpg)
Die Ackermann-Funktion
A : N2 Ñ N mit @px , yq P N2 :
Ap0, yq “ y ` 1
Apx ` 1, 0q “ Apx , 1q
Apx ` 1, y ` 1q “ Apx ,Apx ` 1, yqq
§ bestimme Ap2, 4q,Ap3, 3q,Ap4, 2q (UA)
66
![Page 75: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/75.jpg)
Eigenschaften der Ackermann-Funktion
1. @x , y P N : Apx , yq ą yBeweis durch Induktion nach x , innen Induktion nach y
2. @x , y P N : Apx , y ` 1q ą Apx , yqBeweis durch Induktion nach x
3. @x , y P N : Apx ` 1, yq ě Apx , y ` 1qBeweis durch Induktion nach y
4. @x , y P N : Apx ` 1, yq ą Apx , yq (UA)
5. @x , x 1, y , y 1 P N : ppx ď x 1 ^ y ď y 1q Ñ pApx , yq ď Apx 1, y 1qqq
67
![Page 76: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/76.jpg)
Was bisher geschah
§ Goto-Programme
§ Syntax: = Liste von Befehlen ausB “ tInc i ,Dec i ,Goto k ,GotoZ i k,Stopu
§ Semantik: small stepKonfigurationen pl , sq mit l P N, s P N˚ (PC,Speicherbelegung)Konfigurationsubergange stepp fur Befehl, step˚p fur Programm
§ While/Loop-Programme
§ Syntax: Baum mit Blattern aus tInc i ,Dec i ,Skipuinneren Knoten While i p (Loop i p) , Seq p q, IfZ i p q
§ Semantik: big stepKonfigurationen s P N˚ (Speicherbelegung)Konfigurationsubergange semp Ď N˚ ˆ N˚ fur Programm
§ Ackermann-Funktion
LOOP Ă WHILE = Turing = GOTO
![Page 77: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/77.jpg)
WH: Ackermann-Funktion
A : N2 Ñ N mit @px , yq P N2 :
Apx , yq “
$
&
%
y ` 1 falls x “ 0Apx , 1q falls y “ 0Apx ,Apx ` 1, yqq sonst
Eigenschaften:
1. @x , y P N : Apx , yq ą y
2. @x , y P N : Apx , y ` 1q ą Apx , yq
3. @x , y P N : Apx ` 1, yq ě Apx , y ` 1q
4. @x , y P N : Apx ` 1, yq ą Apx , yq
5. @x , x 1, y , y 1 P N : ppx ď x 1 ^ y ď y 1q Ñ pApx , yq ď Apx 1, y 1qqq
![Page 78: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/78.jpg)
Wachstum von Funktionen in LOOP
Loop-Programm pMenge aller in p vorkommenden Variablen: varppq
@x P varppq:
§ xa Wert der Variable x zu Beginn der Ausfuhrung von p
§ xe Wert der Variable x nach Ende der Ausfuhrung von p(Warum ist xe immer definiert?)
Jedes Loop-Programm p definiert eine Funktion fp : NÑ N durch
@n P N : fppnq “ max
$
&
%
ÿ
xPvarppq
xe
ˇ
ˇ
ˇ
ˇ
ˇ
ˇ
ÿ
xPvarppq
xa ď n
,
.
-
68
![Page 79: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/79.jpg)
Ackermann-Funktion R LOOP
Satz: @p P Loop Dk P N @n P N : fppnq ă Apk , nq
Beweis durch Induktion uber Struktur von p:
§ IA: Skip, Inc, Dec
§ IS: Seq, Loop
Satz: A P WHILE z LOOP
Beweis:
§ A R LOOP (indirekt) Ann: A P LOOPDann auch dpnq “ Apn, nq P LOOP, also D Loop-Programm p mitdpnq ď fppnq und nach Satz oben gilt Dk@n P N : fppnq ă Apk, nqWiderspruch bei n “ k : dpkq ď fppkq ă Apk , kq “ dpkq
§ A P WHILE
69
![Page 80: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/80.jpg)
Rekursive Funktionen
(induktive) Definition der Menge aller rekursiven Funktionen:
IA: elementare Funktionen
§ Konstante 0: Zeron “ px1, . . . , xnq ÞÑ 0§ Nachfolger: Succ “ px1q ÞÑ 1` x1
§ Projektionen : Projnk “ px1, . . . , xnq ÞÑ xk
IS: Operatoren
§ Substitution (Sub)§ primitive Rekursion (PR)§ unbeschrankte Rekursion (MIN, µ)
70
![Page 81: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/81.jpg)
Operator: Substitution
Typ:Subn
k : pNk Ñ Nq ˆ pNn Ñ Nqk Ñ pNn Ñ Nq
Argumente: eine k-stellige Funktion und k n-stellige Funktionen(evtl. partiell)Resultat: eine n-stellige Funktion
Wert:wenn f “ Subn
kpg , h1, . . . , hkq,dann f pxq “ gph1pxq, . . . , hkpxqq
Beispiele:
§ Sub01pSucc,Zero0q “ SuccpZero0q “ Succp0q “ 1
§ Sub01pSucc,Sub0
1pSucc,Zero0qq “
Sub01pSucc, pSuccpZero0qqq “ Sub0
1pSucc, 1q “ Succp1q “ 2
§ Sub21pSucc,Proj22q
f px1, x2q “ SuccpProj22px1, x2qq “ Succpx2q “ x2 ` 1
71
![Page 82: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/82.jpg)
Primitive Rekursion
Typ (fur n ą 0):
PRn : pNn´1 Ñ Nq ˆ pNn`1 Ñ Nq Ñ pNn Ñ Nq
Wert:wenn f “ PRnpg , hq, dannf px1, . . . , xn´1, 0q “ gpx1, . . . , xn´1q
f px1, . . . , xn´1, 1` yq “ hpx1, . . . , xn´1, y , f px1, . . . , xn´1, yqq
Beispiele:
§ fur f “ PR2pProj11, Sub31pSucc,Proj33qq:
f p2, 0q, f p0, 1q, f p2, 3q
§ fur f “ PR1pZero1,Proj21q: f p0q, f p1q, f p5q
§ fur f “ PR1pZero1,Sub11pSucc,Zero1qq: f p0q, f p1q, f p5q
72
![Page 83: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/83.jpg)
Primitive Rekursion (Beispiele)
Durch Zero,Proj, Sub,PR lassen sich u.A. darstellen:
§ Addition, Multiplikation, Potenzieren, Wurzelziehen
§ Vorganger, Subtraktion, Division
§ x ÞÑ wenn x ist prim, dann 1, sonst 0;
§ x ÞÑ die x-te Primzahl
Beachte: das sind die Funktionen, die fur Codierung(Godelisierungen) von Paaren, Listen, Baumen verwendet wurden.
73
![Page 84: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/84.jpg)
µ-Operator
Typ (fur n ě 0):µn : pNn`1 Ñ Nq Ñ pNn Ñ Nq
Wert:wenn f “ µnpgq, dann f px1, . . . , xnq “ z fallsgpx1, . . . , xn, zq “ 0 und @y ă z : gpx1, . . . , xn, yq P Nzt0u(sonst nicht definiert)das kleinste letzte Argument, fur das der Wert 0 ist,aber nur, falls alle vorigen Werte definiert (und ‰ 0) sind.
Beispiele:
§ fur f “ µpgq mit gpx1, yq “ x1 ´ p2y ` 1q ist f p3q “ . . .
§ fur f “ µpgq mit gpx1, x2, yq “ x1 ´ x2 ¨ y , sindf p12, 5q, f p3, 0q
74
![Page 85: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/85.jpg)
Klassen rekursiver Funktionen
§ Def: die Menge Prim der primitiv rekursiven Funktionenist die kleinste Menge M, die Zeron,Succ,Projnk enthaltund abgeschlossen ist unter Sub und PRg P M ^ f1 P M ^ . . .^ fk P M ñ Subn
kpf , g1, . . . , fkq P M
§ Def: die Menge Part der partiell rekursiven Funktionenist die kleinste Menge M, die Zeron,Succ,Projnk enthaltund abgeschlossen ist unter Sub,PR und µ
§ Def: die Menge Allg der allgemein rekursiven Funktionen isttf | f P Part^f ist totalu
Trivial (nach Definition) ist Prim Ď Allg
Nichttrivial: Prim Ă Allg (die Inklusion ist echt)z.B. A P Allg zPrim
75
![Page 86: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/86.jpg)
Klassen rekursiver Funktionen
§ die Def. von Prim und Part sind syntaktischf P Part ðñ es gibt einen Ausdruck (ein Programm) fur fmit bestimmten Basisfunktionen und Operatoren
§ die Def. von Allg ist zusatzlich semantischf P Allg ðñ f P Part^f ist total
§ . . . diese semantische Bedingung (”ist total“) lasst sich nicht
durch eine syntaktische Bedingung ersetzenFolgt (spater) aus:
§ es ist nicht entscheidbar, ob ein While-Programm eine totaleFunktion berechnet
§ und Part “ WHILE
76
![Page 87: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/87.jpg)
Zusammenhange zwischen BerechnungsmodellenSatz: Prim “ LOOPBeweis durch LOOP Ď Prim und Prim Ď LOOP:
§ LOOP Ď Prim:Beweis durch Induktion uber Struktur von Loop-Programmen p
§ IA: Inc i ,Dec i ,Skip§ IS: Seqpp, qq, Looppi , pq
§ Prim Ď LOOP:Beweis durch Induktion uber Struktur des Funktionstermes
§ IA: Zeron,Succ,Projnk§ IS: Subn
kpg , h1, . . . , hkq, PRnpg , hq
Satz: Part “ WHILEBeweis:
§ Part Ď WHILE:zusatzlich Ubersetzung fur µpgq
§ WHILE Ď Part:zusatzlich Ubersetzung fur Whilepi , pq
77
![Page 88: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/88.jpg)
These von Church und Turing
gezeigt: Prim “ LOOP Ď WHILE “ GOTO “ Turing “ Part
und fur verschiedene weitere Berechnungsmodelle M,z.B. λ-Kalkul, SRS, Markov-Algorithmen,. . .lasst sich M “ Turing (oder aquivalente Klasse) zeigen.
These von Church und Turing:
”Alle intuitiv vernunftigen Berechenbarkeitsmodelle definieren die
gleiche Klasse von partiellen Funktionen.“
(Diese Aussage ist sinnvoll, aber wegen des Bezugs auf denungenauen Begriff
”intuitiv“ nicht beweisbar.)
Die These von Church und Turing kann man auffassen alsempirische Aussage oder als Definition(M ist vernunftig ðñ es gibt beide Compiler M Ø WHILE)
78
![Page 89: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/89.jpg)
Was bisher geschah
Berechnungsmodelle
§ Goto-Programme
§ While-Programme
§ Loop-Programme
§ Primitiv rekursive Funktionen Prim
§ µ-rekursive Funktionen Part
WHILE = GOTO = Turing = Part(Hauptsatz der Algorithmentheorie)
These von Church
Prim = LOOP Ă WHILEAckermann-Funktion P WHILE z LOOP
Codierungen von Paaren, Listen, Baumen, Programmen(Godelisierung, Godelnummern), Ubersetzung X ˚ Ñ N
![Page 90: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/90.jpg)
Universelle FunktionJede TM M definiert die Funktion fM : NÑ N mit
@x P N : fMpxq “
$
’
&
’
%
y Ber. von M bei Eingabe x terminiert
und Inhalt des Ausgabebeandes “ y
K falls Ber. von M bei Eingabe x nicht terminiert
Codierung von TM (Programmen) definiert eine Ordnung auf der Mengealler TM durch M ď N gdw. C pMq ď C pNq.und damit eine Aufzahlung: M0,M1, . . . ,Die partielle Funktion φ : N2 Ñ N mit
@x , y P N : φpx , yq “ φxpyq “
#
fMpyq falls x “ C pMq fur die TM M
K sonst
ist berechenbar. (Beweis: dovetailing)Jede TM (Programm), die φ berechnet, heißt universelleinfache Modifikation zu φ1 : N2 Ñ N mit festem Wert z P N
@x , y P N : φ1xpyq “
#
fMpxq falls x “ C pMq fur die TM M
z sonst
79
![Page 91: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/91.jpg)
Universelle Turing-Maschinen (Programme)
Codierung von
§ TM M “ pX ,Q, Γ, δ, q0,F ,2q und
§ Berechnungen von TM(Folgen von Konfigurationen entsprechend der zulassigenKonfigurationsubergange)
ermoglicht die Simulation (Interpretation) von TM-Berechnungendurch TM
Es existieren universelle (programmierbare) TM, die
§ Codierungen von TM interpretieren und damit
§ die Berechnungen jeder TM simulieren (den durch die TMdefinierten Algorithmus ausfuhren) kann
Codierung einer TM ist Programm zur Berechnung einer Funktion(durch eine universelle TM)
analog universelle Goto-, While- Programme,
80
![Page 92: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/92.jpg)
Entscheidbarkeit von Mengencharakteristische Funktion einer Menge L Ď N (Sprache L Ď X˚):
χL : NÑ t0, 1u,wobei @n P N : χLpnq “
#
1 falls n P L
0 sonst
Menge L Ď N heißt entscheidbar (rekursiv entscheidbar, rekursiv)gdw. die (totale) charakteristische Funktion χL berechenbar ist.
Menge L Ď N heißt semi-entscheidbar (rekursiv aufzahlbar, aufzahlbar)gdw. die
”halbe“ charakteristische Funktion χ1L : NÑ t0, 1u
berechenbar ist:
@n P N : χ1Lpnq “
#
1 falls n P L
nicht definiert sonst
Achtung: Aus Abzahlbarkeit folgt nicht Aufzahlbarkeit.
FaktEine Menge L ist genau dann semi-entscheidbar, wenn sieTuring-akzeptierbar ist.
81
![Page 93: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/93.jpg)
Beispiele entscheidbarer Mengen
§ jede endliche Menge L “ tk1, . . . , knu(fur jedes i nacheinander Test, ob Eingabe “ ki )
§ t2n | n P Nu,§ jede regulare , kontextfreie, kontextsensitive Sprache,
§ Menge aller Primzahlen,
§ Menge aller Primzahlzwillinge, d.h.Paare pp, p ` 2q mit Primzahlen p und p ` 2
§ Menge aller Codierungen (bei gegebener Codierungsfunktion)von TM, Goto-Programmen, . . .
82
![Page 94: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/94.jpg)
Abschlusseigenschaften
SatzEine Sprache (Menge) L ist genau dann entscheidbar, wenn L und LTuring-akzeptierbar sind.
Idee:”parallele“ Ausfuhrung der Maschinen
M mit LpMq “ L und N mit LpNq “ L auf Eingabe w ,M halt, falls w P L, sonst halt N
Die Menge aller entscheidbaren Sprachen ist abgeschlossen unter
Vereinigung wegenχLYL1pwq “ maxpχLpwq, χL1pwqq berechenbar
Schnitt wegenχLXL1pwq “ minpχLpwq, χL1pwqq berechenbar
Komplement wegenχLpwq “ 1´ χLpwq berechenbar
Achtung (Unterschied zu TM-akzeptierbaren Sprachen):Aus der TM-Akzeptierbarkeit von L folgt i.A. nicht dieTM-Akzeptierbarkeit von L.
83
![Page 95: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/95.jpg)
Was bisher geschahBerechenbare Funktionen
§ Berechnungsmodelle
§ Goto-, While-, Loop-Programme§ Primitiv, µ-rekursive Funktionen
§ WHILE = GOTO = Turing = Part(Hauptsatz der Algorithmentheorie)
§ These von Church
§ Prim = LOOP Ă WHILEAckermann-Funktion P WHILE z LOOP
§ Codierungen von Paaren, Listen, Baumen, Programmen(Godelisierung, Godelnummern), Ubersetzung X˚ Ñ N
Entscheidbare Mengen REC (von recursive = entscheidbar)
§ L Ď X˚ (L Ď N) entscheidbargdw. charakteristische Funktion χL berechenbargdw. sowohl L als auch L TM-akzeptierbar
§ abgeschlossen unter Y,X, , z, ˝, ˚, R
![Page 96: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/96.jpg)
Aufzahlbare MengenL Ď N heißt (rekursiv) aufzahlbar gdw.L “ H oder eine totale berechenbare Funktionf : NÑ N mit L “ f pNq existiert.( L “ H oder L “ tf p0q, f p1q, f p2q, . . .u)
§ jedes Element von L kommt wenigstens einmal vor,
§ f ist nicht notwendig injektiv (wiederholungsfrei),
§ f ist nicht notwendig monoton.
RE: Menge aller aufzahlbaren MengenFolgende Aussagen sind fur L Ď X ˚ aquivalent:
§ L ist aufzahlbar.
§ L TM-akzeptierbar.
§ L semi-entscheidbar.d.h. halbe charakteristische Funktion χ1L berechenbar
@x P N : χ1Lpxq “
"
1 falls x P LKsonst
84
![Page 97: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/97.jpg)
Abschlußeigenschaften von RE
Falls A,B P RE, dann gilt auch
§ pAY Bq P RE.Beweis: f aufzahlende Funktion fur A, g die fur B.Dann wird AY B aufgezahlt vonhp2nq “ f pnq, hp2n ` 1q “ gpnq
§ pAX Bq P RE.Beweis: dovetailing, 2-dim. unendliche Tabelle,In Zeile x , Spalte y steht Zahlenpaar pf pxq, gpyqq.Wenn . . . , gibt . . . aus.
§ pA ˝ Bq P RE.
§ A˚ P RE.
85
![Page 98: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/98.jpg)
Aufgaben (Probleme) als Mengen (Sprachen)
Entscheidungsproblem (Aufgabe) =Menge der Codierungen aller korrekten Instanzen
z.B. Wortproblem fur Typ-3-GrammatikenWortproblem WPG3 “ tpG ,wq | w P LpG qu
Parameter (Eingaben fur Losungsverfahren) : pG ,wq,
§ Typ-3-Grammatik G “ pN,T ,P,Sq und§ w P T ˚
Frage: Gilt w P LpG q ?
Antwort (mogliche Ausgaben des Losungsverfahrens):
§ ja (1), falls w P LpG q§ nein (0), falls w R LpG q
Instanzen z.B. mit G “ ptSu, ta, bu, tS Ñ aS |bu,Sq:
§ pG , aabq P WPG3 (korrekte Instanz),§ pG , abaq R WPG3
86
![Page 99: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/99.jpg)
Aufgaben und Instanzen
Aufgabe (Problem): Sprache P Ď X˚ (Menge P Ď N)(Codierungen einer Klasse von verwandten Aufgaben)
Instanz eines Problems: Wort w P X˚ (w P N)(Codierung einer speziellen Aufgabe aus dieser Klasse)
Losungsverfahren fur das Problem P:Entscheidungsverfahren fur P, d.h. Verfahren, welches furjede Instanz (Wort) w P X˚ bestimmt, ob w P P
Beispiel: Wortproblem fur regulare Sprachen
Problem: WP-REG “ tpcpLq,wq | w P Lu mitendlicher Darstellung cpLq der Sprache Lz.B. cpLq “ A fur einen NFA A mit L “ LpAq
Instanz: pcpAq, abaq mit A “ pta, bu, tp, qu, δ, tpu, tp, quq undδpaq “ tpp, pqu, δpbq “ tpp, qq, pq, qquFrage: Gilt pA, abaq P WP-REG?wahr gdw. aba P LpAq
Losungsungsverfahren (Entscheidungsverfahren),z.B. Pfadsuche im Automatengraphen
87
![Page 100: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/100.jpg)
Aufgaben und Instanzen – Beispiele
§ Enthaltensein in einer Folge (von Elementen des Typs E)
Aufgabe: F “ tppx1, . . . , xnq, yq P E˚ ˆ E |
Dk P t1, . . . , nu : xk “ yuMenge aller Paare ppx1, . . . , xnq, yq mity P tx1, . . . , xnu
Instanz: pp1, 3, 4, 6q, 4q (Gilt pp1, 3, 4, 6q, 4q P F? )Ja, pp1, 3, 4, 6q, 4q P F , weil 4 P t1, 3, 4, 6u
Losungsverfahren (Entscheidungsverfahren):(beliebiges) Suchverfahren in Folgen
§ SAT (Erfullbarkeitsproblem der Aussagenlogik)
Aufgabe: SAT “ tϕ P AL | Modpϕq ‰ HuMenge aller erfullbaren aussagenlogischen Formeln
Instanz: a^ pa_ b _ cq ^ c ^ b(Gilt p a^ pa_ b _ cq ^ c ^ bq P SAT ?)Nein, weil Modpϕq “ H
Losungsverfahren (Entscheidungsverfahren):§ semantisch: Wahrheitswerttabellen§ syntaktisch: Kalkule, z.B. Resolution,
aquivalente Umformungen88
![Page 101: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/101.jpg)
Aufgaben und Entscheidungsverfahren
Problem (Menge) P ist
unentscheidbar gdw. kein Entscheidungsverfahren (TM, Programm,. . . )fur P existiert,
entscheidbar gdw. wenigstens ein Entscheidungsverfahren fur P existiert(i.A. existieren mehrere)z.B. SAT, Suche in Folgen, Sortieren von Folgendurch verschiedene Such- und Sortierverfahren
Entscheidbarkeit eines Problems (Sprache) P wird i.A. durch Angabeeines Entscheidungsverfahrens fur P gezeigt.
Unentscheidbarkeit eines Problems P wird oft durch Reduktion bekannterunentscheidbarer Probleme (oft HP) auf P gezeigt.
89
![Page 102: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/102.jpg)
Spezielles Halteproblem fur TM
C pMq P N: endliche Codierung der (Beschreibung der) TM M
Mn “
"
M falls n “ C pMqM 1 sonst
mit fester TM M 1
Das spezielle Halteproblem ist die Menge
S “ tn | Mn halt bei Eingabe nu Ď N
SatzDie Menge (Sprache) S ist Turing-akzeptierbar. (UA)
Frage: Ist die Menge S entscheidbar?
90
![Page 103: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/103.jpg)
Unentscheidbarkeit des speziellen Halteproblems
SatzEs existiert keine TM, welche das spezielle Halteproblem (die Menge S)entscheidet, d.h. die folgende Funktion berechnet:
@n P N : χSpnq “
"
1 falls TM Mn bei Eingabe von n halt0 sonst
indirekter Beweis: (analog Barbier-Problem)Annahme: N ist TM mit fN “ χS
Konstruktion einer TM N 1, so dass fur jede TM M gilt:
fN1pnq “
#
nicht definiert falls Mn bei Eingabe von n halt
1 falls Mn bei Eingabe von n nicht halt
Ist fN1pC pN 1qq definiert?
Widerspruch, eine solche TM N kann also nicht existieren.
91
![Page 104: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/104.jpg)
Komplement des speziellen HalteproblemsSpezielles HP:
S “ tC pMq | Mn halt bei Eingabe nu
Komplement des speziellen HP:
S “ tn | Mn halt bei Eingabe n nichtu
FolgerungDie Sprache S ist nicht Turing-akzeptierbar.
Beweisidee (indirekt):
§ bekannt:
1. S ist TM-akzeptierbar.2. S ist nicht entscheidbar.3. S TM-akzeptierbar ^ S TM-akzeptierbar Ñ S entscheidbar
§ Annahme: S ist TM-akzeptierbar.dann ist S entscheidbar wegen 1. und 3.Widerspruch zu 2., also Annahme falsch,also S nicht TM-akzeptierbar.
92
![Page 105: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/105.jpg)
Reduktion ďm
Zum Vergleich der algorithmischen Schwierigkeit von Problemendefiniert man fur P Ď N,Q Ď N:
P ďm Q (”P ist reduzierbar auf Q“) durch:
es existiert eine berechenbare totale Funktionf : NÑ N mit @x P N : x P P ðñ f pxq P Q.
§ beachte die Richtung: P ist hochstens so schwierig wie Q
§”reduzieren“ bedeutet: ein Entscheidungsverfahren fur P auf
ein Verfahren fur Q zuruckfuhren.
§ Index m kommt von”many-one“-Reduktion
Satz: @P,Q Ď N : ppP ďm Q ^ Q P RECq Ñ P P RECq.
Beweis: gegeben χQ , Reduktion f : NÑ NχP definiert durch @x P N : χPpxq “ χQpf pxqq
Satz: ďm ist transitiv (UA)
93
![Page 106: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/106.jpg)
Folgerungen aus der Unentscheidbarkeit von S(Anwendungen der Reduktion)Keine der folgenden Probleme (Sprachen) ist entscheidbar:
A “ tn ‚m | Mn halt bei Eingabe mu
allgemeines Halteproblem
Beweis durch Reduktion S ďm A mit f “ n ÞÑ n ‚ n
Hε “ tn | Mn halt bei leerer Eingabeu
Halteproblem auf leerem Band
Beweis durch Reduktion A ďm Hε
T “ tn | Mn halt fur jede beliebige Eingabeu
Totalitatsproblem
I “ tn | Mn halt fur irgendeine Eingabeu
N “ tn | Mn halt fur keine Eingabeu “ I
94
![Page 107: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/107.jpg)
Was bisher geschahBerechenbare Funktionen
§ Berechnungsmodelle
§ WHILE = GOTO = Turing = Part
§ Codierungen von Paaren, Listen, Baumen, Programmen(Godelisierung, Godelnummern), Ubersetzung X˚ Ñ N
§ Universelle Funktion (TM, Programm) partiell, berechenbarφ : N2 Ñ N mit φxpyq “ fMx pyq fur TM Mx “ C´1pxq
aufzahlbare Mengen RE (von recursively enumerable)
§ L Ď N (L Ď X˚) aufzahlbargdw. L “ H oder Df : NÑ N total berechenbar mit L “ f pNqgdw.
”halbe“ charakteristische Funktion χ1L berechenbar
gdw. L TM-akzeptierbar
§ abgeschlossen unter Y,X, ˝, ˚, R , aber nicht unter
entscheidbare Mengen REC (von recursive = entscheidbar)
§ L Ď N (L Ď X˚) entscheidbargdw. charakteristische Funktion χL berechenbargdw. sowohl L als auch L TM-akzeptierbar
§ abgeschlossen unter Y,X, , z, ˝, ˚, R
![Page 108: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/108.jpg)
Wiederholung: Reduktion ďm
Zum Vergleich der algorithmischen Schwierigkeit von Problemendefiniert man fur P Ď N,Q Ď N:
P ďm Q (”P ist reduzierbar auf Q“) durch:
es existiert eine berechenbare totale Funktionf : NÑ N mit @x P N : x P P ðñ f pxq P Q.
§ beachte die Richtung: P ist hochstens so schwierig wie Q
§”reduzieren“ bedeutet: ein Entscheidungsverfahren fur P auf
ein Verfahren fur Q zuruckfuhren.
§ Index m kommt von”many-one“-Reduktion
Satz: @P,Q Ď N : ppP ďm Q ^ Q P RECq Ñ P P RECq.
Satz: ďm ist transitiv (UA)
95
![Page 109: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/109.jpg)
Wiederholung: Halteprobleme
Keine der folgenden Probleme (Sprachen) ist entscheidbar:
S “ tn | Mn halt bei Eingabe nu
spezielles Halteproblem
A “ tC pn,mq | Mn halt bei Eingabe mu
allgemeines Halteproblem
Hε “ tn | Mn halt bei leerer Eingabeu
Halteproblem auf leerem Band
T “ tn | Mn halt fur jede beliebige Eingabeu
Totalitatsproblem
I “ tn | Mn halt fur irgendeine Eingabeu
N “ tn | Mn halt fur keine Eingabeu “ I
96
![Page 110: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/110.jpg)
Satz von RiceSatzJede nichttriviale semantische Eigenschaft von Programmen istunentscheidbar.
§ Eigenschaft: Menge E Ď N von Godelnummern(codierten TM oder Programmen)
§ nichttrivial: E ‰ H^ E ‰ N§ semantisch: @x , y : pφx “ φy q ñ px P E ðñ y P E q
(Es gibt keinen Algorithmus, der bei Eingabe eines Programms pentscheidet, ob die von p berechnete partielle Funktion fp zur Menge Egehort.)Beispiele (semantisch oder nicht?)
§ das Programm berechnet eine totale Funktion
§ die Lange des Programmtextes ist gerade
§ das Programm halt bei Eingabe 0
§ zwei Programme berechnen dieselbe Funktion
§ die Godelnummer ist gerade (2N)
§ die berechnete Funktion ist konstant97
![Page 111: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/111.jpg)
Das Postsche Korrespondenzproblem
Emil Post (1897 – 1954)
einfach zu definierendes kombinatorisches Problem(Eigenschaft einer Folge von Paaren von Wortern)(”leicht“ heißt: Def. PCP ist kurzer als Def. TM)
das trotzdem schwierig ist. (”schwierig“ heißt: PCP R REC)
ist Hilfsmittel fur Beweise der Unentscheidbarkeit vonEigenschaften formale Sprachen, logischer Formeln, usw.(”Hilfsmittel“ heißt: wir verwenden ďm)
98
![Page 112: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/112.jpg)
PCP – DefinitionInstanz des Postschen Korrespondenzproblems P Ă 2ppX
˚q2q
endliche Menge tpx1, y1q, . . . , pxk , ykqu von Paaren endlicherWorter uber einem endlichen Alphabet X (X “ t0, 1u genugt)
Beispiel: P “ tp1, 101q, p10, 00q, p011, 11qu
Wort w P t1, . . . , ku˚ heißt Losung der Instanz, wenn
xw1 ˝ ¨ ¨ ¨ ˝ xw|w | “ yw1 ˝ ¨ ¨ ¨ ˝ yw|w |
Beispiel: 1323 ist Losung von P, weil
x1 ˝ x3 ˝ x2 ˝ x3 “ 101110011 “ y1 ˝ y3 ˝ y2 ˝ y3
PCP ist die Menge aller losbaren PCP-Instanzen
Beispiel: kurzeste Losung des PCPP “ tp001, 0q, p01, 011q, p01, 101q, p10, 001qu hat Lange 66
Satz: PCP ist TM-akzeptierbar (semi-entscheidbar, aufzahlbar)Beweis: dovetailing uber qlex. Aufzahlung und Schrittnummer
99
![Page 113: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/113.jpg)
Modifiziertes PCPSpezialfall MPCP
§ Instanzen: endliche Liste rpx1, y1q, . . . , pxk , ykqs von Paaren endlicherWorter uber einem endlichen Alphabet X
§ Losung des MPCP:Losung des PCP tpx1, y1q, . . . , pxk , ykqu mit w1 “ 1
Satz: MPCP ďm PCPBeweis: X 1 “ X Y t$,#uReduktion f “ ppx1, y1q, px2, y2q, . . . , pxk , ykqq ÞÑ
$
’
’
’
’
’
&
’
’
’
’
’
%
`
#x11#x12# ¨ ¨ ¨#x1|x1|#, #y11#y12# ¨ ¨ ¨#y1|y1|
˘
,`
x11#x12# ¨ ¨ ¨#x1|x1|#, #y11#y12# ¨ ¨ ¨#y1|y1|
˘
,`
x21#x22# ¨ ¨ ¨#x2|x2|#, #y21#y22# ¨ ¨ ¨#y2|y2|
˘
,...xk1#xk2# ¨ ¨ ¨#xk|xk |#, #yn1#yk2# ¨ ¨ ¨#yk|yk |
˘
, p$,#$q
,
/
/
/
/
/
.
/
/
/
/
/
-
f ist berechenbar und totalMPCP P hat eine Losung gdw. PCP f pPq eine Losung hatBeweis: ri1, . . . , ims Losung fur P “ tpx1, y1q, . . . , pxk , ykqu
gdw. r1, i2 ` 1, . . . , im ` 1, k ` 2s Losung fur f pPq100
![Page 114: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/114.jpg)
Unentscheidbarkeit des MPCPSatz: A ďm MPCPBeweis:Ziel: Konstruktion eines MPCP P “ rpx1, y1q, . . . , pxn, ynqs aus A-InstanzC pu, vq mitP hat Losung gdw. Mu “ pX ,Q, Γ,∆, q0,F ,2q bei Eingabe von v halt(P simuliert die Konfigurationenfolgen von Mu)
§ px1, y1q “ p#,#q0v#q
§ Kopierregeln @a P ΓY t#u : pa, aq
§ Uberfuhrungsregeln zur Simulation von δ, z.B.pp, a, q, b,Rq P δ ÞÑ ppa, bqq, pp,2, q, b,Rq P δ ÞÑ pp#, bq#q,pp, a, q, b, Lq P δ ÞÑ tpxpa, qxbq | x P Γu Y t#pa,#q2bu
§ Loschregeln @a P Γ @f P F : paf , f q
§ Abschlussregeln @f P F : pf ##,#q
Mu halt auf vgdw. D zulassige Konfigurationenfolge pk0, . . . , ktq fur Mu
mit k0 “ q0v und Endkonfiguration ktgdw. #k0#k1# ¨ ¨ ¨#kt# ¨ ¨ ¨#f ## (nach kt loschen) ist Losung fur P
101
![Page 115: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/115.jpg)
Unentscheidbarkeit des PCP
Wir haben gezeigt: A ďm MPCP ďm PCP
aus A R REC folgt also PCP R REC
Damit lasst sich die Unentscheidbarkeit weiterer Probleme zeigen,z.B. aus den Bereichen
§ formale Grammatiken
§ Logik
102
![Page 116: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/116.jpg)
Unentscheidbarkeit der Pradikatenlogik
FOLpΣ,Xq: Menge aller pradikatenlogischen Formeln mit
§ Signatur Σ “ pΣF ,ΣRq (Funktions- und Relationssymbolen)
§ Variablenmenge X
Satz:
FOL “ tϕ P FOLpΣ,Xq | ϕ allgemeingultig u R REC
Beweis: Reduktion des PCP auf FOLIdee: Zuordnung von ϕP zu PCP-Instanzen P mitϕP allgemeingultig gdw. P hat LosungΣF “ tpc , 0q, pf0, 1q, pf1, 1qu, ΣR “ tpG , 2quJedes Wort w P t0, 1u˚ wird reprasentiert durch den Termtw “ tw1¨¨¨w|w | “ fw|w |p¨ ¨ ¨ fw1pcq ¨ ¨ ¨ q P TermpΣF ,Hq
103
![Page 117: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/117.jpg)
Unentscheidbarkeit der Pradikatenlogik
Fur PCP P “ tpx1, y1q, px2, y2q, . . . , pxn, ynqu
ϕP “ pϕ^ ψq Ñ Dx G px , xq
mit
ϕ “ľ
iPt1,...,nu
G ptxi pcq, tyi pcqq
ψ “ @u@v
¨
˝G pu, vq Ñľ
iPt1,...,nu
G ptxi puq, tyi pvqq
˛
‚
Satz: ϕP allgemeingultig gdw. P hat Losung
104
![Page 118: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/118.jpg)
Was bisher geschahEigenschaften von Funktionen:
berechenbar verschiedene BerechnungsmodelleAquivalenz von Berechnungsmodellen
Eigenschaften von Mengen:
entscheidbar gdw. χM berechenbargdw. M und M semi-entscheibarabgeschlossen unter Y,X, , z, ˝, ˚, R
semi-entscheibar gdw. χ1M berechenbargdw. Turing-akzeptierbargdw. (rekursiv) aufzahlbarabgeschlossen unter Y,X, ˝, ˚, R , aber nicht unter
Codierungen von Paaren, Listen, Baumen, ProgrammenSprachen und Aufgaben (Probleme) als MengenUnentscheidbare Probleme:
§ Halteprobleme fur TM
§ PCP
§ FOL
§ verschiedene Fragen zu Grammatiken (UA)
![Page 119: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/119.jpg)
Motivation Komplexitatstheorie
§ bis jetzt: Berechenbarkeit als qualitativer Begriff
(eine Funktion ist berechenbar oder nicht,eine Menge ist entscheidbar oder nicht)
§ ab jetzt: quantitative Untersuchung:
fur berechenbare Funktionen/entscheidbare Mengen:
mit welchem Aufwand lasst sich Rechnung durchfuhren?
§ Komplexitat sowohl fur deterministische als auch furnichtdeterministische Berechnungsmodelle (Suchprobleme)
§ verwendet Methoden der Berechenbarkeitstheorie(insbesondere Reduktion, Vollstandigkeit)
105
![Page 120: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/120.jpg)
Definition
Ressourcen:z.B. Rechenzeit, Speicherplatz, Kommunikationsaufwand
Komplexitat von
Algorithmen (Programmen, Maschinen):Ressourcenverbrauch als Funktion der EingabegroßeBsp.: die Komplexitat von Bubblesort ist quadratisch.
Problemen (Aufgaben):Komplexitat fur
”besten“ Algorithmus,
der das Problem lost.Bsp: die Komplexitat des Sortierens istP Θpn ÞÑ n ¨ log nq
Komplexitatstheorie ist die Lehre von der Schwierigkeit vonProblemen.
106
![Page 121: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/121.jpg)
Eigenschaften von Zahlen
§ Zahlen sind hier: ganz, nichtnegativ und binarkodiert
§ zusammengesetzte ZahlenCOMP “ tx | Dy , z ě 2 : x “ y ¨ zu
§ PrimzahlenPRIMES “ tx | x ě 2uzCOMP
§ QuadratzahlenSQUARES “ tx | Dy : x “ y2u
§ Motivation: u.a. KryptographieRSA-Schlussel P COMP, aber die Ursache (die Faktoren) sollgeheim bleiben
107
![Page 122: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/122.jpg)
Das Erfullbarkeitsproblem
§ AL “ die Menge der aussagenlogischen Formeln
§ b |ù ϕ: die Belegung b erfullt die Formel ϕ
§ SAT “ tϕ | ϕ P AL^ Db : b |ù ϕu
§ Bsp. ppx Ñ yq ^ px Ø yqq P SAT, px ^ xq R SAT§ Spezialfalle (durch syntaktische Einschrankungen)
§ CNF-SAT:wie oben und ϕ ist in konjunktiver Normalform
§ k-CNF-SAT:. . . mit ď k Literalen je Klausel
§ Motivation:Entwurf und Uberprufung von digitalen Schaltungen
108
![Page 123: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/123.jpg)
Boolesche Schaltkreise
§ Schaltkreis ist DAG mit:§ Startknoten (keine Vorganger): Eingaben§ andere Knoten: markiert mit Boolescher Op. (^,_, )§ Endknoten (keine Nachfolger): Ausgaben
§ jeder Knoten realisiert Boolesche Funktion der Eingabe
§ Schaltkreis-Erfullbarkeit (mit einer Ausgabe)CIRCSAT “ tC | C ist unarer Schaltkreis ^
D Eingabe e mit e |ù Cu(Notation: e |ù C gdw. Ausgabe C peq “ 1)
109
![Page 124: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/124.jpg)
Das Farbungsproblem
§ eine k-Farbung eines Graphen G “ pV ,E q ist eine Abbildungf : V Ñ t1, 2, . . . , ku
§ die Farbung f von G “ pV ,E q ist konfliktfrei,wenn @xy P E : f pxq ‰ f pyq
§ kCOL :“ tG | Df : f ist konfliktfreie k-Farbung von G u
§ Bsp: K3 R 2COL, C5 R 2COL,UA: finde G mit: G enthalt keinen K3 und G R 3COLUA: jeder Knoten von G hat ă k Nachbarn ñ G P kCOL.
§ Motivation: Ressourcenzuordnungsprobleme,z.B. Frequenzbereiche zu Funkzellen
110
![Page 125: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/125.jpg)
Bemerkung zur Genauigkeit
bisher:
§ wegen These von Church und Turing war dasBerechnungsmodell beliebig
§ wegen Codierungen (Godelisierung) war die Art der Eingabe(Zahlen, Worter usw.) beliebig
jetzt:
§ wegen exakter Ressourcenmessung muss ein Modell fixiertwerden (Turingmaschine)
§ wegen Komplexitat als Funktion der Eingabegroße
muss”Große“ exakt definiert werden
(Lange des Wortes auf dem Eingabeband,Lange der Binarkodierung einer Zahl)
111
![Page 126: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/126.jpg)
Deterministische Zeit – P
§ fur f : NÑ N bezeichnet DTIMEAlgpf q
die Menge aller TM M mit@x P LpMq : M akzeptiert x nach ď f p|x |q Schritten.
§ fur f : NÑ N bezeichnet DTIMEProbpf q
die Menge aller Sprachen (Probleme) L mitDM P DTIMEAlgpf q : L “ LpMq.
§ Abkurzung DTIME “ DTIMEProb
§ fur Menge F von Funktionen: DTIMEpF q “ď
f PF
DTIMEpf q
§ Abkurzung: P “ PTIME “ DTIMEpMenge aller Polynomeq
§ tw | w P t0, 1u˚ ^ w “ wRu P P, 2COL P P, 2SAT P P
112
![Page 127: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/127.jpg)
Was bisher geschahBerechenbarkeitstheorie:
§ berechenbare Funktionen
§ entscheidbare Mengen RECabgeschlossen unter Y,X, , z, ˝, ˚, R
§ semi-entscheidbare Mengen RETuring-akzeptierbar, (rekursiv) aufzahlbarabgeschlossen unter Y,X, ˝, ˚, R , aber nicht unter
§ Reduktion ďm: @L, L1 Ď N:L ďm L1 gdw. Dpf : NÑ Nq@x P N : px P LØ f pxq P L1q(mit f berechenbar und total)
§ Einordnung verschiedener Probleme,z.B. Halteprobleme fur TM, PCP, FOL (allgemeingultige Formeln)
Komplexitatstheorie:
§ Probleme: SQUARES, PRIMES, SAT, kSAT, k-COL
§ DTIME(f), P=DTIME(Menge aller Polynome)
§ 2-Col, 2SAT P P
![Page 128: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/128.jpg)
Nichtdeterminismus und Orakel
§ bisher: deterministische Rechnungen
§ Rechnung ist Pfad§ ist erfolgreich, falls finaler Zustand erreicht wird
§ jetzt: Such-Aufgaben (nichtdeterministische Rechnungen)
§ Rechnung ist Baum (evtl. mehrfach verzweigt)Knoten: Konfiguationen
§ erfolgreich, falls ein finales Blatt existiert(akzeptierende Konfiguration, Halt)
§ alternative Sichtweise: Orakel-Berechnung
§ ein Orakel beschreibt den Weg zum finalen Blatt,§ deterministische Maschine verifiziert diesen Weg
113
![Page 129: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/129.jpg)
Orakel-Maschinen
Definition:Orakel-TM A = TM mit Eingabeband (Alphabet X ),Orakelband (Alphabet Γ) und evtl. Arbeitsbandern
Definition:von A akzeptierte Sprache LpAq Ď Σ˚:Menge aller Eingabeworter x , fur die ein Orakelwort y existiert,so dass die Rechnung Mpx , yq erfolgreich halt.
nach dieser Definition:
1. Orakel sieht x und schreibt y ,
2. danach rechnet (verifiziert) A (deterministisch)
alternative Sichtweise:y ist unbekannt, bei jedem Lesen eines unbekannten Zeichens vony verzweigt die Rechnung: A ist nichtdeterministische TM
die Rechnung Apxq ist ein Baum T ,Eingabe wird akzeptiert, wenn T ein erfolgreiches Blatt enthalt
114
![Page 130: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/130.jpg)
Nichtdeterministische Zeit – NP§ fur f : NÑ N bezeichnet NTIMEAlgpf q
die Menge der Orakel-TM M mit@x : x P LpMq ðñ es gibt ein Orakelwort y mit:M akzeptiert px , yq in ď f p|x |q Schritten.
(dabei werden ď f p|x |q Zeichen von y gelesen)
§ entsprechend NTIMEProbpf q,NTIMEpf q,NTIMEpF q
§ Abkurzung NP “ NPTIME “ NTIMEpPolynomeq
§ Bsp.: COMP P NP, SAT P NP, @k : kCOL P NP
§ Satz: A P NP^ B P NP ñ pAY Bq P NP
§ Satz: P Ď NP
§ Frage: P “ NP ?
(schwierig: 106 $, http://www.claymath.org/millennium-problems/p-vs-np-problem)
§ fur Sprachklasse C : coC “ tL | L P Cu, z.B. coNP, coRE115
![Page 131: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/131.jpg)
Vergleich: Berechenbarkeit/Komplexitat
bis jetzt:§ es gibt Analogien zwischen:
§ Berechenbarkeit: REC,RE, coRE§ Komplexitat: P,NP, coNP
§ der Unterschied ist, dass man REC ‰ RE, RE ‰ coRE undREX coRE “ REC beweisen kann,die entsprechenden Komplexitatsaussagen bisher nicht
116
![Page 132: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/132.jpg)
NP-vollstandige Probleme
nach bisherigen Definitionen/Beispielen:
§ P: Klasse der (auf sequentiellen Maschinen)effizient losbaren Probleme
§ NP: enthalt haufig vorkommende Suchprobleme
Frage fur (neues) Problem L: L P P oder L R P?
§ bis heute ist kein L P NPzP bekannt
§ Bekannt ist jedoch eine Charakterisierung der schwerstenProbleme in NP:
die Klasse NPc der NP-vollstandigen Probleme
117
![Page 133: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/133.jpg)
Polynomialzeit-Reduktion ďP
§ Def: FTIMEpf q “ die in Zeit ď f p|x |q auf DTMberechenbaren Funktionen, FP “ FTIMEppolyq.
§ Def: A ďP B gdw. Df P FP : @x P X ˚ : x P A ðñ f pxq P B.
§ Bsp: DHC ďP HC.HC “ tG | G ist ungerichteter Graph und G enthalt Kreisdurch alle Knoten u (Hamiltonian Circuit)DHC “ tG | G ist gerichteter Graph und G enthaltgerichteten Kreis durch alle Knoten u (Directed HC)Beweis: f pV ,E q “ pV ˆ t1, 2, 3u,E 1q mitE 1 “ ttpv , 1q, pv , 2qu | v P V u Y ttpv , 2q, pv , 3qu | v P V u
Yttpu, 3q, pv , 1qu | pu, vq P Eu.zu zeigen sind fur f : Korrektheit, Laufzeit
§ Satz: ďP ist transitiv
118
![Page 134: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/134.jpg)
Abschluß-Eigenschaften von ďP
Satz: A ďP B ^ B P P ñ A P P
Beweis: wegen Abschluss von FP bzg. Komposition fur
§ Reduktionsfunktion f von A nach B
§ charakteristische Fkt. χB von B
Satz: A ďP B ^ B P NP ñ A P NP
Beweis: sei f die Reduktionsfunktion von A nach B,χB wird Orakel-berechnet M : px , yq ÞÑ t0, 1u.Dann wird χA Orakel-berechnet durch px , yq ÞÑ Mpf pxq, yqzu betrachten sind: Korrektheit, Laufzeit, Orakelgroße.
vgl. A ďm B ^ B P REC ñ A P REC,A ďm B ^ B P RE ñ A P RE.
119
![Page 135: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/135.jpg)
NPc und Satz von Cook
Def: B heißt NP-schwer, gdw. @A P NP : A ďP B.
Def: B NP-vollstandig, gdw. B NP-schwer und B P NP
NPc :“ tB | B ist NP-vollstandigu
Satz (Steven Cook, 1971): SAT P NPc
Beweis: (Teil 1) SAT P NP: Eingabe ϕ P AL auf Band (codiert)Orakelmaschine M
1. liest ϕ und stellt Variablenmenge varpϕq “ tx1, . . . , xnu fest
2. Orakel rat Belegung β P t0, 1un (aus 2n Moglichkeiten)
3. berechnet Wert von ϕ unter β,
4. akzeptiert gdw. βpϕq “ 1
Korrektheit: ϕ P SAT gdw. M akzeptiert ϕLaufzeit polynomiell
noch zu zeigen: SAT ist NP-schwer
120
![Page 136: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/136.jpg)
SAT P NPc
Satz (Steven Cook, 1971): SAT P NPc
Beweis: (Teil 2) SAT ist NP-schwer
§ Wahle L P NP beliebig
§ Dann existieren nichtdet. TM M “ pX ,Q, Γ, δ, q0,2q mitLpMq “ L und Polynom p,so dass Laufzeit von M auf x durch pp|x |q beschrankt
§ Idee: Konstruktion einer Formel ψx P AL zu Eingabewort x ,welche die Konfigurationenfolge einer erfolgreichen Rechnungvon M mit ď pp|x |q Schritten bei Eingabe x beschreibt.(x P L gdw. ψx erfullbar)
121
![Page 137: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/137.jpg)
Satz von Cook (Einzelheiten)Formel ψx mit freien Variablen, die Konfigurationsfolge einererfolgreichen Rechnung von M mit ď pp|x |q Schritten bei Eingabe x ,Orakelwort y beschreibt. (sei T :“ pp|x |q)
§ Variablen (mit t P t´T , . . . ,T u, j P X Y Γ, k P Q)
§ bt,i,j ðñ zur Zeit t steht in Zelle i das Zeichen j§ pt,i ðñ zur Zeit t steht Kopf an Position i§ zt,k ðñ zur Zeit t ist Maschine in Zustand k
§ ψx ist Konjunktion von Teilformeln zur Beschreibungder Konfigurationen der TM M “ pX ,Q, Γ, δ, q0,2q
ψb : in jeder Zelle genau ein Symbol aus X Y Γ,ψk : Kopf immer an genau einer Position,ψz : Maschine immer in genau einem Zustand
Berechnung (Konfigurationsfolge) von M auf x :
ψs : Anfang in Startkonfiguration mit Eingabe xψe : Ende in einer akzeptierenden Konfigurationψt : nur zulassige Konfigurationenubergange
122
![Page 138: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/138.jpg)
Satz von Cook (Einzelheiten)Abkurzung:exactlyonepx1, . . . , xnq wahr gdw. xi fur genau ein i wahr (UA)
ψk “ľ
tPt0,Tu
exactlyoneppt,´T , . . . , pt,T q
ψs “ z0,0 ^ p0,q0 ^ľ
iPt1,...,|w |u
b0,i´1,wi ^ľ
iPt´T ,...,´1uYt|w |,...,Tu
b0,i,2
ψ1t “ľ
tPt0,...,TukPQ
iPt´T ,...,TuaPXYΣ
¨
˝
pzt,k ^ pt,i ^ bt,i,aq
Ñł
pa,k,b,k 1,mqPδ
pzt`1,k 1 ^ pt`1,i`m ^ bt`1,i,bq
˛
‚
UA: ψb, ψz , ψe und vollstandiges ψt “ ψ1t ^ . . .Es gilt:
1. ψx erfullbar gdw. akzeptierende Berechnung von M auf x existiert
2. ψx aus x polynomiell berechenbar
Beobachtung: alle ψ˚ in CNF, also ψx in CNF
Diese Reduktion ist also zugleich eine Reduktion auf CNFSAT 123
![Page 139: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/139.jpg)
Ubungsaufgaben NP, SAT§ Es gilt: zu jeder Formel F gibt es eine aquivalente Formel G in
disjunktiver Normalform. Es gilt auch: DNFSATP P. Warumfolgt daraus nicht SAT P P?Bem: SAT P P ist damit nicht ausgeschlossen, es geht nurdarum, dass es so jedenfalls nicht folgt.
§ gib eine CNF an fur”genau eine von px1, . . . , xnq ist wahr“.
(z.B. n “ 4, n “ 8) ( (§ Def. A ”P B gdw. A ďP B und B ďP A.
Seien A,B P P. Wann gilt und gilt nicht A ”P B?§ Zeige A P NPc^ B P NPc ñ A ”P B§ Fur A,B Ď Σ˚ gilt A ďP B ðñ pΣ˚zAq ďP pΣ
˚zBq.§ Es gilt 3COL ďP SAT (warum? erfordert keine Rechnung,
sondern nur die Kombination von zwei bereits bekanntenAussagen). Gib explizit eine Reduktionsfunktion an, die inP-Zeit aus einem Graphen G eine Formel F berechnet mitF P 3COL ðñ G P SAT.Hinweis: fur jeden Knoten 3 Variablen.
124
![Page 140: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/140.jpg)
Was bisher geschahBerechenbarkeitstheorie:
§ Funktionen: total, berechenbar
§ Mengen: entscheidbar, aufzahlbar
§ Reduktion ďm: @L, L1 Ď N:L ďm L1 gdw. Dpf : NÑ Nq@x P N : px P LØ f pxq P L1qwobei f total und berechenbar
§ Einordnung verschiedener Probleme,z.B. Halteprobleme fur TM, PCP, FOL (allgemeingultige Formeln)
Komplexitatstheorie:
§ Funktionen: mit Ressourcen . . . berechenbar
§ Mengen: mit Ressourcen . . . entscheidbar
§ Reduktion ďP : @L, L1 Ď N:L ďP L1 gdw. Dpf : NÑ Nq@x P N : px P LØ f pxq P L1qwobei f P FTIME(Menge aller Polynome)
§ Probleme: SQUARES, PRIMES, SAT, kSAT, k-COL
§ DTIME(f), P=DTIME(Menge aller Polynome), 2-Col, 2SAT P P
§ NP, NP-vollstandige Problemez.B. SAT, CNFSAT, 3SAT, Clique, Independent Set, 3COL P NP
![Page 141: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/141.jpg)
Deterministischer Platz
§ wir messen den Platz nur auf dem Arbeitsband(nicht Eingabe-, nicht Ausgabeband)
§ fur f : NÑ N bezeichnet DSPACEAlgpf q die Menge der DTMM mit @x Pp Mq ðñ M akzeptiert x mit Arbeitsband derBreite ď f p|x |q
§ fur f : NÑ N bezeichnet DSPACEProbpf q die Menge derSprachen L mit DM P DSPACEAlgpf q : L “p Mq
§ Abkurzung DSPACE “ DSPACEProb
§ fur Menge F von Funkt.: DSPACEpF q “Ť
f PF DSPACEpf q
§ Abkurzung PSPACE “ DSPACEppolyq
125
![Page 142: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/142.jpg)
Beispiele fur DSPACE: DSPACE(0)
§ (nach unserer Definition der TM) Eingabe ist read-only,Ausgabe ist write-only,
§ Arbeitsband darf nicht benutzt werden (Breite 0)einzige Speichermoglichkeit ist Zustand
§ das sind endliche Automaten mit Ein- und Ausgabe
§ andere Namen dafur: finite (rational) transducer
§ Bsp: Berechnung des Nachfolgers in Binardarstellung
126
![Page 143: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/143.jpg)
Beispiele fur DSPACE: QBF P PSPACE§ QBF “ Menge aller wahren aussagenlogischen Formeln
mit Quantoren ohne freie Variablen§ Syntax: t|f|p| ϕ|ϕ ˚ ψ|Qpϕ
mit Aussagenvariablen p, ˚ zweistelliger Junktor, Q P t@, DuBsp: ϕ1 “ @xDyppx _ yq ^ p x _ yqqq,ϕ2 “ Dx@yppx _ yq ^ p x _ yqqq
§ Semantik: Auswertung der Formel rekursiv:evalp@xϕq “ evalpϕrx :“ 0sq ^ evalpϕrx :“ 1sqevalpDxϕq “ evalpϕrx :“ 0sq _ evalpϕrx :“ 1sqBsp: evalpϕ1q “ . . .
Satz: QBF P PSPACEBeweis:
§ Auswertung mit linearem Platzbedarf moglich§ benutze Keller (auf Arbeitsband) fur die Verwaltung der
UP-Aufrufe (eval), die Kellertiefe ist ď |ϕ|§ die Ressource Platz kann man nachnutzen
. . . und dabei sehr viel mehr Zeit verbrauchen127
![Page 144: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/144.jpg)
Beispiele: Spiele in PSPACE
§ QBF fur Formeln der Gestalt@x1Dy1@x2Dy2 ¨ ¨ ¨ @xnDyn : Ppx1, y1, x2, y2, . . . , xn, ynqals Zweipersonenspiel: fur den ersten Zug von x gibt es einenAntwortzug fur y , so dass fur jeden . . .und Pp¨ ¨ ¨ q beschreibt die Gewinnbedingung
§ viele andere Zweipersonenspiele P PSPACEgenauer, das Entscheidungsproblemts | Position s ist sicherer Gewinn fur Spieler 2uwenn die Lange des Spiels polynomiell beschrankt ist
Beispiele:
§ Stefan Reisch: HEX ist PSPACE-vollstandig,Acta Inf. 15(2)1981, 167–191
§ Othello / Reversi: S. Iwata and T. Kasai:The Othello game on an n*n board is PSPACE-complete,Theor. Comp. Sci. 123 (1994) 329-340.
128
![Page 145: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/145.jpg)
Beziehungen zwischen Platz und Zeit
Satz: DTIMEpf q Ď DSPACEpf q. (Warum?)
Satz: DSPACEpf q Ď DTIMEp2Opf qq(dabei 2Opf q :“
Ť
cą0pn ÞÑ 2c¨f pnq)
Beweis: sei M P DSPACEAlgpf q (mit Alphabet t0, 1u).Wenn Mpxq mit f p|x |q Platz akzeptiert,dann sind alle Konfigurationen verschieden (Warum?)Es gibt ď 2f p|x |q Konfigurationen,also hochstens so viele Schritte.
Folgerung: f berechenbar ñ DSPACEpf q Ď RECBeweis: DSPACEpf q Ď DTIMEp2Opf qq Ď REC
129
![Page 146: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/146.jpg)
Reduktion, Vollstandigkeit
§ Def. ďP wie bisher
§ Satz: PSPACE ist abgeschlossen bzgl. ďP:@L1, L2 : L1 ďP L2 ^ L2 P PSPACE ñ L1 P PSPACEBeweis: Reduktionsfunktion f ist in polynomieller Zeit, also inpolynomiellem Platz berechenbar.
§ Def: L ist PSPACE-vollstandig, gdw.L P PSPACE^ @L1 P PSPACE : L1 ďP L
130
![Page 147: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/147.jpg)
QBF ist ein”schwerstes“ Problem in PSPACE
Satz: QBF ist PSPACE-vollstandig.Beweis:
1. QBF P PSPACE schon gezeigt
2. QBF ist PSPACE-schwer, d.h. @L P PSPACE : L ďP QBFIdee: Reduktionsfunktion f transformiert PSPACE-DTM Min QBF-Formel ϕ, so dass ϕ wahr gdw. M halt bei Eingabe x ,d.h. D Berechnung (Konf.-Folge) von Start- zu einer akz. Konf.(enthalt ď 2|x| Konfigurationen)ϕ “ rpcs , caq wahr gdw. akz. Konf. ca aus Start cs erreichbarIdee: r|x|pc , c
1q fur Erreichbarkeit in ď 2|x| Schritten rekursiv:ri`1pc , c
1q “
Dci@di@d1i pppd “ c ^ d 1 “ ci q _ pdi “ ci ^ d 1i “ c 1qq Ñ ri pdi , d
1i qq
r0pc , c1q reprasentiert M, insbes. δ (analog Satz von Cook)
in jedem der |x | Schritte (poly): zusatzliche Variablen ci , di , d1i ,
|ri pc , c1q| ď |ri´1pc , c
1q| ` Op|x |q . . ., also |r|x|pc , c1q| ď Op|x |2q
(Warum nicht einfach Dc0Dc1 ¨ ¨ ¨ Dckpδpcs , c1q ^ ¨ ¨ ¨ ^ δpck , caqq?)
131
![Page 148: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/148.jpg)
Nichtdeterministischer Platz
§ Def: NSPACEpf q : Probleme losbar durchnichtdeterministische TM mit Arbeitsband ď f p|Eingabe|q
§ Satz DSPACEpf q Ď NSPACEpf q. (Warum ?)
§ Satz (Savitch) NSPACEpf q Ď DSPACEpf 2q.
§ Folgerung: DSPACEppolyq “ NSPACEppolyq “ PSPACE
132
![Page 149: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/149.jpg)
PSPACE-vollstandige Einpersonenspiele
§ M P PSPACE akzeptiert xðñ es gibt eine passende Konfigurationsfolge.
§ Platz fur jede Konf. ď f p|x |q mit f P poly, Lange ď 2Opf q
§ Konfiguration kann auch die Anordnung von Spielsteinen aufeinem (beschrankten) Brett sein
§ Ubergang “ Spielzug “ (z.B.) Verschieben von Steinen
§ Joseph C. Culberson: Sokoban is PSPACE-complete, 1997 ,http://citeseerx.ist.psu.edu/viewdoc/summary?doi=
10.1.1.52.41
§ Rush Hour ist PSPACE-vollstandig. Lunar Lockout auch?
133
![Page 150: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/150.jpg)
Aus der Modulbeschreibung3020 Theoretische Informatik: Berechenbarkeit und Komplexitat
Arbeitsaufwand: Prasenzzeit 56 h (“ 2 h V ` 2 h U je Woche)Vor- und Nachbereitungszeit 124 h (« 9 h je Woche)
Voraussetzungen: anwendungsbereite Kenntnisse auf den GebietenModellierung, Logik, Formale Sprachen,Maschinenmodelle, Algorithmen und Datenstrukturen,Aufwandsabschatzungen
Lernziele: Nach erfolgreichem Abschluss des Moduls sind dieStudierenden in der Lage, fundiert die prinzipiellenMoglichkeiten und Grenzen der verschiedenenBerechenbarkeitsmodelle einzuschatzen.
Ebenso konnen sie Anwendungsprobleme hinsichtlich ihrerSchwere einschatzen. So konnen sie treffsicher adaquateMittel fur zu losende algorithmische Aufgaben auswahlenund einsetzen.
Ferner konnen sie unlosbare oder schwer handhabbareProbleme als solche erkennen und ggf. z.B. auf Methodenfur handhabbare Spezialfalle, Naherungslosungenausweichen. 134
![Page 151: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/151.jpg)
Organisatorisches
Studierendenbefragung
Autotool-Highscore
Prufungsvorleistungen :
§ ě 50% aller Punkte furAutotool-Pflichtaufgaben und
§ ě 2 Vorrechen-Punkte (Ubungen)
Zulassungen: Liste
Prufung: 20. Februar 2019, 9:00 Uhr in Li415(Klausur 120 min)Aufgabentypen ahnlich UbungsaufgabenHilfsmittel: keine
135
![Page 152: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/152.jpg)
Inhalt der Lehrveranstaltung
§ Berechnungsmodelle:TM, Goto, While, Loopkonkrete und abstrakte Syntax, Semantik (Interpreter),Aquivalenzen (Compiler)
§ berechenbare von Funktionen
§ partiell / primitiv rekursive Funktionen
§ Entscheidbarkeit von Mengen / SprachenREC, Diagonalisierung, RE, ďm
Unentscheidbare Probleme: Halteprobleme, PCP
§ KomplexitatNichtdeterminismus, Zeit, Platz, ďp
Komplexitatsklassen P, NP, PSPACE, NPSPACEEinordnung von SAT, COL, Clique, Independet Set, QBF
136
![Page 153: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/153.jpg)
Berechnungsmodelle
§ TM M: von M berechnete Funktion, akzeptierte /entschiedene Menge
§ Goto-Programme: Syntax, Semantik (small-step),berechnete Funktion
§ Loop / While-Programme: Syntax, Semantik (big-step),berechnete Funktion
§ Ubersetzungen, Unterschiede
zu big-step / small-step-Semantik z.B.http://concrete-semantics.org/slides-semantics.pdf
137
![Page 154: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/154.jpg)
Partiell / primitiv rekursive Funktionen
§ Basisfunktionen:konstant 0, Nachfolger, Projektion
§ Operatoren (Verknupfungen):Substitution, Rekursion, µ
( Werte berechnen, definierte Funktion angeben,Beispiele angeben)
Beziehungen zu Maschinenmodellen
138
![Page 155: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/155.jpg)
Codierungen
§ von Wortern
§ Paaren
§ Tupeln
§ Listen
§ Termen (Baumen)
§ Mengen, TM, Programme
(Werte berechnen, Beispiele angeben)
mit Ressourcen . . . berechenbar?
139
![Page 156: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/156.jpg)
Aufzahlbare / entscheidbare Mengen
§ Aufgaben / Probleme als MengenInstanzen, Losungen
§ Aufzahlbarkeit / Entscheidbarkeit
§ Abschlusseigenschaften§ Unentscheidbare Probleme
§ Halteprobleme§ PCP
140
![Page 157: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem](https://reader033.vdocuments.mx/reader033/viewer/2022042210/5eade941c1e0a03643107688/html5/thumbnails/157.jpg)
Komplexitat
§ Ressourcen: Zeit, Platz
§ Nichtdeterminismus, Orakel
§ Reduktion ďp
§ Komplexitatsklassen P, NP, PSPACE, NPSPACE
§ Vollstandigkeit
§ Einordnung vonSAT (allgemein, CNF, DNF),COL (2,3,allgemein), Clique, Independet Set, QBF
theory.cs.princeton.edu/complexity/book.pdf
Inklusion: https://www.math.ucdavis.edu/~greg/zoology/diagram.xml
141