Files
eth-summaries/semester3/ti/main/ti-summary.tex
2025-12-31 11:24:16 +01:00

153 lines
5.4 KiB
TeX

\documentclass{article}
\input{~/projects/latex/dist/full.tex}
\setLang{de}
\setup{Theoretische Informatik}
\newcommand{\hdelta}{\hat{\delta}}
\newcommand{\qacc}{q_{\text{accept}}}
\newcommand{\qrej}{q_{\text{reject}}}
\newcommand{\ldiag}{L_{\text{diag}}}
\newcommand{\lempty}{L_{\text{empty}}}
\renewcommand{\tc}{\text{Time}}
\newcommand{\spc}{\text{Space}}
\usetikzlibrary{automata, positioning, arrows.meta}
\begin{document}
\startDocument
\usetcolorboxes
\vspace{1cm}
\begin{center}
\begin{tikzpicture}[node distance = 1cm and 2cm, >={Stealth[round]}]
\node[state, initial left, accepting] (q0p0) {$q_0, p_0$};
\node[state] (q0p1) [right=of q0p0] {$q_0, p_1$};
\node[state] (q0p2) [right=of q0p1] {$q_0, p_2$};
\node[state, accepting] (q1p0) [below=of q0p0] {$q_1, p_0$};
\node[state] (q1p1) [right=of q1p0] {$q_1, p_1$};
\node[state] (q1p2) [right=of q1p1] {$q_1, p_2$};
\node[state, accepting] (q2p0) [below=of q1p0] {$q_2, p_0$};
\node[state, accepting] (q2p1) [right=of q2p0] {$q_2, p_1$};
\node[state, accepting] (q2p2) [right=of q2p1] {$q_2, p_2$};
\path[->]
% Level 0
(q0p0) edge node [above] {a} (q0p1)
(q0p1) edge node [above] {a} (q0p2)
(q0p2) edge [bend right] node [above] {a} (q0p0)
% Level 0 to level 1
(q0p0) edge node [right] {b} (q1p0)
(q0p1) edge node [right] {b} (q1p1)
(q0p2) edge node [right] {b} (q1p2)
% Level 1 to level 2
(q1p0) edge node [above] {a} (q2p1)
(q1p1) edge node [above] {a} (q2p2)
(q1p2) edge node [right, xshift=0.3cm] {a} (q2p0)
% Level 2 to level 1
(q2p0) edge node [right] {b} (q1p0)
(q2p1) edge node [above left, yshift=0.1cm] {b} (q1p1)
(q2p2) edge node [right] {b} (q1p2)
% Level 2
(q2p0) edge node [above] {a} (q2p1)
(q2p1) edge node [above] {a} (q2p2)
(q2p2) edge [bend left] node [below] {a} (q2p0)
% ────────────────────────────────────────────────────────────────────
% Loops on level 1
(q1p0) edge [loop left] node {b} ()
(q1p1) edge [loop left] node {b} ()
(q1p2) edge [loop left] node {b} ();
\end{tikzpicture}
\end{center}
\vspace{3cm}
\begin{center}
\begin{Large}
``\textit{Sie können also alle C Programme in Kanonischer Ordnung aufzählen. Sollten Sie dies tun? Wahrscheinlich nicht. Was aber zählt ist, sie \textbf{können} es tun}''
\end{Large}
\hspace{3cm} - Prof. Dr. Dennis Komm, 2025
\end{center}
\vspace{3cm}
\begin{center}
HS2025, ETHZ\\[0.2cm]
\begin{Large}
Summary of the book \color{MidnightBlue}\fbox{\href{https://link.springer.com/book/10.1007/978-3-658-06433-4}{Theoretische Informatik}}\color{black}
\end{Large}\\[0.2cm]
by Prof. Dr. Juraj Hromkovic
\end{center}
\newpage
\printtoc{Orange}
\begin{scriptsize}
\begin{itemize}
\item \textit{Note: Definitions, Lemmas, etc are often 1:1 copies from the book or paraphrased (as I did not find an easier way of stating them)}
\item \textit{Note: In case I forgot to add the PDF page numbers, the PDF page number is given by $P_{\text{PDF}} = P_{\text{Book}} + 15$}
\end{itemize}
\end{scriptsize}
\newpage
% Combinatorics
\input{parts/combinatorics.tex}
% ┌ ┐
% │ Alphabets │
% └ ┘
\newsection
\section{Alphabete, Wörter, Sprachen und Darstellung von Problemen}
\stepcounter{subsection}
\input{parts/01_languages-problems/00_alphabet.tex}
\input{parts/01_languages-problems/01_algorithmic-problems.tex}
\input{parts/01_languages-problems/02_kolmogorov-complexity.tex}
% ────────────────────────────────────────────────────────────────────
% ┌ ┐
% │ Automata │
% └ ┘
\newsection
\section{Endliche Automaten}
\stepcounter{subsection}
\input{parts/02_finite-automata/00_representation.tex}
\input{parts/02_finite-automata/01_simulations.tex}
\input{parts/02_finite-automata/02_proofs-of-nonexistance.tex}
\input{parts/02_finite-automata/03_non-determinism.tex}
\newsection
\section{Turing-Maschinen}
\setcounter{subsection}{2}
\input{parts/03_turing_machines/00_intro.tex}
\input{parts/03_turing_machines/01_multi-band-church-thesis.tex}
\input{parts/03_turing_machines/02_non-deterministic.tex}
\newsection
\section{Berechenbarkeit}
\stepcounter{subsection}
\input{parts/04_computability/00_intro.tex}
\input{parts/04_computability/01_reduction.tex}
\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}
\newsection
\section{Grammatiken}
\stepcounter{subsection}
\input{parts/06_grammars/00_intro.tex}
\end{document}