Karps 21 NP-vollständige Probleme ist eine in der Komplexitätstheorie gebräuchliche Menge NP-vollständiger Rechenprobleme.

Geschichte

Bearbeiten

Eines der bedeutendsten Resultate der Komplexitätstheorie ist der von Stephen Cook im Jahr 1971 erbrachte Nachweis, dass das Erfüllbarkeitsproblem der Aussagenlogik (meist nur kurz SAT genannt) NP-vollständig ist.[1]

Im Jahr 1972 griff Richard Karp diese Idee auf und zeigte die NP-Vollständigkeit ebenfalls für 21 weitere kombinatorische und graphentheoretische Probleme, die sich hartnäckig einer effizienten algorithmischen Lösbarkeit entzogen.

Bedeutung

Bearbeiten

Indem er aufzeigte, dass eine große Anzahl bedeutender Probleme NP-vollständig sind, motivierte Karp die weitere Erforschung der Klasse NP, der Theorie der NP-Vollständigkeit sowie der Fragestellung, ob die Klassen P und NP identisch sind oder sich unterscheiden (P-NP-Problem). Letzteres zählt heute zu den wichtigsten offenen mathematischen Fragestellungen. Unter anderem zählt es zu den sieben Millennium-Problemen des Clay Mathematics Institute, für deren Lösung Preisgelder von jeweils einer Million US-Dollar ausgelobt wurden.

Liste der Probleme

Bearbeiten

Der folgende Baum zeigt Karps 21 Probleme, einschließlich der zugehörigen Reduktion, die er zum Nachweis ihrer NP-Vollständigkeit nutzte. So wurde etwa die NP-Vollständigkeit des Rucksackproblems durch Reduzierung des Problems der exakten Überdeckung darauf gezeigt.

Literatur

Bearbeiten
  • Richard M. Karp: Reducibility Among Combinatorial Problems. In: R. E. Miller und J. W. Thatcher (Hrsg.): Complexity of Computer Computations. Plenum Press, New York, 1972, S. 85–103 (uoa.gr [PDF]).

Einzelnachweise

Bearbeiten
  1. Stephen Cook: The Complexity of Theorem Proving Procedures. In: Proceedings of the third annual ACM symposium on Theory of computing. 1971, S. 151–158 (acm.org).

📚 Artikel Terkait di Wikipedia

C (Programmiersprache)

unsigned int aber einen vorzeichenlosen Integer verwenden. Bei 16 Bit großen Integern ergibt das einen Wertebereich von 0 bis 65535. Um den Wertebereich eines

Integer (Datentyp)

Mit Integer ([], englisch [], für ganze Zahl; von lateinisch numerus integer) wird in der Informatik ein Datentyp bezeichnet, der ganzzahlige Werte speichert

Gemischt-ganzzahlige Optimierung

gemischt-ganzzahligen Optimierung (englisch mixed-integer optimization oder mixed-integer programming) werden Optimierungsprobleme untersucht, die kontinuierliche

Go (Programmiersprache)

Integer in einer Variable vom Typ Float zu speichern, ohne den Wert vorher zu konvertieren. Im folgenden Beispiel wird eine Variable vom Typ Integer deklariert

Fortran

der Buchstaben i, j, k, l, m, n beginnen, stehen für eine Integer-Variable oder einen Integer-Funktionswert, alle übrigen Bezeichner stehen für Gleitkommazahlen

R (Programmiersprache)

am 19. August 2015 (englisch, aktuelle Version: 0.6-5).  Wei-Chen Chen: R-Paket pbdMPI. Programming with Big Data – Interface to MPI. In: CRAN. The R

Pascal (Programmiersprache)

beispielsweise nur die Zahlen zwischen 0 und 255 speichern können soll, so ist es möglich, den Datentyp integer auf diese Teilmenge einzuschränken. Im

Rust (Programmiersprache)

rekursivem Funktionsaufruf implementieren. Mit dem hier benutzten 64-Bit-Integer-Datentyp lässt sich die Fakultät nur bis 20 berechnen, bis ein Überlauf