Compare commits

..

6 Commits

Author SHA1 Message Date
1525a3e1a1 [TI] Start NP class and proof verification section 2025-11-25 12:34:44 +01:00
b9a0692a68 [TI] Prepare next section 2025-11-20 10:17:20 +01:00
6533d01016 [TI] Fix error 2025-11-15 12:14:19 +01:00
ca39d24145 [TI] Catch up and work ahead slightly 2025-11-14 16:03:59 +01:00
d7c9135c79 [TI] Summarized up to (including) 6.3 2025-11-14 14:37:15 +01:00
fc416d1016 [TI] Prepare new chapter 2025-11-14 10:32:03 +01:00
7 changed files with 256 additions and 0 deletions

View 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 |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 $\tct{f(n)}$ eine untere Schranke für die Zeitkomplexität von $K$ ist.
\end{definition}

View File

@@ -0,0 +1,86 @@
\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.
% TODO: Possibly include construction guide here
\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}

View File

@@ -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}$
\inlineremark 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*}

View File

@@ -0,0 +1,31 @@
\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}

View File

@@ -0,0 +1,2 @@
\newpage
\subsection{NP-Vollständigkeit}

Binary file not shown.

View File

@@ -10,6 +10,8 @@
\newcommand{\qrej}{q_{\text{reject}}}
\newcommand{\ldiag}{L_{\text{diag}}}
\newcommand{\lempty}{L_{\text{empty}}}
\renewcommand{\tc}{\text{Time}}
\newcommand{\spc}{\text{Space}}
\begin{document}
\startDocument
@@ -99,5 +101,14 @@
\input{parts/04_computability/02_rice.tex}
\input{parts/04_computability/03_kolmogorov.tex}
\newsection
\section{Komplexitätstheorie}
\stepcounter{subsection}
\input{parts/05_complexity/00_intro.tex}
\input{parts/05_complexity/01_class_p.tex}
\input{parts/05_complexity/02_non-deterministic-complexity.tex}
\input{parts/05_complexity/03_class-np.tex}
\input{parts/05_complexity/04_np-completeness.tex}
\end{document}