Algorithmen mit einer polynomialen Laufzeit von
Algorithmen mit exponentieller Laufzeit, also
Für viele Probleme der Informatik hat man noch keine effiziente Algorithmen gefunden, also solche mit polynomialer Laufzeit oder besser.
Komplexitätsklasse P
Definition
Die Komplexitätsklasse
Komplexitätsklasse NP
Definition
Die Komplexitätsklasse
P-NP-Problem
Unbekannt ist, ob die beiden Klassen
Beispiele
Faktorisierung
Ein solches Beispiel ist die Faktorisierung einer Zahl in ihre Primfaktoren.
Diese Aufgabe scheint einfach, wird aber für sehr grosse Zahlen sehr aufwändig!
Aufgabe: (nicht ernst gemeint)
Wie lauten die beiden Primfaktoren der folgenden 129-stelligen Zahl?
114 381 625 757 888 867 669 235 779 976 146 612 010 218 296 721 242 362 562 561 842 935 706 935 245 733 897 830 597 123 563 958 705 058 989 075 147 599 290 026 879 543 541
Es ist kein polynomiales Faktorisierungsverfahren bekannt – es kann aber auch nicht ausgeschlossen werden, dass es ein solches gibt! Dieses sogenannte P-NP-Problem ist eines der grossen ungelösten Probleme der theoretischen Informatik.
SAT – Erfüllbarkeitsproblem der Aussagenlogik
Das Erfüllbarkeitsproblem der Aussagenlogik (SAT, von englisch satisfiability) ist ein Entscheidungsproblem der theoretischen Informatik. Es beschäftigt sich mit der Frage, ob eine gegebene aussagenlogische Formel
Beispiel einer solchen aussagelogsichen Formel:
Notation wie wir es von Python kennen:
F = (A or C) and (not A or D or not E) and (B or not D or E)
Aufgabe
Finde eine Belegung der boolean Variablen A
- E
, womit F
True
ergibt.
SAT gehört zur Komplexitätsklasse NP. Jedes Problem aus NP kann in polynomieller Zeit auf SAT zurückgeführt werden (Polynomialzeitreduktion).
Eine deterministische Turingmaschine kann SAT in exponentieller Zeit entscheiden, zum Beispiel durch das Aufstellen einer Wahrheitstabelle. Es ist kein effizienter Algorithmus für SAT bekannt und es wird allgemein vermutet, dass ein solcher Polynomialzeitalgorithmus nicht existiert. Die Frage, ob SAT in polynomieller Zeit gelöst werden kann, ist äquivalent zum P-NP-Problem.