Approximationsalgorithmen - Cheatsheet.pdf

Approximationsalgorithmen - Cheatsheet
Approximationsalgorithmen - Cheatsheet Definition und Bedeutung von Approximationsalgorithmen Definition: Näherungsverfahren für Optimierungsprobleme, bei denen exakte Lösungen schwer oder unmöglich zu finden sind. Details: Wichtige Klasse von Algorithmen in der Informatik Ziel: Annäherung an die optimale Lösung in akzeptabler Zeit Approximitätsverhältnis: \( k \)-Approximation liefert Lösung mit ...

© StudySmarter 2024, all rights reserved.

Approximationsalgorithmen - Cheatsheet

Definition und Bedeutung von Approximationsalgorithmen

Definition:

Näherungsverfahren für Optimierungsprobleme, bei denen exakte Lösungen schwer oder unmöglich zu finden sind.

Details:

  • Wichtige Klasse von Algorithmen in der Informatik
  • Ziel: Annäherung an die optimale Lösung in akzeptabler Zeit
  • Approximitätsverhältnis: \( k \)-Approximation liefert Lösung mit Kosten maximal \( k \)-fach der optimalen Kosten
  • Typische Anwendung: NP-schwere Probleme
  • Leistungsanalyse durch Worst-Case-Betrachtung
  • Beispiele: Traveling Salesman Problem (TSP), Rucksackproblem
  • Greedy-Algorithmen, lokale Suche und dynamische Programmierung als Techniken

Unterschiede zwischen exakten und Approximationsalgorithmen

Definition:

Vergleich zwischen Algorithmen, die genaue Lösungen liefern, und solchen, die Näherungslösungen liefern.

Details:

  • Exakte Algorithmen: Berechnen präzise Lösungen für ein Problem.
  • Approximationsalgorithmen: Liefern Lösungen, die nahe an der optimalen Lösung liegen, oft schneller berechenbar.
  • Zeitkomplexität: Exakte Algorithmen oft NP-schwer, Approximationsalgorithmen effizienter.
  • Gütemaß von Approximationsalgorithmen: Approximationsfaktor \(\rho \), wobei \(\rho = \frac{Z_{alg}}{Z_{opt}}\) für Minimierungsprobleme und \(\rho = \frac{Z_{opt}}{Z_{alg}}\) für Maximierungsprobleme.

Polynomial Time Approximation Scheme (PTAS) und Fully Polynomial Time Approximation Scheme (FPTAS)

Definition:

PTAS ist ein Algorithmus, der für jedes \( \frac{1}{\text{Rückstand}} \) eine Lösung findet, die höchstens \((1 + \frac{1}{\text{Rückstand}})\)-mal schlechter als die optimale Lösung ist. FPTAS ist ein spezieller Fall von PTAS, der in polynomialer Zeit sowohl in der Eingabelänge als auch in \( \frac{1}{\text{Rückstand}} \) läuft.

Details:

  • PTAS: Für jedes \( \frac{1}{\text{Rückstand}} \) eine Lösung in polynomialer Zeit.
  • FPTAS: Löst Problem in polynomialer Zeit bzgl. Eingabelänge und \( \frac{1}{\text{Rückstand}} \).
  • PTAS: Laufzeit \(O(n^{f(\frac{1}{\text{Rückstand}})})\).
  • FPTAS: Laufzeit \(O(\text{poly}(n, \frac{1}{\text{Rückstand}}))\).
  • Beispiele: Rucksackproblem (FPTAS), temporäre Planung (PTAS).

Simplex-Algorithmus und Dualitätstheorie in der linearen Programmierung

Definition:

Simplex-Algorithmus: Algorithmus zur Lösung linearer Programme durch iterative Verbesserung. Dualitätstheorie: Behandelt Zusammenhänge zwischen Primal- und Dualproblemen in der linearen Programmierung.

Details:

  • Simplex-Algorithmus startet an einer Ecke der zulässigen Lösungsmenge und bewegt sich entlang der Kanten zum Optimum.
  • Dualitätstheorie: Jedes lineare Programm hat ein zugehöriges Dualproblem, dessen Lösung Informationen über das Primalproblem gibt.
  • Schwache Dualität: Der optimale Zielfunktionswert des Dualproblems ist eine obere Schranke für das Primalproblem (im Maximierungsfall).
  • Starke Dualität: Falls eine optimale Lösung existiert, stimmen die Zielfunktionswerte des Primal- und Dualproblems überein.
  • Dualitätslücke: Differenz zwischen den Zielfunktionswerten von Primal- und Dualproblem (idealerweise null).
  • Komplementäre Schlupfbedingungen: Beschreiben die Beziehung zwischen Primal- und Dualvariablen im optimalen Fall.

Randomisierte Algorithmen und ihre Anwendungen

Definition:

Randomisierte Algorithmen nutzen Zufallselemente zur Problemlösung und bieten oft einfachere Implementationen und geringere Laufzeiten als deterministische Algorithmen.

Details:

  • Definition: Verwenden Zufall zur Entscheidungsfindung während der Problemlösung.
  • Kategorien: Las-Vegas-Algorithmen (immer korrekt, zufällige Laufzeit), Monte-Carlo-Algorithmen (zufällige Genauigkeit, fixierte Laufzeit).
  • Typische Anwendung: Optimierungsprobleme, NP-schwere Probleme, Approximationen.
  • Beispiel: Randomisierte Schnell-Sort und Primzahltests.
  • Wichtige Kenngrößen: Erwartete Laufzeit, Fehlerwahrscheinlichkeit.
  • Hilfsmittel: Wahrscheinlichkeitsanalyse, Markov-Ungleichung, Chernoff-Schranken.

Approximationstechniken für MAX-SAT

Definition:

Approximationstechniken für MAX-SAT: Methoden, um Näherungslösungen für das MAX-SAT-Problem zu finden.

Details:

  • MAX-SAT: Maximierungsvariante des SAT-Problems
  • Ziel: Größtmögliche Anzahl erfüllbarer Klauseln in einer booleschen Formel finden
  • Greedy-Algorithmen: Einfache Heuristiken basierend auf der Auswahl der nächsten besten Option
  • Randomisierte Algorithmen: Nutzen Zufallsentscheidungen zur Lösungsfindung; liefern erwartete Güte
  • Lineare Programmierung: Löst relaxierte Version des Problems; Rundung der Lösung zur Erzeugung einer ganzzahligen Lösung
  • Performancegarantien: Maß für die Nähe der approximierten Lösung zur optimalen Lösung

Nähe- und Approximationsalgorithmen für das Traveling Salesman Problem (TSP)

Definition:

Nähe- und Approximationsalgorithmen bieten Lösungen für das TSP, die nahe an der optimalen Lösung liegen.

Details:

  • Das TSP ist ein NP-schweres Problem.
  • Hauptziel: Minimierung der Gesamtlänge der Tour, die alle Städte einmal besucht und zur Ausgangsstadt zurückkehrt.
  • Bekannte Algorithmen: Nearest Neighbor, Minimum Spanning Tree (MST), Christofides.
  • Approximation ratio: Verhältnis der gefundenen Lösung zur optimalen Lösung, z.B. Christofides: 1.5-Approximation.
  • Greedy-Algorithmen nutzen lokale Optimierungen, liefern oft schnell gute, aber nicht optimale Ergebnisse.

Praktische Anwendungen von Approximationsalgorithmen für NP-schwere Probleme

Definition:

Ansatz zur Lösung von NP-schweren Problemen durch Algorithmen, die gute (aber nicht optimale) Lösungen in polynomialer Zeit liefern.

Details:

  • Verwendet in Bereichen wie Logistik, Netzwerkdesign, und Scheduling.
  • Beispiele: Traveling Salesman Problem (TSP), Knapsack-Problem, Vertex-Cover.
  • Leistungsfähigkeit misst man durch Approximationsfaktor \(\alpha\): \[ \text{Kosten der Lösung durch den Algorithmus} \leq \alpha \times \text{Kosten der optimalen Lösung} \]
  • Typische Strategien: Greedy-Algorithmen, Lineare Programmierung, dynamische Programmierung.
Sign Up

Melde dich kostenlos an, um Zugriff auf das vollständige Dokument zu erhalten

Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.

Kostenloses Konto erstellen

Du hast bereits ein Konto? Anmelden