Zum Inhalt springen

Informatik · Klasse 12–13 · aktualisiert

P-NP-Problem einfach erklärt: P, NP und Reduktion

Du unterscheidest P und NP, machst aus dem Handlungsreisenden eine Ja-Nein-Frage und deutest Reduktion und NP-Vollständigkeit.

0 von 9 Aufgaben gelöst

P-NP-Problem einfach erklärt: P, NP und Reduktion

Kurz gesagt

P enthält die Entscheidungsprobleme, die ein deterministischer Rechner in Polynomialzeit löst. NP enthält die, bei denen sich ein Beweis für „Ja“ in Polynomialzeit prüfen lässt. Ob P und NP gleich sind, ist ungelöst.

Ein Navi soll eine kurze Route durch viele Orte finden. Eine vorgeschlagene Route nachzurechnen ist leicht, eine beweisbar beste zu finden ist sehr schwierig. Dieser Unterschied zwischen Prüfen und Finden spielt bei P und NP eine zentrale Rolle.

Deine Lernziele

Hake ab, was du schon kannst. Löst du alle Aufgaben eines Abschnitts, hakt Mela das Ziel für dich ab.

4 Abschnitte

Die Komplexitätstheorie fragt, wie schnell der Aufwand eines Problems mit der Größe der Eingabe wächst. Beim Sortieren von Karteikarten ist die Größe der Eingabe zum Beispiel die Anzahl der Karteikarten. Ein Entscheidungsproblem hat als Antwort nur „Ja“ oder „Nein“.

Die Klasse P enthält die Entscheidungsprobleme, die eine deterministische Turingmaschine in Polynomialzeit löst. „Deterministisch“ heißt: Der Rechenweg ist immer eindeutig bestimmt. „Polynomialzeit“ heißt: Es gibt ein Polynom wie f(n)=n^{k}+c mit natürlichen Zahlen c und k, das die Zahl der Rechenschritte für jede Eingabe der Länge n nach oben beschränkt.

Die Klasse NP enthält die Entscheidungsprobleme, bei denen es für „Ja“-Antworten Beweise gibt, die sich in Polynomialzeit verifizieren lassen. Es kann aber aufwändig sein, einen solchen Beweis zu finden. Ein Beispiel: Derzeit ist kein deterministischer Algorithmus bekannt, der eine gegebene Zahl in Polynomialzeit faktorisiert. Es ist jedoch sehr einfach prüfbar, ob ein vorgeschlagener Faktor die Zahl ohne Rest teilt.

NP lässt sich gleichwertig über die nichtdeterministische Turingmaschine (NTM) beschreiben. Sie kann in einer Situation mehrere Möglichkeiten haben, ihre Berechnung fortzusetzen. Das ist nur ein theoretisches Modell, denn es gibt keine real existierenden Computer, die ihren Rechenweg derart verzweigen können.

Eine deterministische Turingmaschine ist ein Spezialfall der NTM. Darum ist P eine Teilmenge von NP. Ein häufiger Irrtum ist, NP für die Klasse der Probleme zu halten, die sich nicht in Polynomialzeit lösen lassen. NP legt aber lediglich eine obere Schranke fest und enthält auch alle Probleme aus P.

Definition

Zertifikat

Ein Zertifikat ist ein Beweis (auch Zeuge genannt) dafür, dass die Antwort auf eine Eingabe „Ja“ ist. Bei einem Problem in NP lässt es sich in Polynomialzeit prüfen.

Beispiel: Karteikarten sortieren

  1. 1Eingabe: n Karteikarten. Die Größe der Eingabe ist die Anzahl n.
  2. 2Es gibt Algorithmen, die n Karteikarten in einer Zeit sortieren, die durch eine quadratische Funktion in n beschränkt ist.
  3. 3Deshalb liegt das Sortierproblem in P.

Merke: P: in Polynomialzeit lösbar. NP: Ein Beweis für „Ja“ ist in Polynomialzeit prüfbar. P ist eine Teilmenge von NP.

Teste dich

MittelWas bedeutet es, dass ein Entscheidungsproblem in NP liegt?

Alles auf einen Blick

P-NP-Problem

  • Klasse P

    Entscheidungsprobleme, die ein deterministischer Rechner in Polynomialzeit löst

  • Klasse NP

    Entscheidungsprobleme, bei denen sich ein Beweis für „Ja“ in Polynomialzeit prüfen lässt; P ist eine Teilmenge von NP

  • Entscheidungsversion

    Statt der kürzesten Rundreise fragt man, ob eine Rundreise existiert, die eine gegebene Grenze nicht überschreitet

  • Reduktion

    Eine in Polynomialzeit berechenbare Umwandlung, bei der Ja-Antworten und Nein-Antworten erhalten bleiben

  • NP-vollständig

    Das Problem liegt in NP und ist NP-schwer; es lässt sich vermutlich nicht effizient lösen

  • P-NP-Frage

    Ob P = NP gilt, ist ungelöst; die Fachwelt vermutet P ≠ NP

Musteraufgabe · Schritt für Schritt

Vorgeschlagene Faktoren für 91 prüfen (ausgedachtes Beispiel)

  1. 1Aufgabe: Prüfe die vorgeschlagenen Faktoren 7 und 6 für die Zahl 91. (Die Zahlen sind ausgedacht.)
  2. 2Prüfen heißt hier: Teilt der Vorschlag die Zahl ohne Rest?
  3. 3Vorschlag 7: 91 : 7 = 13 Rest 0. Der Rest ist 0, also ist 7 ein Faktor von 91.
  4. 4Vorschlag 6: 91 : 6 = 15 Rest 1. Der Rest ist nicht 0, also ist 6 kein Faktor.
  5. 5Das Prüfen war jeweils eine einzige Division. Einen Faktor zu finden ist schwerer: Derzeit ist kein deterministischer Algorithmus bekannt, der eine gegebene Zahl in Polynomialzeit faktorisiert.

Fehler finden

Prüfe die Aussagen zum Graphisomorphieproblem In einer Zeile steckt ein Fehler. Tippe sie an.

Lückentext

Wähl in jeder Lücke das passende Wort und prüf dann deine Antworten.

Für ein Problem in NP lässt sich ein Beweis für eine Ja-Antwort in prüfen, auch wenn das Finden des Beweises aufwändig sein kann. Die Entscheidungsversion des Handlungsreisenden fragt, ob eine Rundreise existiert, deren Länge eine gegebene Grenze . Eine deterministische Turingmaschine ist ein Spezialfall der nichtdeterministischen, darum ist .

Karteikasten

Erst selbst überlegen, dann umdrehen.

Übung mit Feedback

Abschluss-Check: P-NP-Problem

LeichtAngenommen, jemand findet für ein einziges NP-vollständiges Problem einen Algorithmus, der es für alle Eingaben in Polynomialzeit löst. Was folgt daraus?
MittelWas leistete Richard Karp 1972?
SchwerEin Rechner löst das Problem des Handlungsreisenden für 30 Städte in einer Stunde. Wie lange braucht er für 32 Städte annähernd?

Weiterlesen in Informatik