Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
Prufung
Prufungsvorleistungen:
§ ě 50% aller Punkte furAutotool-Pflichtaufgaben und
§ ě 3 Vorrechen-Punkte (Ubungen)
Prufung: Klausur 120 minAufgabentypen ahnlich Ubungsaufgaben(Hilfsmittel: beidseitig handbeschriebenes A4-Blatt)
8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
µ-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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Partiell / primitiv rekursive Funktionen
§ Basisfunktionen:konstant 0, Nachfolger, Projektion
§ Operatoren (Verknupfungen):Substitution, Rekursion, µ
( Werte berechnen, definierte Funktion angeben,Beispiele angeben)
Beziehungen zu Maschinenmodellen
138
Codierungen
§ von Wortern
§ Paaren
§ Tupeln
§ Listen
§ Termen (Baumen)
§ Mengen, TM, Programme
(Werte berechnen, Beispiele angeben)
mit Ressourcen . . . berechenbar?
139
Aufzahlbare / entscheidbare Mengen
§ Aufgaben / Probleme als MengenInstanzen, Losungen
§ Aufzahlbarkeit / Entscheidbarkeit
§ Abschlusseigenschaften§ Unentscheidbare Probleme
§ Halteprobleme§ PCP
140
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