DHBW_TeX/Theoretische Informatik 1/inhalt/03_Algorithmen.tex

84 lines
2.3 KiB
TeX

\section{Algorithmen}
\subsection{Teilsummenproblem}
Ist ein NP-vollständiges Problem.
Jede Zahl darf nur einmal verwendet werden.
In der Summe muss eine bestimmte Zahl erreicht werden.
\subsection{3-SAT Problem}
Ist ein NP-vollständiges Problem.
Finden einer Belegung an Variablen, sodass eine Formel erfüllt wird.
Die Formel hat die Form:
\[
(x_1 \lor x_2 \lor x_3) \land (x_4 \lor x_5 \lor x_6) \land \ldots
\]
\subsubsection{Umwandlung in Teilsummenproblem}
Zielzahl:
\[
1 \dots 1 \ 4 \dots 4
\]
mit $1$ für jede Variable und $4$ für jede Klausel (Klammer).
Zahlen aus denen die Summe gebildet wird:
\textbf{1. Teil}: 1 an der Stelle der Variable, 0 ansonsten
\textbf{2. Teil}: 1 an der Stelle an der Die Variable in der Klausen positiv/negativ vorkommt, 0 ansonsten
\begin{tabular}{c | l | l}
Variable & positive Belegung & negative Belegung \\
& (1er wenn positiv) & (1er wenn negativ) \\
\hline
$x_1$ & $0 \dots 001 \ pos_1 \dots pos_n$ & $0 \dots 001 \ neg_1 \dots neg_n$ \\
$x_2$ & $0 \dots 010 \ pos_1 \dots pos_n$ & $0 \dots 010 \ neg_1 \dots neg_n$ \\
$x_3$ & $0 \dots 100 \ pos_1 \dots pos_n$ & $0 \dots 100 \ neg_1 \dots neg_n$ \\
\dots & \dots & \dots
\end{tabular}
\subsection{Programmablaufplan}
\subsubsection{Allgemeinheit}
Löst eine Klasse von Problemen.
\subsubsection{Ausführbarkeit}
Jeder Schritt ist ausführbar.
\subsubsection{Determinismus}
Jeder Schritt ist eindeutig, unabängig von Ein und Ausgaben.
\subsubsection{Determiniertheit}
Bei gleichen Eingaben, gleiche Ausgaben.
\subsubsection{Finitheit}
Beschreibung besitzt endliche Länge.
\subsubsection{Terminierung}
Die Ausführung endet bei einer endlichen Eingabe
\subsubsection{Dynamische Finitheit}
Beschränkter Resourcenverbrauch bei endlicher Eingabe.
\subsubsection{Komplexität}
Die Laufzeit / Resourcenverbrauch ist abschätzbar.
\subsection{Hoare-Kalkül}
\subsubsection{Vorbedingung}
Bedingung die vor der Ausführung der Zeile gelten muss.
\subsubsection{Nachbedingung}
Bedingung die nach der Ausführung der Zeile gelten muss.
\subsubsection{Schleifenbedingung}
Bedingung die vor jedem Schleifendurchlauf gelten muss.
\subsubsection{Schleifeninvariante}
Bedingung die vor und nach jedem Schleifendurchlauf gelten muss.