mirror of
https://github.com/janishutz/eth-summaries.git
synced 2026-03-14 17:00:05 +01:00
[TI] Cleaner structure
This commit is contained in:
61
semester3/ti/main/parts/05_complexity/00_intro.tex
Normal file
61
semester3/ti/main/parts/05_complexity/00_intro.tex
Normal file
@@ -0,0 +1,61 @@
|
||||
\subsection{Komplexitätsmasse}
|
||||
\begin{definition}[]{Zeitkomplexität}
|
||||
Sei $M$ eine Mehrband-TM oder TM, die immer hält, $x \in \word$ und $D = C_1, C_2, \ldots, C_k$ die Berechnung von $M$ auf $x$, deren Zeitkomplexität definiert ist durch:
|
||||
\rmvspace
|
||||
\begin{align*}
|
||||
\tc_M(x) = k - 1
|
||||
\end{align*}
|
||||
|
||||
\rmvspace
|
||||
also durch die Anzahl der Berechnungsschritte in $D$
|
||||
Die Zeitkomplexität der TM $M$ ist dabei definiert durch:
|
||||
\drmvspace
|
||||
\begin{align*}
|
||||
\tc_M(n) = \max\{ \tc_M(x) \divides x \in \Sigma^n \}
|
||||
\end{align*}
|
||||
\end{definition}
|
||||
Wir können weiterhin die big-O-notation verwenden um den Worstcase anzugeben.
|
||||
|
||||
\begin{definition}[]{Speicherplatzkomplexität}
|
||||
Sei $C = (q, x, i, \alpha_1, i_1, \alpha_2, i_2, \ldots, \alpha_k, i_k)$ mit $0 \leq i \leq |x| + 1$ und $0 \leq i_j \leq |\alpha_j|$
|
||||
für $j = 1, \ldots, k$ eine Konfiguration von $M$, welche eine $k$-Band TM ist.
|
||||
\bi{Die Speicherplatzkomplexität von} $C$ ist
|
||||
\rmvspace
|
||||
\begin{align*}
|
||||
\spc_M(C) = \max\{ |\alpha_i| \divides i = 1, \ldots, k \}
|
||||
\end{align*}
|
||||
|
||||
\rmvspace
|
||||
Für die Berechnung $C_1, C_2, \ldots, C_l$ von $M$ auf $x$ haben wir:
|
||||
\rmvspace
|
||||
\begin{align*}
|
||||
\spc_M(x) = \max\{ \spc_M(C_i) \divides i = 1, \ldots, l \}
|
||||
\end{align*}
|
||||
|
||||
\rmvspace
|
||||
Und die \bi{Speicherplatzkomplexität von} $M$ ist
|
||||
\rmvspace
|
||||
\begin{align*}
|
||||
\spc_M(n) = \max\{ \spc_M(x) \divides x \in \Sigma^n \}
|
||||
\end{align*}
|
||||
\end{definition}
|
||||
Es ist auch möglich $\spc_M(n)$ als eine Summe zu definieren, aber laut Lemma \ref{lemma:4-2} wissen wir, dass man eine $k$-Band-TM mit einer $1$-Band-TM simulieren kann.
|
||||
|
||||
\inlinelemma Sei $k \in \N$. Für jede $k$-Band-TM $A$, die immer hält existiert eine äquivalente $1$-Band-TM $B$, so dass $\spc_B(n) \leq \spc_A(n)$
|
||||
|
||||
\inlinelemma Für jede $k$-Band-TM $A$, existiert eine äquivalente $k$-Band-TM $B$, so dass $L(A) = L(B)$ und $\spc_B(n) \leq \frac{\spc_A(n)}{2} + 2$
|
||||
|
||||
\inlinedef Wir notieren mit der big-O-notation folgendermassen: Falls $r \in \tco{f(n)}$, so wächst $r$ asymptotisch nicht schneller als $f$.
|
||||
Äquivalent für $s \in \tcl{g(n)}$ und $l \in \tct{h(n)}$ sagen wir asymptotisch mindestens so (gleich) schnell.
|
||||
Falls $\limni \frac{f(n)}{g(n)} = 0$, dann wächst $g$ asymptotisch schneller als $f$ und $f(n) = o(g(n))$
|
||||
% TODO: Check if above really is a typo (pretty sure it is)
|
||||
|
||||
\inlinetheorem Es existiert ein Entscheidungsproblem $(\alphabetbool, L)$, so dass für jede MTM $A$, die $(\alphabetbool, L)$ entscheidet,
|
||||
eine MTM $B$ existiert, die es auch entscheidet und für die gilt: $\tc_B(n) \leq \log_2(\tc_A(n))$ für alle $n \in \N$
|
||||
|
||||
\begin{definition}[]{Schranken, Optimal}
|
||||
$\tco{g(n)}$ ($\tcl{f(n)}$) ist eine \bi{obere (untere) Schranke für die Zeitkomplexität von} $L$,
|
||||
falls eine MTM $A$ ($B$) existiert, die $L$ entscheidet und $\tc_A(n) \in \tco{g(n)}$ ($\tc_B(n) \in \tcl{f(n)}$)
|
||||
|
||||
Eine MTM $C$ heisst \bi{optimal für} $L$, falls $\tc_C(n) \in \tco{f(n)}$ gilt und $\tcl{f(n)}$ eine untere Schranke für die Zeitkomplexität von $L$ ist.
|
||||
\end{definition}
|
||||
84
semester3/ti/main/parts/05_complexity/01_class_p.tex
Normal file
84
semester3/ti/main/parts/05_complexity/01_class_p.tex
Normal file
@@ -0,0 +1,84 @@
|
||||
\newpage
|
||||
\subsection{Komplexitätsklassen und die Klasse P}
|
||||
\begin{definition}[]{Komplexitätsklasen}
|
||||
Für alle Funktionen $f, g : \N \rightarrow \R^+$ definieren wir:
|
||||
\begin{align*}
|
||||
\text{TIME}(f) & = \{ L(B) \divides B \text{ ist eine MTM mit } \tc_B(n) \in \tco{f(n)} \} \\
|
||||
\text{SPACE}(g) & = \{ L(A) \divides A \text{ ist eine MTM mit } \spc_A(n) \in \tco{g(n)} \} \\
|
||||
\text{DLOG} & = \text{SPACE}(\log_2(n)) \\
|
||||
\text{P} & = \bigcup_{c \in \N} \text{TIME}(n^c) \\
|
||||
\text{PSPACE} & = \bigcup_{c \in \N} \text{SPACE}(n^c) \\
|
||||
\text{EXPTIME} & = \bigcup_{d \in \N} \text{TIME}(2^{n^d})
|
||||
\end{align*}
|
||||
\end{definition}
|
||||
|
||||
\inlinelemma Für alle $t : \N \rightarrow \R^+$ gilt $\text{TIME}(t(n)) \subseteq \text{SPACE}(t(n))$
|
||||
\inlinecorollary $\text{P} \subseteq \text{PSPACE}$
|
||||
|
||||
\begin{definition}[]{Platz- und Zeitkonstruierbarkeit}
|
||||
Eine Funktion $s : \N \rightarrow \N$ heisst \bi{platzkonstruierbar}, falls eine $1$-Band-TM $M$ existiert, so dass
|
||||
\begin{enumerate}
|
||||
\item $\spc_M(n) \leq s(n) \smallhspace \forall n \in \N$
|
||||
\item für jede Eingabe $0^n$ für $n \in \N$, generiert $M$ das Wort $0^{s(n)}$ auf ihrem Arbeitsband und hält in $\qacc$
|
||||
\end{enumerate}
|
||||
|
||||
\vspace{0.25cm}
|
||||
|
||||
Eine Funktion $t : \N \rightarrow \N$ heisst \bi{zeitkonstruierbar}, falls eine MTM $A$ existiert, so dass
|
||||
\begin{enumerate}
|
||||
\item $\tc_A(n) \in \tco{t(n)}$
|
||||
\item für jede Eingabe $0^n$ für $n \in \N$, generiert $A$ das Wort $0^{t(n)}$ auf dem ersten Arbeitsband und hält in $\qacc$
|
||||
\end{enumerate}
|
||||
\end{definition}
|
||||
Wichtig ist, dass wir hier nicht \textit{zwingend} eine $1$-Band-TM konstruieren müssen, eine MTM geht auch.
|
||||
|
||||
\inlinelemma Sei $s$ platzkonstruierbar und $M$ eine MTM mit $\spc_M(x) \leq s(|x|) \ \forall x \in L(M)$.
|
||||
Dann existiert MTM $A$ mit $L(A) = L(M)$ und $\spc_A(n) \leq s(n)$, es gilt also $\spc_A(y) \leq s(|y|) \ \forall y \in \Sigma_M$
|
||||
|
||||
\inlinelemma Sei $t$ zeitkonstruierbar und $M$ eine MTM mit $\tc_M(x) \leq t(|x|) \ \forall x \in L(M)$.
|
||||
Dann existiert eine MTM $A$ mit $L(A) = L(M)$ und $\tc_A(n) \in \tco{t(n)}$
|
||||
|
||||
\inlinetheorem Für jede Funktion $s$ mit $s(n) \geq \log_2(n)$ gilt $\text{SPACE}(s(n)) \subseteq \bigcup_{c\in \N} \text{TIME}(c^{s(n)})$
|
||||
|
||||
Obiger Satz trifft auch für $s(n)$-platzbeschränkten TM zu, die nicht halten, aber nur, wenn $s(n)$ platzkonstruierbar ist.
|
||||
|
||||
\inlinecorollary $\text{DLOG} \subseteq \text{P}$ und $\text{PSPACE} \subseteq \text{EXPTIME}$
|
||||
|
||||
Die Korollare \ref{corollary:6-1} und \ref{corollary:6-2} geben zusammen $\text{DLOG} \subseteq \text{P} \subseteq \text{PSPACE} \subseteq \text{EXPTIME}$
|
||||
|
||||
|
||||
\inlinetheorem Für $s_1, s_2 : \N \rightarrow \N$ mit folgenden Eigenschaften:
|
||||
\drmvspace
|
||||
\begin{multicols}{3}
|
||||
\begin{enumerate}
|
||||
\item $s_2(n) \geq \log_2(n)$
|
||||
\item $s_2$ ist platzkonstruierbar
|
||||
\item $s_1(n) = o(s_2(n))$
|
||||
\end{enumerate}
|
||||
\end{multicols}
|
||||
|
||||
\drmvspace\rmvspace
|
||||
Dann gilt: $\text{SPACE}(s_1) \subsetneq \text{SPACE}(s_2)$
|
||||
|
||||
|
||||
\inlinetheorem Für $t_1, t_2 : \N \rightarrow \N$ mit folgenden Eigenschaften:
|
||||
\drmvspace
|
||||
\begin{multicols}{2}
|
||||
\begin{enumerate}
|
||||
\item $t_2$ ist platzkonstruierbar
|
||||
\item $t_1(n) \cdot \log_2(t_1(n)) = o(t_2(n))$
|
||||
\end{enumerate}
|
||||
\end{multicols}
|
||||
|
||||
\drmvspace\rmvspace
|
||||
Dann gilt: $\text{TIME}(s_1) \subsetneq \text{TIME}(s_2)$
|
||||
|
||||
In den Sechzigerjahren entstand folgende ``Definition'' von parktisch lösbaren Problemen:
|
||||
\begin{center}
|
||||
\fbox{
|
||||
\parbox{16cm}{
|
||||
\textit{Ein Problem ist praktisch lösbar genau dann, wenn ein polynomialer Algorithmus zu seiner Lösung existiert.
|
||||
Die Klasse P ist die Klasse der praktisch entscheidbaren Probleme}
|
||||
}
|
||||
}
|
||||
\end{center}
|
||||
@@ -0,0 +1,65 @@
|
||||
\newpage
|
||||
\subsection{Nichtdeterministische Komplexitätsmasse}
|
||||
|
||||
\begin{definition}[]{Zeit- und Speicherkomplexität}
|
||||
Sei $M$ eine NMTM oder MTM und $x \in L(M) \subseteq \word$. $\tc_M(x)$ ist die länge einer kürzesten akzeptierenden Berechnung von $M$ auf $x$
|
||||
und $\tc_M(n) = \max(\{ \tc_M(x) \divides x \in L(M) \text{ und }|x| = n \} \cup \{ 0 \} )$.
|
||||
|
||||
\vspace{0.25cm}
|
||||
|
||||
$\spc_M(C_i)$ ist die Speicherkomplexität von Konfiguration $C_i$ und $\spc_M(C) = \max\{ \spc_M(C_i) \divides i = 1, 2, \ldots, m \}$.
|
||||
Zudem ist $\spc_M(x) = \min\{ \spc_M(C) \divides C \text{ ist akzeptierende Berechnung von $M$ auf } x \}$.
|
||||
Ausserdem ist $\spc_M(n) = \max(\{ \spc_M(x) \divides x \in L(M) \text{ und } |x| = n \} \cup \{ 0 \})$
|
||||
\end{definition}
|
||||
|
||||
|
||||
\begin{definition}[]{Komplexitätsklassen}
|
||||
Für alle $f, g : \N \rightarrow \R^+$ definieren wir:
|
||||
\begin{align*}
|
||||
\text{NTIME}(f) & = \{ L(M) \divides M \text{ ist eine NMTM mit } \tc_M(n) \in \tco{f(n)} \} \\
|
||||
\text{NSPACE}(g) & = \{ L(M) \divides M \text{ ist eine NMTM mit } \spc_M(n) \in \tco{g(n)} \} \\
|
||||
\text{NLOG} & = \text{NSPACE}(\log_2(n)) \\
|
||||
\text{NP} & = \bigcup_{c \in \N} \text{NTIME}(n^c) \\
|
||||
\text{NPSPACE} & = \bigcup_{c \in \N} \text{NSPACE}(n^c)
|
||||
\end{align*}
|
||||
\end{definition}
|
||||
|
||||
|
||||
\inlinelemma Für alle $t$ und $s$ mit $s(n) \geq \log_2(n)$ gilt: $\text{NTIME}(t) \subseteq \text{NSPACE}(t)$, $\text{NSPACE}(s) \subseteq \bigcup_{c \in \N} \text{NTIME}(c^{s(n)})$
|
||||
|
||||
\inlinetheorem Für jedes $t : \N \rightarrow \R^+$ und jedes platzkonstruierbare $s$ mit $s(n) \geq \log_2(n)$ gilt:
|
||||
\rmvspace
|
||||
\begin{multicols}{2}
|
||||
\begin{enumerate}[label=(\roman*)]
|
||||
\item $\text{TIME}(t) \subseteq \text{NTIME}(t)$
|
||||
\item $\text{SPACE}(t) \subseteq \text{NSPACE}(t)$
|
||||
\item $\text{NTIME}(s(n)) \subseteq \text{SPACE}(s(n)) \subseteq \bigcup_{c \in \N} \text{TIME}(c^{s(n)})$
|
||||
\end{enumerate}
|
||||
\end{multicols}
|
||||
|
||||
\drmvspace
|
||||
\inlinecorollary $\text{NP} \subseteq \text{PSPACE}$
|
||||
|
||||
\inlinetheorem Für jede platzkonstruierbare Funktion $s$ mit $s(n) \geq \log_2(n)$ gilt
|
||||
\rmvspace
|
||||
\begin{align*}
|
||||
\text{NSPACE}(s(n)) \subseteq \bigcup_{c \in \N} \text{TIME}(c^{s(n)})
|
||||
\end{align*}
|
||||
|
||||
\drmvspace
|
||||
\inlinecorollary $\text{NLOG} \subseteq \text{P}$ und $\text{NPSPACE} \subseteq \text{EXPTIME}$
|
||||
|
||||
|
||||
\fancytheorem{Satz von Savitch} Sei $s$ mit $s(n) \geq \log_2(n)$ eine platzkonstruierbare Funktion. Dann gilt:
|
||||
\rmvspace
|
||||
\begin{align*}
|
||||
\text{NSPACE}(s(n)) \subseteq \text{SPACE}(s(n)^2)
|
||||
\end{align*}
|
||||
|
||||
\drmvspace
|
||||
\inlinecorollary $\text{PSPACE} = \text{NPSPACE}$
|
||||
|
||||
Aus den obigen Resultaten resultiert die Komplexitätsklassenhierarchie der sequentiellen Berechnungen:
|
||||
\begin{align*}
|
||||
\text{DLOG} \subseteq \text{NLOG} \subseteq \text{P} \subseteq \text{NP} \subseteq \text{PSPACE} \subseteq \text{EXPTIME}
|
||||
\end{align*}
|
||||
35
semester3/ti/main/parts/05_complexity/03_class-np.tex
Normal file
35
semester3/ti/main/parts/05_complexity/03_class-np.tex
Normal file
@@ -0,0 +1,35 @@
|
||||
\newpage
|
||||
\subsection{Die Klasse NP und Beweisverifikation}
|
||||
Da praktische Lösbarkeit eines Problems mit polynomieller Zeit verbunden wird, ist es wichtig zu wissen, welche Probleme in polynomieller Zeit lösbar sind und welche nicht.
|
||||
|
||||
Der Vergleich zwischen den Klassen $P$ und $NP$ ist äquivalent zu der Frage, ob es einfacher ist, gegebene Beweise zu verifizieren, als sie herzustellen.
|
||||
|
||||
Betrachten wir folgendes: Sei $L = SAT$, wobei
|
||||
\rmvspace
|
||||
\begin{align*}
|
||||
SAT = \{ x \in \words{logic} \divides x \text{ kodiert eine erfüllbare Formel in CNF} \}.
|
||||
\end{align*}
|
||||
|
||||
\drmvspace
|
||||
Dann ist die Aussage $\Phi \in SAT$ äquivalent zu der Behauptung ``$\Phi$ ist eine erfüllbare Formel in CNF''
|
||||
|
||||
Für nichtdeterministische Berechnungen nennen wir $\alpha_1, \ldots, \alpha_n$ \bi{Zertifikate} für eine Aussage $\Xi$, falls für diese $\Xi(\alpha_1, \ldots, \alpha_n)$ hält.
|
||||
|
||||
\begin{definition}[]{Verifizierer}
|
||||
Sei $L \subseteq \word$ und $p : \N \rightarrow \N$.
|
||||
Eine MTM $A$ ist ein $p$-Verifizierer und $V(A) = L$, falls $A$ mit folgenden Eigenschaften auf allen Eingaben aus $\word \times \wordbool$ arbeitet:
|
||||
\begin{enumerate}[label=(\roman*)]
|
||||
\item $\tc_A(w, x) \leq p(|w|)$ für jede Eingabe $(w, x) \in \word \times \wordbool$
|
||||
\item Für jedes $w \in L$ existiert ein $x \in \wordbool$, so dass $|x| \leq p(|w|)$ und $(w, x) \in L(A)$. $x$ ist \bi{Zeugen} (oder \bi{Beweis}) der Behauptung $w \in L$
|
||||
\item Für jedes $y \notin L$ gilt $(y, z) \notin L(A)$ für alle $z \in \wordbool$
|
||||
\item Falls $p(n) \in \tco{n^k}$ für ein $k \in \N$, so ist $p$ ein \bi{Polynomialzeit-Verifizierer}. Die Klasse ist
|
||||
\vspace{-0.8pc}
|
||||
\begin{align*}
|
||||
VP = \{ V(A) \divides A \text{ ist ein Polynomialzeit-Verifizierer } \}
|
||||
\end{align*}
|
||||
\end{enumerate}
|
||||
\end{definition}
|
||||
|
||||
\inlinetheorem $VP = NP$
|
||||
|
||||
Der Beweis für obiges Resultat ist auf Seiten 193 - 194 im Buch (= 205 - 206 im PDf) zu finden
|
||||
124
semester3/ti/main/parts/05_complexity/04_np-completeness.tex
Normal file
124
semester3/ti/main/parts/05_complexity/04_np-completeness.tex
Normal file
@@ -0,0 +1,124 @@
|
||||
\newpage
|
||||
\subsection{NP-Vollständigkeit}
|
||||
Es sind mittlerweile über 3000 Probleme bekannt, für welche wir keinen Algorithmus kennen, der in polynomieller Zeit läuft.
|
||||
Es ist aber bis jetzt niemandem gelungen, eine höhere untere Schranke für alle zu beweisen, als $\tcl{n}$.
|
||||
|
||||
Wie bereits bei der Berechenbarkeit benutzen wir eine Reduktion.
|
||||
Falls jedes Problem aus $NP$ effizient auf ein Problem $L \in NP$ reduzierbar ist, so ist $L$ schwer.
|
||||
|
||||
\begin{definition}[]{Polynomielle Reduktion}
|
||||
$L_1 \subseteq \word_1$ ist \bi{polynomiell reduzierbar auf} $L_2 \subseteq \word_2$, geschrieben $L_1 \leq_p L_2$,
|
||||
falls eine polynomielle TM $A$ existiert, die für jedes Wort $x \in \word_1$ ein Word $A(x) \in \word_2$ berechnet, so dass
|
||||
\rmvspace
|
||||
\begin{align*}
|
||||
x \in L_1 \Longleftrightarrow A(x) \in L_2
|
||||
\end{align*}
|
||||
|
||||
\drmvspace
|
||||
$A$ wird eine polynomielle Reduktion von $L_1$ auf $L_2$ genannt.
|
||||
\end{definition}
|
||||
Wieder bedeutet $L_1 \leq_p L_2$, dass $L_2$ mindestens so schwer ist wie $L_1$
|
||||
|
||||
\begin{definition}[]{$NP$-Schwer}
|
||||
Eine Sprache $L$ ist \bi{$NP$-Schwer}, falls für alle $L' \in NP$ gilt $L' \leq_p L$.
|
||||
|
||||
Eine Sprache $L$ ist \bi{$NP$-Vollständig}, falls
|
||||
\drmvspace
|
||||
\begin{multicols}{2}
|
||||
\begin{enumerate}[label=\textit{(\roman*)}]
|
||||
\item $L \in NP$
|
||||
\item $L$ $NP$-Schwer ist.
|
||||
\end{enumerate}
|
||||
\end{multicols}
|
||||
\end{definition}
|
||||
|
||||
|
||||
\inlinelemma Falls $L \in P$ und $L$ ist $NP$-schwer, dann gilt $P = NP$
|
||||
|
||||
\fancytheorem{Cook} $SAT$ ist $NP$-Vollständig
|
||||
|
||||
Der Beweis hierfür liefert eine grobe Struktur für weitere Beweise dieser Art und ist auf Seiten 199 - 205 im Buch (= Seiten 211 - 217 im PDF) zu finden.
|
||||
Jedoch sind diese Beweise sehr gross und deshalb nicht prüfungsrelevant.
|
||||
|
||||
|
||||
\inlinelemma Falls $L_1 \leq_p L_2$ und $L_1$ ist $NP$-Schwer, so ist auch $L_2$ $NP$-Schwer
|
||||
|
||||
Betrachten wir folgende Sprachen:
|
||||
\begin{align*}
|
||||
SAT & = \{ \Phi \divides \Phi \text{ ist eine erfüllbare Formel in CNF} \} \\
|
||||
CLIQUE & = \{ (G, k) \divides G \text{ ist ein ungerichteter Graph, der eine $k$-clique enthält} \} \\
|
||||
VC & = \{ (G, k) \divides G \text{ ist ein ungerichteter Graph mit einer Kontenüberdeckung der Mächtigkeit höchstens } k \}
|
||||
\end{align*}
|
||||
Wir erinnern uns daran, dass eine Kontenüberdeckung eines Graphen $G = (V, E)$ jede Menge von Konten $U \subseteq V$ ist,
|
||||
so dass jede Kante aus $E$ mindestens einen Endpunkt in $U$ hat.
|
||||
|
||||
\inlinelemma $SAT \leq_p CLIQUE$
|
||||
|
||||
\inlinelemma $CLIQUE \leq_p VC$
|
||||
|
||||
\inlinelemma $SAT \leq_p 3SAT$, wobei wir beim $3SAT$-Problem bestimmen wollen, ob eine Formel in $3CNF$ (CNF, aber alle Klauseln enthalten höchstens $3$ Variabeln) erfüllbar ist.
|
||||
|
||||
|
||||
\begin{definition}[]{$NPO$}
|
||||
$NPO$ ist die Klasse der Optimierungsprobleme, mit $U = (\Sigma_I, \Sigma_O, L, \cM, \text{cost}, \text{goal}) \in NPO$, falls folgende Bedingungen erfüllt sind:
|
||||
\begin{enumerate}[label=\textit{(\roman*)}]
|
||||
\item $L \in P$
|
||||
\item Es existiert ein Polynom $p_U$, so dass
|
||||
\begin{enumerate}[label=(\alph*)]
|
||||
\item Für jedes $x \in L$ und jedes $y \in \cM(x)$, $|y| \leq p_U(|x|)$
|
||||
\item es existiert ein polynomieller Algorithmus $A$, der für jedes $y \in \word_O$ und jedes $x \in L$ mit $|y| \leq p_U(|x|)$ entscheidet,
|
||||
ob $y \in \cM(x)$ oder nicht
|
||||
\end{enumerate}
|
||||
\item Die Funktion $\text{cost}$ kann man in polynomieller Zeit berechnen.
|
||||
\end{enumerate}
|
||||
\end{definition}
|
||||
|
||||
\newpage
|
||||
Ein Optimierungsproblem $U$ ist also in $NPO$, falls
|
||||
\rmvspace
|
||||
\begin{enumerate}[noitemsep]
|
||||
\item man effizient überprüfen kann, ob ein gegebenes Wort ein Problemfall von $U$ ist
|
||||
\item die Grösse der Lösungen polynomiell in der Grösse des Problemfalls (Eingabe) und in polynomieller Zeit verifizert werden kann,
|
||||
ob $y$ eine zulässige Lösung für einen gegebenen Problemfall ist
|
||||
\item man die Kosten der zulässigen Lösung effizient berechnen kann
|
||||
\end{enumerate}
|
||||
|
||||
$\text{MAX-SAT}$ liegt in $NPO$
|
||||
|
||||
\begin{definition}[]{PO}
|
||||
$PO$ ist die Klasse von Optimierungsproblemen $U = (\Sigma_I, \Sigma_O, L, \cM, \text{cost}, \text{goal})$, so dass
|
||||
\begin{enumerate}[label=(\roman*)]
|
||||
\item $U \in NPO$
|
||||
\item $\exists$ polynomieller Algorithmus $A$, so dass $A(x)$ für jedes $x \in L$ die optimale Lösung für $x$ ist.
|
||||
\end{enumerate}
|
||||
\end{definition}
|
||||
|
||||
\begin{definition}[]{Schwellenwert-Sprache}
|
||||
Die Schwellenwert-Sprache für $U$ (ein Optimierungsproblem aus $NPO$) ist
|
||||
\rmvspace
|
||||
\begin{align*}
|
||||
\text{Lang}_U = \{ (x, a) \in L \times \wordbool \divides \text{Opt}_U(x) \leq \text{Nummer}(a) \}
|
||||
\end{align*}
|
||||
|
||||
\rmvspace
|
||||
mit $\text{Opt}_U(x)$ die optimale Lösung, falls $\text{goal} = \text{Minimum}$, und
|
||||
\rmvspace
|
||||
\begin{align*}
|
||||
\text{Lang}_U = \{ (x, a) \in L \times \wordbool \divides \text{Opt}_U(x) \leq \text{Nummer}(a) \}
|
||||
\end{align*}
|
||||
|
||||
\rmvspace
|
||||
falls $\text{goal} = \text{Maximum}$
|
||||
|
||||
Wir sagen, dass $U$ \bi{NP-schwer} ist, falls $\text{Lang}_U$ NP-schwer ist.
|
||||
\end{definition}
|
||||
|
||||
\inlinelemma Falls ein Optimierungsproblem $U \in PO$, dann $\text{Lang}_U \in P$
|
||||
|
||||
\inlinetheorem Sei $U \in NPO$. Falls $U$ NP-schwer ist und $P \neq NP$, dann $U \notin PO$
|
||||
|
||||
\inlinelemma MAX-SAT ist NP-schwer.
|
||||
|
||||
\inlinelemma MAX-CL (Das Problem der maximalen Clique) ist NP-schwer
|
||||
|
||||
Um zu zeigen, dass solche Probleme $U$ NP-schwer sind, reicht es zu zeigen, dass $\text{Lang}_U$ NP-schwer ist, was wir mit einer $P$-Reduktion machen können.
|
||||
Reference in New Issue
Block a user