YZ X W V U T SRQPON
M
L
KJIH GFEDCB7A89
6 5 4 23 01 4C T S P V
6O0EKJ5Z2I1HRD8QGY9U3F
A M 7 N WB L X
KOMPLEXITÄTSTHEORIE
Wintersemester 2014/2015
8. Oktober 2014
Prof. Dr. Steffen Reith
Theoretische Informatik
Studienbereich Angewandte Informatik HochschuleRheinMain
ADMINISTRATIVES
Notizen Notizen
ÜBER DEN DOZENTEN
→ Prof. Dr. Steffen Reith, geboren 1968, verheiratet, ein Kind
→ Seit Sommersemester 2006 an der Hochschule RheinMain
→ Vorher tätig als Softwareentwickler für kryptographische und mathematische Algorithmen für tief eingebettete System in KFZs.
→ Spezialgebiete: Theoretische Informatik (Komplexität von verallgemeinerten Erfüllbarkeitsproblemen),
Komplexitätstheorie, Logik in der Informatik und Kryptographie / diskrete Mathematik
EMail:Steffen.Reith@hs-rm.de IM (Skype):Steffen.Reith Büro: Raum 202 (C Gebäude)
3
WEITERE INFORMATIONEN
Webseite:http://www.cs.hs-rm.de/~reith
Auf der Webseite kann auch ein RSS-Feed abonniert werden, auf dem alle relevanten Ankündigungen mitgeteilt werden.
Die Vorlesung und Übung am Mittwoch, 22.10.2014 entfällt!
Notizen Notizen
EINIGE GRUNDLAGEN
GRUNDLEGENDE BEGRIFFE
Definition
SeiΣeinAlphabet, d.h. eine endliche Menge vonBuchstaben, dann ist
→ Σ∗dieMenge alle WörterüberΣ(einschließlich dem leeren Wort)
→ UndL⊆Σ∗heißtSprache(überΣ)
Definition
EinProblemP ist eine RelationP ⊆ I × S, wobei
→ Idie Menge derProbleminstanzenund
→ Sist Menge derProblemlösungenist.
Notizen Notizen
FUNKTIONS- UND ENTSCHEIDUNGSPROBLEME
Definition Ist das ProblemP
→ rechtseindeutig, d.h. eine (partielle) Funktion, dann heißtP Funktionsproblem,
→ rechtseindeutig undS ={0,1}, dann heißtP Entscheidungsproblem
Eine Probleminstanzx∈ Ikann auch einmTupel sein, d.h. die Definition deckt auchm-stellige Funktionsprobleme ab.
Beispiel
SeiP ein Entscheidungsproblem, dann heißtL =def {x ∈ I | P(x) = 1}Sprache undP Wortproblemder SpracheL.
7
DAS ERFÜLLBARKEITSPROBLEM DER AUSSAGENLOGIK
Beispiel
SeienV ={x1, x2, x3, . . .}aussagenlogische VariablenundI dieaussagenlogische Formelnüber (Teilmengen von)V.
→ SeiSdie Mengealler Funktionenvon endlichen Teilmengen vonV nach{0,1},sat⊆ I × S, wobei(H, f)∈satgenau dann, wenn
→ Hist eine aussagenlogische Formel überV′⊆V,
→ f:V′ → {0,1}und
→ fist eine erfüllende Belegung vonH.
→ Eine Ordnung aufSkann wie folgt definiert werden:
f1< f2 gdw. ∃xi(f1(xi)< f2(xi)∧
∀xj(j < i→f1(xj) =f2(xj))
Notizen Notizen
DAS ERFÜLLBARKEITSPROBLEM DER AUSSAGENLOGIK (II)
Nun können wir das Minimisierungsproblem für die Erfüllbarkeit von aussagenlogische Formeln definieren:
Beispiel (Fort.)
LEXMINSAT(H) =def
kleinste Fkt.fso, dass
(H, f)∈sat , fallsfex.
f0∈ S mitf0(x) = 0
für allex∈V′ , sonst
9
EINIGE BEMERKUNGEN
Die Komplexitätstheorie beschäftigt sich mit derKomplexität von Berechnungenwie z.B.
→ Anzahl der Schritte/Laufzeit,
→ Speicherbedarf oder
→ Anzahl der Befehle des kürzesten Lösungsalgorithmus auf unterschiedlichen Berechnungsmodellen (Turingmaschinen (TM), RandomAccessMaschine (RAM) Quantencomputern, Parallelrechnern).
Wie formalisiert man diese Vielfalt?
Notizen Notizen
KOMPLEXITÄTSKLASSEN
KOMPLEXITÄTSMAßE UND KOMPLEXITÄTSKLASSEN
Definition
Ein AlgorithmusA (TM, RAM oder C)berechnet eine Funktion fA:I → S, wenn
fA(x) =
{ Ergebnis vonAbei Eingabex , fallsAstoppt
undef, , sonst
Definition
Der AlgorithmusAhatϕ-Komplexität(Laufzeit, Speicherplatz), wobeiϕA:I →N, und
ϕA(x) =
{ ϕ-Komplexität vonAbei Eingabex , fallsAstoppt
undef, , sonst
Notizen Notizen
KOMPLEXITÄTSMAßE UND KOMPLEXITÄTSKLASSEN (II)
Definition
Sei|x|dieLängevonxundϕA:N→Nvermöge ϕA(x) =def max
|x|=nϕA(x), dann heißtϕAworst-case Komplexität(vonA).
Die Komplexität wird (fast)immerüber die Eingabelänge gemessen! Die Definitionen sind vom Berechnungsmodell (weitgehend)unabhängig.
Für die Vorlesung verwenden wir das einfachste Berechnungsmodell (Turingmaschine).
13
KOMPLEXITÄTSMAßE UND KOMPLEXITÄTSKLASSEN (III)
Definition
Gegeben seiϕ-Komplexität,τ-Algorithmentyp (z.B.(TM, RAM oderC) und eineSchrankenfunktion, dann
Fτϕ(t) =def {f |ftotal und es ex. AlgorithmusAvom Typτder die Funktionf berechnet, wobeiϕA≤aet}
Notizen Notizen
KOMPLEXITÄTSKLASSEN
Definition
Gegeben seiϕ-Komplexität,τ-Algorithmentyp (z.B.(TM, RAM oderC) und eineSchrankenfunktion, dann
τϕ(t) =def {L|LSprache und es ex. AlgorithmusAvom Typτ der das WortproblemLentscheidet,
wobeiϕA≤ae t}
Dabei ist
t1 ≤aet2gdw. es ex. einn0 ≥0undt1(n)≤t2(n)für allen≥n0
(t1almost everywhere less or equal thant2).
15
KOMPLEXITÄTSKLASSEN (II)
Nun können wir allgemein Komplexitätsklassen einführen:
Definition (Komplexitätsklassen) Fτϕ(O(t)) =def ∪
k≥0Fτϕ(k·t)(Funktionsklasse) τϕ(O(t)) =def ∪
k≥0τϕ(k·t)(Sprachklasse)
In der Vorlesung werden wir das Berechnungsmodell nicht angeben (und implizit) immer Turingmaschinen verwenden.
Vom technischen Standpunkt sind Entscheidungsprobleme leichter zu handhaben und für in der Praxis ausreichend, d.h. wir verwenden meist Entscheidungsklassen.
Notizen Notizen