% !TeX spellcheck = de_DE
\documentclass[11pt,a4paper,toc]{scrartcl}
\usepackage[a4paper,left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm]{geometry}
\usepackage[ngerman]{babel}
\usepackage{amssymb}
\usepackage{scrextend}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{enumitem}
\usepackage{mathtools}
\usepackage[load=named]{siunitx}
\usepackage{csquotes}
\usepackage[hidelinks]{hyperref}
%\usepackage{listings}
\usepackage{algorithmicx}
\usepackage{algpseudocode}
%\usepackage{pgfplots}
\usepackage{tikz}
%\usetikzlibrary{positioning}
%\usetikzlibrary{arrows.meta}
%\usetikzlibrary{quotes}
%\usetikzlibrary{angles}
%\usetikzlibrary{babel}
%\usetikzlibrary{fit}
%\usepackage{datetime}
%\usepackage{xcolor}

\DeclareMathOperator{\opt}{\mathrm{OPT}}
\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}

\setlist[enumerate,1]{label={\arabic*.}}
\setlist[enumerate,2]{label={\alph*)}}

\title{Approximationsalgorithmen}
\author{Marco Ammon}
\date{\today}

\makeatletter
\g@addto@macro\bfseries{\boldmath}
\makeatother

\begin{document}
\maketitle

\tableofcontents
\clearpage
\section{Grundlegende Definitionen}
\subsection{Kombinatorisches Optimierungsproblem $\phi$}
\begin{align*}
	\mathcal{D} &= \text{Menge der Eingaben $I$}\\
	\mathcal{S}(I \in \mathcal{D}) &= \text{Menge der zur Eingabe $I$ zulässigen Lösungen}\\
	f: \mathcal{S}(I) \mapsto \mathbb{N}^{\neq 0} &= \text{Bewertungs-/Kosten-/Maßfunction}\\
	\mathrm{ziel} \in \{\min, \max\}
\end{align*}
\begin{itemize}
	\item Beschränkung auf natürliche Zahlen, weil Vergleich reeller Zahlen bislang nicht beweisbar schnell funktioniert.
	\item Ausschluss der 0 für spätere Definitionen sinnvoll (lässt sich durch Modifikation von $f$ in der Regel trivial erreichen)
\end{itemize}

Gesucht ist zu $I \in \mathcal{D}$ eine zulässige Lösung $\sigma_\mathrm{opt} \in \mathcal{S}(I)$, sodass
\begin{equation*}
	\opt(I) = f(\sigma_\mathrm{opt}) = \mathrm{ziel}\{f(\sigma) \mid \sigma \in \mathcal{S}(I) \}
\end{equation*}

\subsubsection{Beispiele}
TODO: TSP, Rucksackproblem, etc.

\subsection{$t(n)$-Zeit-Approximationsalgorithmus $A$}
Für Eingabe $I \in \mathcal{D}$ berechnet $A$ in Zeit $t(\abs I \abs)$ eine Ausgabe $\sigma_I^A \in \mathcal{S}(I)$. Es gilt die Schreibweise $A(I) = f(\sigma_I^A)$.

\end{document}
