Erklären Sie dem 10-Jährigen das P = NP-Problem


54

Es ist meine erste Frage auf dieser Seite. Ich mache einen Masterstudiengang in Rechentheorie. Wie würden Sie einem 10-jährigen Kind das P = NP-Problem erklären und warum wird es mit so einer finanziellen Belohnung belohnt?

Deine Meinung?

Ich werde die Frage aktualisieren, sobald mein Kopf klar wird.


11
Meine Neigung ist es, dies als theoretische Informatik auf Forschungsniveau zu schließen .
Dave Clarke

11
@ Dave: Die Frage sollte von Forschern beantwortet werden. Vielleicht ist es angemessen, sie an den Ort zu schicken, an den Forscher gehen.
Jeremy

11
Ich halte das für vernünftig. Es gibt eine berühmte Veröffentlichung mit dem Titel "Erklären von Null-Wissens-Protokollen für Ihre Kinder", die meiner Meinung nach als Forschungsniveau angesehen werden kann. Es ist wahr, dass es schwierig sein kann, eine "beste Antwort" auszuwählen, aber dies ist häufig bei weichen Fragen der Fall. Diese Frage könnte auch eine gute Werbung für die Site sein, wenn genügend interessante Antworten auftauchen ... viele Leute könnten auf die hier angegebene Antwort verweisen, wenn sie nach einer Erklärung für P vs. NP gefragt werden.
Philip White

7
aber es sollte wirklich CW sein.
Suresh Venkat

5
Ich habe die Motivation gefragt, weil mir der Wortlaut der Frage den Eindruck vermittelt hat, dass Sie an den Antworten auf Ihre eigene Frage nicht sehr interessiert sind (es schien eher ein Weg zu sein, ein Gespräch zu beginnen, als eine echte Frage), und nicht, weil die Frage dumm ist . Ihrer Antwort zufolge haben Sie diese Frage anscheinend gestellt, um eine Frage zu stellen, und daher bin ich nicht daran interessiert, sie zu beantworten, weil sie Ihnen nicht weiterhilft. Wir haben eine andere Kultur als Stack Overflow, aber das ist jetzt nicht relevant.
Tsuyoshi Ito

Antworten:


33

Ich benutze diese 3 Folien, um zu zeigen, warum es so schwer (unmöglich?) Ist, einen schnellen Algorithmus für ein NP-Problem zu finden:

Mülleimer Verpackung Behälterverpackung ist NP komplett 1 Die Verpackung des Behälters ist NP-vollständig. 2


Sehr leicht zu verstehen.
toto

4
Ich denke, "kein einfacher Weg" muss um die Skalierung erweitert werden, wenn die Anzahl der Blöcke größer wird
Ian Ringrose

3
Sehr schönes Beispiel, aber heißt es in der Literatur nicht Rectangle Packing?
Mohammad Al-Turkistany

1
@ user54609 NP-complete bedeutet nicht, dass wir überprüfen können, ob eine Packung in Polynomzeit optimal ist. NP-vollständig bedeutet, dass wir überprüfen können, ob eine Lösung in Polynomzeit realisierbar ist (und sie nicht konsistent in Polynomzeit finden können (es sei denn, P = NP)).
Geoffrey De Smet

1
Oh, also das Entscheidungsproblem ist "Gibt es eine praktikable Lösung". Aha.
Ithisa

21

In diesem Vortrag geht Scott Aaronson auf die Frage ein.

TEDxCaltech - Scott Aaronson - Physik im 21. Jahrhundert: Arbeiten in Feynmans Schatten

Warnung: Bitte zeigen Sie dieses Gespräch NICHT direkt Ihrer Großmutter / 10-jährigen. Warum? Sieh es dir an und du wirst es wissen. ;-)

EDIT:
Geben Sie dem Kind 8 Königinnen Puzzle zu lösen. Gib ihm auch Zeitlimit.

Wenn er eine Lösung "findet", dann ist er ein kluges Kind, dem Sie sofort CS beibringen können. :)
Ansonsten zeigst du ihm die Lösung und bittest ihn zu "prüfen", ob sie korrekt ist.

ClassCheckFindExamplePEasyEasyMultiply numbersNPEasyHard8 queens

P eine Reihe von Problemen, für die der Computer problemlos eine Lösung finden kann.

NP besteht aus einer Reihe von Problemen, bei denen der Computer die Lösung nicht leicht "finden", aber leicht "überprüfen" kann.

Wenn wir eine Lösung so einfach "überprüfen" können, warum können wir sie dann nicht einfach "finden"?

Was Sie in CS tun, ist, entweder das Problem zu lösen oder zu beweisen, dass niemand dies kann.

Wenn jemand einen Algorithmus erfindet, mit dem es einfach ist, Lösungen für NP-Probleme zu "finden", sieht die Tabelle wie und . P=NP

ClassCheckFindPEasyEasyNPEasyEasy
P=NP

Und wenn jemand nachweist, dass niemand einen Algorithmus finden kann, um Lösungen für -Probleme zu finden, bleibt die Tabelle dieselbe und .PN PNPPNP


3
Vielleicht könnten Sie das Wesentliche von Scotts Erklärung zusammenfassen.
Dave Clarke

2
Ich war schon immer neugierig, worum es bei P = NP geht, jetzt tue ich es!
Lee Kowalkowski

Da P ify NP, stellen Sie vielleicht klar, dass Sie hier über den Nicht-P-Teil von NP sprechen.
David

+1 Viele großartige Antworten in diesem Thread, aber dies ist die einzige, die versucht zu definieren, was P und NP überhaupt bedeuten!
Mark E. Haase

"Wenn wir eine Lösung so einfach" überprüfen "können, warum können wir sie dann nicht einfach" finden "?" --- Diese Frage ist noch nicht beantwortet! Ansonsten ist es die beste Antwort für mich.

19

Eine der Hauptsachen, für die Menschen Computer benutzen, ist die Suche. Programme wie Google werden sogar als "Suchmaschinen" bezeichnet und millionenfach täglich verwendet. Ein Computer hat kürzlich die Menschen auf Jeopardy geschlagen, weil er in der Lage war, Tonnen von Daten superschnell zu durchsuchen.

Aber manche Dinge sind selbst für Computer schwierig zu durchsuchen. Klingt komisch, nicht wahr? Ein Beispiel ist die umgekehrte Multiplikation. Natürlich, wenn ich sage "Was ist 5 mal 3?" Sie können "15" in einer Nanosekunde sagen, whooosh! Aber wie lautet die Antwort auf die Frage: "Welche zwei Zahlen ergeben zusammen 21?" (Warten Sie auf die Antwort, 7 x 3.) Richtig! Welche zwei Zahlen multiplizieren sich zu 23? (Warten Sie auf die Antwort oder auf Frustration.)

Die einzigen zwei Zahlen, die mit 23 multipliziert werden, sind 1 und 23 selbst. Das brauchte ein bisschen Nachdenken, nicht wahr? Und 23 ist eine kleine Zahl. Denken Sie, wenn die Zahl Hunderte von Ziffern lang wäre. Und die Sache ist, dass die besten Programme der Welt die Multiplikation nicht viel besser umkehren können, als es ein 7-Jähriger vielleicht versucht, nur eine Zahl zu testen, und dann die nächste und dann die nächste. Computer können es schneller machen , aber wir wissen nicht wirklich, wie wir einem Computer sagen sollen, dass er es intelligenter machen soll . Die Leute promovieren in diesem Bereich und wissen nur, wie man Computern anweist, die umgekehrte Multiplikation ein bisschen intelligenter durchzuführen.

Vielleicht gibt es keinen intelligenteren Weg. Aber vielleicht gibt es das und wir haben es einfach noch nicht gefunden. Das ist das P / NP-Problem auf den Punkt gebracht: Wenn ich eine Antwort sofort erkennen kann - 1 mal 23 ist 23, duh - hilft mir das, schneller nach der Antwort zu suchen ? Die Leute finden es so wichtig, dass die Person, die die Antwort Ja oder Nein findet, eine Million Dollar gewinnt.


4
Gut Es spielt wahrscheinlich keine Rolle, dass Factoring im Übrigen ein schlechtes Beispiel ist (oder?).
Raphael

4
Factoring war das Beispiel, das Mike Sipser in seinem Video "Explain P / NP to the Public" für das Clay Mathematics Institute verwendete. Ich denke, wenn es gut genug für ihn ist ...
Aaron Sterling

3
Das Teilmengenproblem kann Schülern erklärt werden, die die Multiplikation noch nicht studiert haben!
Tegiri Nenashi

16

Ich denke, das P vs. NP-Problem könnte in Bezug auf Sudoku sehr vorsichtig erklärt werden. Ich gehe davon aus, dass der fragliche Zehnjährige mit Sudoku vertraut ist. Ich werde versuchen, in meiner Erklärung die Einfachheit der Strenge vorzuziehen.

Hier ist mein Versuch, einem hypothetischen Zehnjährigen P = NP zu erklären:

Wenn Sie ein Sudoku-Puzzle haben, das noch nicht fertig ist und das Sie fertigstellen möchten, kann dies sehr schwierig sein. Auf der anderen Seite ist es nicht schwer zu überprüfen, ob die Lösung des Puzzles durch Ihren Freund richtig ist, wenn Ihr Freund das Problem gelöst hat und Sie gut rechnen können.

In der Frage P = NP wird gefragt, ob es einen sehr schnellen, schrittweisen Prozess zum Lösen eines noch nicht abgeschlossenen Sudoku-Puzzles gibt. Der Schritt-für-Schritt-Prozess muss so klar und einfach zu verstehen sein, dass selbst ein Computer ihn verstehen und verwenden kann, um Sudoku-Rätsel automatisch und sehr schnell zu lösen. Wenn es einen so schnellen schrittweisen Prozess gibt, würde das von Mathematikern als "polynomieller Zeitalgorithmus" bezeichnet (ich erkläre, was das bedeutet, wenn Sie älter sind).

In der Tat haben Informatiker und Computerprogrammierer viele andere Rätsel und sehr wichtige Probleme identifiziert, die genauso schwer zu lösen sind wie Sudoku. Es ist sehr wichtig zu wissen, ob diese Probleme gelöst werden können, da Computer uns helfen können, viele Dinge schneller zu erledigen, wenn sie könnten. Sie könnten uns zum Beispiel dabei helfen, Züge effizienter zu planen, Geheimcodes zu knacken und vielleicht sogar Hilfe zu bauen, um wirklich intelligente Computer zu bauen, die künstliche Intelligenz unterstützen.

Es würde viele sehr gute Dinge geben, die passieren würden, wenn die Leute P = NP lösen könnten. Natürlich gäbe es auch einige Probleme, da es schwieriger wäre, Geheimcodes zu verwenden, um private Nachrichten nicht mehr geheim zu halten.

Die meisten klugen Mathematiker denken, dass P = NP nicht wahr ist. Mit anderen Worten, die meisten Leute glauben, dass niemand jemals wirklich harte Sudoku-Rätsel schnell lösen kann. Bisher konnte jedoch noch niemand nachweisen, dass P nicht gleich NP ist. Daher vergibt eine Organisation namens Clay Mathematics Institute einen Preis in Höhe von einer Million Dollar für den ersten Beweis, dass P = NP wahr ist, oder für den ersten Beweis, dass es falsch ist.

Wie Sie sehen, habe ich den Teil "Erklären Sie es einem Zehnjährigen" ein wenig wörtlich genommen. :)

Hoffe das hilft.


Ein sehr guter Versuch, obwohl ich nicht weiß, ob ein 10-Jähriger weiß, was ein Sudoku-Puzzle ist.
Chazisop

2
@chazisop Aus Erfahrung kann ich sagen, dass Grundversionen von Sudoku-Rätseln (dh in einem 4x4-Raster) Kindern in den Klassen 3 und 4 als Übungsaufgaben gegeben wurden, daher ist dies keine unangemessene Annahme.
Bob Fraser

n1000

1
@ Mohsin, sehr willkommen. @Raphael, ich glaube nicht, dass ich P und NP fallen lassen muss. Ein Zehnjähriger könnte einfach meine Definition des Problems akzeptieren, ohne zu wissen, was P und NP bedeuten, und ich bin mir nicht sicher, wie ich das Problem erklären könnte, ohne darauf Bezug zu nehmen :). Außerdem habe ich gesagt, dass ich Klarheit gegenüber vollständiger Genauigkeit bevorzuge ... daher halte ich es nicht für unfair, "sehr schnelle" und "polynomielle Zeit" austauschbar zu verwenden.
Philip White

Mein Punkt ist, dass die Verwendung von "schnell" keine Klarheit schafft. Angenommen, P = NP ist das "einzige" Problem, dass wir nach "schnellen" Algorithmen für Probleme suchen, die nicht "schnell", sondern nur polynomiell mit hohen Graden gelöst werden können.
Raphael

8

Hier ist, wie ich es meiner Mutter erklärte, hoffentlich wird es dir dienen :)

Es gibt Probleme, für die es leicht ist, eine Lösung zu finden (P, aber sie werden weniger als "leicht lösbar" bezeichnet), Probleme, für die es leicht ist zu überprüfen, ob eine gegebene Lösung korrekt ist (NP, aber nennen wir sie "leicht überprüfbar"). ) und Probleme, die weder leicht lösbar noch leicht überprüfbar sind. Der Einfachheit halber sei angenommen, dass "Easy" formal definiert ist und dass jedes Problem eine eindeutige Lösung hat.

Nun ist es den Menschen gelungen, mithilfe der Mathematik interessante Beziehungen zwischen diesen beiden Begriffen "leicht lösbar" und "leicht überprüfbar" zu beweisen, so dass einige Probleme nicht leicht lösbar und andere nicht leicht überprüfbar sind. Ein grundlegendes Beispiel für ein solches Ergebnis ist, dass ein Problem, das leicht lösbar ist, auch leicht überprüfbar ist: Finden Sie einfach seine Lösung und vergleichen Sie es mit der angegebenen Lösung.

Erfreulicherweise ist für viele praktische Probleme (wie die Entscheidung, ob es eine mögliche Zuordnung von Studenten zu Professoren und Klassenzimmern gibt, wenn es nur einen geringen Spielraum gibt) nicht bekannt, ob es einen "einfachen" Weg gibt, dies zu lösen, aber Es ist bekannt, wie einfach zu überprüfen ist, ob eine Lösung korrekt ist oder nicht. Die Leute versuchten viel und versagten, versuchten dann zu beweisen, dass es nicht möglich war und versagten auch: Sie wissen es einfach nicht. Einige denken, dass alle Probleme, die leicht überprüfbar sind, leicht lösbar sind (wir sollten nur mehr darüber nachdenken), andere denken, dass wir unsere Zeit nicht damit verschwenden sollten, einfache Lösungen für diese Probleme zu finden.

Was wir herausgefunden haben, ist, wie man Zusammenhänge zwischen Problemen zeigt (zB wenn man weiß, wie man zur Schule geht, wie man zur Bäckerei geht, die direkt davor ist) und leicht überprüfbaren Problemen, die mit allen anderen leicht überprüfbaren Problemen verbunden sind ( NP-vollständig, aber nennen wir sie "Schlüsselprobleme"), so dass, wenn jemand eines Tages zeigt, dass eines der Schlüsselprobleme leicht zu lösen ist, alle Probleme, die leicht überprüfbar sind, auch leicht lösbar sind (dh P = NP). Wenn andererseits jemand zeigt, dass eines der Schlüsselprobleme nicht leicht lösbar ist, kann auch keines der anderen leicht lösbar sein (dh P NP).

Die Frage ist also spannend und in der Praxis relativ wichtig (obwohl einige argumentieren, dass wir uns eher auf alternative Definitionen von "einfach" konzentrieren sollten), und die Leute investieren ziemlich viel Geld und Zeit in die Debatte.



1

Ich bin ein bisschen skeptisch, ob es möglich ist, einem 10-Jährigen oder sogar einem Laien dieses Problem zu erklären, ohne dass es zu einer falschen Darstellung der Schlüsselbegriffe kommt.

Alle Erklärungen in Bezug auf "Leichtigkeit" und "Härte" des Findens und Überprüfens von Lösungen basieren auf der These von Cobham, die im allgemeinen Fall wohl falsch ist und bestenfalls als Faustregel betrachtet werden kann.


Dies ist keine Antwort auf die Frage.
Dave Clarke

Warum nicht? Die Frage lautete "Wie würden Sie einem 10-jährigen Kind das P = NP-Problem erklären?", Und meine Antwort lautet, dass es wahrscheinlich keine richtige Erklärung gibt, die das Problem nicht falsch darstellt. Natürlich können Sie meiner Antwort nicht zustimmen, aber warum behaupten Sie, dass sie die Frage nicht beantwortet?
Antonio Valerio Miceli-Barone

3
Meiner Meinung nach ist dies eine mögliche Antwort, obwohl ich nicht einverstanden bin. Es ist wahr, dass wir P nicht sinnlos mit so etwas wie der „Menge der Probleme, die in der realen Welt effizient gelöst werden können“, identifizieren können. Ich denke jedoch nicht, dass dies die Möglichkeit ausschließt, das P =? NP-Problem zu erklären ein zehnjähriges Kind auf einer intuitiven Ebene. Zum Beispiel lernen Kinder ab zehn Jahren die Fläche eines Kreises. Jede rigorose Behandlung der Fläche erfordert große Sorgfalt, schließt jedoch nicht aus, dass das Konzept der Fläche auf einer intuitiven Ebene auf nützliche Weise vermittelt wird.
Tsuyoshi Ito

P

1
P

1

Gewinnstrategien für verschiedene klassische Brettspiele, z. B. Schlachtschiff- oder (in jüngerer Zeit) Videospiele, haben sich als NP-vollständig erwiesen und dies ist eine hervorragende Möglichkeit, Neulingen einige der Kerntheorien vorzustellen / zu beschreiben.

Schlachtschiff als NP komplettes Entscheidungsproblem Merlijn Sevenster ICGA Journal September 2004

Minensucher ist NP vollständige FAQ von Mathematiker RW Kaye. Frühjahr 2000 Ausgabe des Mathematical Intelligencer (Band 22 Nummer 2, Seite 9-15)

Spielen ist ein harter Job, aber jemand muss es tun! Arxivpapier von Giovanni Viglietta. analysiert die rechnerische Komplexität von Pac-Man, Tron, Lode Runner, Boulder Dash, Deflektor, Mindbender, Pipe Mania, Skweek, Prince of Persia, Lemmingen, Doom, Puzzle Bobble 3 und Starcraft.

Pacman ist ein harter, extrem technischer Artikel auf dem obigen Papier


siehe auch EINE UMFRAGE ÜBER NP-KOMPLETTE PUZZLES von Kendall, Parkes, Spoerer und Spielen mit Algorithmen: Algorithmic Combinatorial Game Theory von Demaine und Hearn
vzn

0

Und hier ist meine Meinung zum Problem.

Kido!

Sie wissen, dass wir in unserem Leben mit vielen Problemen konfrontiert sind. Sie können Herausforderungen sagen. Einige sind schwer, andere leichter. Beispielsweise müssen Sie häufig zwei Zahlen hinzufügen. Und gestern Abend waren wir auf dem Schachbrett und mussten gegen unseren Nachbarn gewinnen. Nun, das Hinzufügen von zwei Zahlen ist ein einfaches und direktes Problem mit begrenzten Schritten. Solche Probleme werden P-Klassen-Probleme genannt, weil es viele, viele Probleme gibt, die mit diskreten Schritten, die immer wieder wiederholt werden müssen, um eine Lösung zu finden, ziemlich einfach sind.

Auf der anderen Seite, letzte Nacht in unserem Brustspiel, was wäre die beste Strategie, um das Spiel zu gewinnen? Wir könnten den ersten Bauern um einen Schritt verschieben oder den zweiten Bauern um einen Schritt, oder wir könnten den zweiten Bauern um zwei Schritte verschieben und den ersten Bauern um einen Schritt, so dass Sie sehen, dass es sehr viele Möglichkeiten gibt. Aber gibt es einen Weg für uns oder eine Rezeptur, die uns komplette, geordnete Sätze von Zügen gibt, die das Beste und ein Schachmatt bringen? Sie sehen, es ist ziemlich schwierig, weil es so viele Möglichkeiten für jeden Schritt gibt. Milliarden und Abermilliarden, wie Carl Sagan sagt.

Aber was ist, wenn ich dir alle Boardpositionen sage und dich frage, ob es ein Schachmatt ist? Mit Sicherheit werden Sie innerhalb weniger Untersuchungen schnell feststellen können, ob dem König noch rechtliche Schritte bevorstehen.

Also solche Probleme, die schwer zu lösen sind, aber wenn ihre Lösung in wenigen einfachen Schritten leicht überprüfbar ist, werden sie NP-Probleme genannt.

Nun fragen Sie, was P = NP bedeutet? Tatsächlich bedeutet diese Frage, dass es einen Weg gibt, wie wir eine einfachere Lösung finden können, um die beste Strategie oder geordnete Liste von Zügen für ein Schachspiel zu finden, ohne alle Milliarden von Möglichkeiten durchzugehen, genau wie wir es für eine einfache Hinzufügung tun? Diese einfache Frage ist noch unbeantwortet. Wir haben weder Beweise für die Wahrheit noch für die Ablehnung, aber wenn wir dies tun, wird es ein Durchbruch sein. Wenn sich herausstellt, dass dies zutrifft, könnte unsere Zivilisation sehr komplexe Probleme lösen, indem sie sie in P-Klassen-Probleme umwandelt. Die Menschen werden in der Lage sein, innerhalb von Sekunden Passwörter zu knacken, Nachrichten zu entschlüsseln und vieles mehr. Deshalb wird dieses Problem als eines der wichtigsten Probleme des Jahrtausends angesehen.


Es könnte sich lohnen, den Text zu verschärfen. Hast du versucht, das vorzulesen?
András Salamon

Alles sollte nicht wie mathematische Definitionen verschärft werden, denke ich.
Mohsin Hijazee

Wenn Sie den Text zu stark verschärfen, hat die normale Gruppe nicht genügend "Platz", um ein Konzept zu verstehen, bevor Sie mit dem nächsten Konzept fortfahren.
Ian Ringrose

n×n

Dieser Link ist vielleicht deutlicher als der vorherige: cstheory.stackexchange.com/questions/6563/…
Juan Bermejo Vega
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.