YZ X W V U T SRQPON
M
L
KJIH GFEDC7BA98
6 5 4 23 1 0 4C T S P V
6O0EKJ5Z2I1HRD8QGY9U3F
A M 7 N B W L X
KOMPLEXITÄTSTHEORIE
Sommersemester 2019
24. April 2019
Prof. Dr. Steffen Reith
Theoretische Informatik
Studienbereich Angewandte Informatik HochschuleRheinMain
ADMINISTRATIVES
Administratives Einige Grundlagen Komplexitätsklassen
Ü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 Zugang zur Webseite mit user:theory und pw:fun
Auf der Webseite kann auch ein RSS-Feed abonniert werden, auf dem alle relevanten Ankündigungen mitgeteilt werden.
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.
Administratives Einige Grundlagen Komplexitätsklassen
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))
Administratives Einige Grundlagen Komplexitätsklassen
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.f so, dass
(H, f)∈sat , fallsf ex.
f0 ∈ Smitf0(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?
KOMPLEXITÄTSKLASSEN
KOMPLEXITÄTSMAßE UND KOMPLEXITÄTSKLASSEN
Definition
Ein Algorithmus A(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
Administratives Einige Grundlagen Komplexitätsklassen
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 sehr einfache
Berechnungsmodell (Turingmaschine), da uns nur eine relativ grobe Klassifikation von Berechnungsprobleme interessiert.
Konkrete Software schreibt man nicht mit Hilfe von Turingprogrammen!
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 |f total und es ex. AlgorithmusAvom Typτder die Funktionf berechnet, wobeiϕA≤aet}
Administratives Einige Grundlagen Komplexitätsklassen
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.