Sei \Sigma ein Alphabet, L \subseteq \Sigma^* und O ein magisches Gerät (Orakel), das für jedes Wort w \in \Sigma^* in konstanter Zeit entscheiden kann, ob w \in L. Eine Turingmaschine, deren Zustandsübergangsfunktion mitilfe von O berechnet wird, heißt Orakel-Turingmaschine.
Seien A und B Sprachen. A ist (polynomiell) Turing-reduzierbar auf B genau dann wenn A (in polynomiell vielen Schritten) von einer Orakel-Turingmaschine entschieden werden kann, die ein Orakel für B benutzt.
Man schreibt diesfalls A \leq_t B.
Eine Sprache L ist \mathcal{NP}-hart, wenn L' \leq_t L für alle L'\in\mathcal{NP}.
(Aus der Vorlesung)
Sei \Pi ein Optimierungsproblem. Ein Algorithmus, der Problem \Pi löst, heißt pseudopolynomiell, falls seine Laufzeit durch ein Polynom der beiden Variablen Eingabegröße und Größe der größten in der Eingabe vorkommenden Zahl beschränkt ist.
Informell: Falls die Entscheidungssprache trotz unärer Kodierung \mathcal{NP}-vollständig bleibt, heißt sie stark\mathcal{NP}-vollständig.
Falls \mathcal{P} \neq \mathcal{NP} so gibt es für die zu den stark \mathcal{NP}-vollständigen Entscheidungssprachen gehörenden Entscheidungsprobleme keine pseudopolynomiellen Algorithmen.
Ein Approximationsalgorithmus \mathcal{A} für ein Problem \Pi hat eine absolute Gütegarantie, genau dann wenn \exists k \in \mathbb{N}_0: \forall I \in \Pi: |\mathcal{A}(I) - \opt(I)| \leq k .
Sei \Pi ein Problem uns \mathcal{A} ein Approximationsalgorithmus für \Pi. Für eine Instanz I von \Pi bezeichnet R_\mathcal{A}(I) = \max \{ \frac{\mathcal{A}(I)}{\opt(I)}}, \frac{\opt(I)}{\mathcal{A}(I)}} \} \geq 1 die relative Güte der von \mathcal{A} berechneten Lösung.
Ein Approximationsalgorithmus \mathcal{A} für ein Problem \Pi heißt \epsilon-approximativ für \epsilon \geq 0, genau dann wenn \forall I \in \Pi: R_\mathcal{A}(I) \leq 1 + \epsilon.
Vorsicht: Alternative Definitionen!
Sei \Pi ein Problem und \mathcal{A} ein Approximationsalgorithmus für \Pi.
Die asymptotischische relative Güte von \mathcal{A} ist definiert als R_\mathcal{A}^\infty = \inf \{ r \in \mathbb{R}: \exists n \in \mathbb{N}: \forall I \in \Pi: \opt(I) \geq n \Rightarrow R_\mathcal{A}(I) \leq r \} \geq 1.