NP-hard

NP-hard (nichtdeterministisch polynomisch-malig hart), in der rechenbetonten Kompliziertheitstheorie, ist eine Klasse von Problemen, die, informell, "mindestens so hart sind wie die härtesten Probleme in NP". Ein Problem H ist NP-hard wenn und nur, wenn es ein NP-complete Problem L gibt, der polynomische Zeit ist, die auf H (d. h., L  H) Turing-reduzierbar ist. Mit anderen Worten kann L in der polynomischen Zeit durch eine Orakel-Maschine mit einem Orakel für H gelöst werden. Informell können wir an einen Algorithmus denken, der solch eine Orakel-Maschine als ein Unterprogramm nennen kann, um H zu lösen, und L in der polynomischen Zeit löst, wenn der Unterprogramm-Anruf nur einen Schritt macht, um zu rechnen. NP-hard Probleme können jedes Typs sein: Entscheidungsprobleme, suchen Sie Probleme oder Optimierungsprobleme.

Als Folgen der Definition haben wir (bemerken Sie, dass das Ansprüche, nicht Definitionen sind):

  • Problem H ist mindestens so hart wie L, weil H verwendet werden kann, um L zu lösen;
  • Da L NP-complete, und folglich das härteste in der Klasse NP ist, ist auch Problem H mindestens so hart wie NP, aber H muss nicht in NP sein und muss folglich kein Entscheidungsproblem sein (selbst wenn es ein Entscheidungsproblem ist, braucht es nicht in NP zu sein);
  • Da NP-complete Probleme in einander durch den polynomisch-maligen vieleine Verminderung (auch genannt polynomische Transformation) umgestalten, können alle NP-complete Probleme in der polynomischen Zeit durch die Verminderung zu H behoben werden, so nehmen alle Probleme in NP zu H ab; bemerken Sie jedoch, dass das das Kombinieren zwei verschiedener Transformationen einschließt: von NP-complete Entscheidungsproblemen bis NP-complete Problem L durch die polynomische Transformation, und von L bis H durch die polynomische Verminderung von Turing;
  • Wenn es einen polynomischen Algorithmus für ein NP-hard Problem gibt, dann gibt es polynomische Algorithmen für alle Probleme in NP, und folglich P = NP;
  • Wenn P  NP, dann haben NP-hard Probleme keine Lösungen in der polynomischen Zeit, während P = sich NP nicht auflöst, ob die NP-hard Probleme in der polynomischen Zeit behoben werden können;
  • Wenn ein Optimierungsproblem H eine NP-complete Entscheidungsversion L hat, dann ist H NP-hard.

Ein häufiger Fehler ist zu denken, dass der NP in NP-hard für Nichtpolynom eintritt. Obwohl es weit vermutet wird, dass es keine polynomisch-maligen Algorithmen für NP-hard Probleme gibt, ist das nie bewiesen worden. Außerdem, die Klasse NP enthält auch alle Probleme, die in der polynomischen Zeit gelöst werden können.

Beispiele

Ein Beispiel eines NP-hard Problems ist das Entscheidungsteilmenge-Summe-Problem, das das ist: In Anbetracht einer Reihe von ganzen Zahlen, tut eine nichtleere Teilmenge von ihnen belaufen sich auf Null? Das ist ein Entscheidungsproblem und ist zufällig NP-complete. Ein anderes Beispiel eines NP-hard Problems ist das Optimierungsproblem, den am wenigsten gekosteten zyklischen Weg durch alle Knoten eines belasteten Graphen zu finden. Das ist als das Handelsreisender-Problem allgemein bekannt.

Es gibt Entscheidungsprobleme, die NP-hard, aber nicht NP-complete, zum Beispiel das stockende Problem sind. Das ist das Problem das fragt "gegeben ein Programm und sein Eingang, wird es für immer laufen?" Es ist ja/no Frage, so ist das ein Entscheidungsproblem. Es ist leicht zu beweisen, dass das stockende Problem NP-hard, aber nicht NP-complete ist. Zum Beispiel kann das Problem von Boolean satisfiability auf das stockende Problem durch das Umwandeln davon in die Beschreibung einer Maschine von Turing reduziert werden, die alle Wahrheitswertzuweisungen versucht, und wenn es denjenigen findet, der die Formel befriedigt, die es hält und sonst es in eine unendliche Schleife eintritt. Es ist auch leicht zu sehen, dass das stockende Problem nicht in NP ist, da alle Probleme in NP in einer begrenzten Zahl von Operationen entscheidbar sind, während das stockende Problem im Allgemeinen unentscheidbar ist. Es gibt auch NP-hard Probleme, die weder NP-complete noch unentscheidbar sind. Zum Beispiel ist die Sprache von Wahren gemessenen Formeln von Boolean im polynomischen Raum, aber nicht nichtdeterministische polynomische Zeit (wenn NP = PSPACE) entscheidbar.

Alternative Definitionen

Eine alternative Definition von NP-hard, der häufig verwendet wird, schränkt NP-hard auf Entscheidungsprobleme ein und verwendet dann polynomisch-malig vieleine Verminderung statt der Verminderung von Turing. Also, formell ist eine Sprache L NP-hard wenn L  NP, L  L. Wenn es auch der Fall ist, dass L in NP ist, dann wird L NP-complete genannt. Jedoch, laut dieser Definition, würde das triviale Entscheidungsproblem (dasjenige, das alles akzeptiert) und seine Ergänzung nicht nachweisbar in NP-hard sein, selbst wenn P = NP da keine anderen Probleme man können, zu diesen zwei Problemen abnehmen.

NP-Namengeben-Tagung

Das NP-Familiennamengeben-System ist verwirrend: NP-hard Probleme sind nicht der ganze NP, trotz, NP als das Präfix ihres Klassennamens zu haben. Jedoch werden die Namen jetzt verschanzt und kaum sich zu ändern. Andererseits hat das NP-Namengeben-System einen tieferen Sinn, weil die NP Familie in Bezug auf die Klasse NP definiert wird:

NP-hard: Mindestens so hart wie die härtesten Probleme in NP. Solche Probleme brauchen nicht in NP zu sein; tatsächlich können sie nicht Entscheidungsprobleme sogar sein.

NP-complete: Das sind die härtesten Probleme in NP. Solch ein Problem ist NP-hard und in NP.

NP-easy: Höchstens so hart wie NP, aber nicht notwendigerweise in NP, da sie Entscheidungsprobleme nicht sein können.

NP-equivalent: Genau so schwierig wie die härtesten Probleme in NP, aber nicht notwendigerweise in NP.


Co-NP-Complete / 98 V. CHR.
Impressum & Datenschutz