Expliquer P = problème NP à 10 ans


54

C'est ma première question sur ce site. Je suis en train de suivre un cours de maîtrise sur la théorie du calcul. Comment expliqueriez-vous le problème P = NP à un enfant de 10 ans et pourquoi a-t-il une telle récompense monétaire?

Votre prendre?

Je mettrai à jour la question au fur et à mesure que ma tête s'éclaircira.


11
Mon penchant est de conclure que ce n’est pas l’informatique théorique au niveau de la recherche .
Dave Clarke

11
@ Dave: Il devrait être répondu par des chercheurs, alors peut-être est-il approprié de le demander à l'endroit où les chercheurs vont?
Jeremy

11
Je pense que c'est raisonnable. Il existe un article célèbre intitulé "Comment expliquer les protocoles de connaissances nulles à vos enfants", qui, je pense, serait considéré comme un niveau de recherche. Il est vrai qu’il peut être difficile de choisir une "meilleure réponse", mais c’est souvent le cas avec des questions faciles. De plus, cette question pourrait être une bonne publicité pour le site si des réponses suffisamment intéressantes apparaissaient ... de nombreuses personnes pourraient créer un lien vers la réponse donnée ici quand on leur demandera une explication de P vs NP.
Philip White

7
mais ce devrait vraiment être CW.
Suresh Venkat

5
J'ai demandé la motivation parce que le libellé de la question me donnait l'impression que les réponses à votre propre question ne vous intéressaient pas beaucoup (cela ressemblait à un moyen de commencer une conversation plutôt qu'à une vraie question), pas parce que la question est idiote. . Selon votre réponse, vous semblez avoir posé cette question dans le seul but de poser une question et je ne suis donc pas intéressé à y répondre car cela ne vous aidera pas. Nous avons une culture différente de Stack Overflow, mais ce n'est pas pertinent maintenant.
Tsuyoshi Ito

Réponses:


33

J'utilise ces 3 diapositives pour montrer pourquoi il est si difficile (impossible?) De trouver un algorithme rapide pour un problème NP:

Emballage bin L'emballage des poubelles est NP complet 1 L'emballage de la poubelle est NP complet 2


Très facile à comprendre.
Toto

4
Je pense que "pas de solution de facilité" doit être élargi, y compris la mise à l'échelle, à mesure que le nombre de blocs augmente
Ian Ringrose

3
Très bel exemple, mais n’appelle-t-il pas le problème de l’emballage du rectangle dans la littérature?
Mohammad Al-Turkistany

1
@ user54609 NP-complete ne signifie pas que nous pouvons vérifier qu'une compression est optimale en temps polynomial. NP-complete signifie que nous pouvons vérifier qu'une solution est réalisable en temps polynomial (et ne la trouve pas systématiquement en temps polynomial (sauf si P == NP)).
Geoffrey De Smet

1
Oh, alors le problème de la décision est "Y at-il une solution réalisable". Je vois.
Ithisa

21

Dans cette discussion, Scott Aaronson répond à la question.

TEDxCaltech - Scott Aaronson - La physique au 21e siècle: Travailler dans l’ombre de Feynman

Attention: Ne montrez PAS cette discussion directement à votre grand-mère / 10 ans. Pourquoi? regardez-le et vous saurez. ;-)

EDIT:
Donnez à l'enfant 8 puzzle de dames à résoudre. Donnez-lui aussi une limite de temps.

S'il "trouve" une solution, alors il est un enfant intelligent, vous pouvez commencer à lui apprendre le CS immédiatement. :)
Sinon, vous lui montrez la solution et lui demandez de "vérifier" si elle est correcte.

ClassCheckFindExamplePEasyEasyMultiply numbersNPEasyHard8 queens

P est un ensemble de problèmes auxquels l'ordinateur peut "trouver" une solution facilement.

NP est un ensemble de problèmes pour lesquels l’ordinateur ne peut pas "trouver" de solution facilement mais peut "vérifier" la solution facilement.

Si nous pouvons "vérifier" une solution aussi facilement, pourquoi ne pouvons-nous pas la "trouver" facilement?

Ce que vous faites dans CS est soit de résoudre le problème, soit de prouver que personne ne le peut.

Si quelqu'un invente un algorithme permettant de "trouver" facilement des solutions aux problèmes de NP, le tableau se présentera ainsi: et . P=NP

ClassCheckFindPEasyEasyNPEasyEasy
P=NP

Et si quelqu'un prouve que personne ne peut trouver un algorithme pour "trouver" des solutions aux problèmes de , le tableau reste identique et .PN PNPPNP


3
Peut-être pourriez-vous résumer l'essentiel de l'explication de Scott.
Dave Clarke

2
J'ai toujours été curieux de savoir en quoi consiste toute cette histoire de P = NP, maintenant je le fais!
Lee Kowalkowski

Depuis P ∈ NP, peut-être préciser que vous parlez de la partie non-P de NP ici.
David

+1 Beaucoup de bonnes réponses dans ce fil, mais c'est le seul qui tente même de définir ce que P et NP signifient même!
Mark E. Haase

"Si nous pouvons" vérifier "une solution aussi facilement, pourquoi ne pouvons-nous pas la" trouver "facilement?" --- cette question n'est pas encore répondu! Sinon, c'est la meilleure réponse pour moi.

19

L'une des principales choses pour lesquelles les gens utilisent des ordinateurs est la recherche. Des programmes comme Google sont même appelés "moteurs de recherche" et sont utilisés des millions de fois par jour. Un ordinateur a récemment battu les humains sur Jeopardy parce qu'il était capable de parcourir des tonnes de données, très rapidement.

Mais certaines choses sont difficiles à rechercher, même pour les ordinateurs. Cela semble bizarre, n'est-ce pas? Un exemple est la multiplication inverse. Bien sûr si je dis "Qu'est-ce que 5 fois 3?" vous pouvez dire "15" en une nanoseconde, whooosh! Mais quelle est la réponse à "Quels sont les deux nombres multipliés ensemble égal à 21?" (Attendez la réponse, 7 x 3.) Bien! Maintenant, quels sont les deux nombres multipliés ensemble 23? (Attendez la réponse ou la frustration.)

Les deux seuls nombres multipliés ensemble qui valent 23 sont 1 et 23 lui-même. Cela a pris un peu de réflexion, n'est-ce pas? Et 23 est un petit nombre. Pensez si le nombre était composé de centaines de chiffres. Et le fait est que les meilleurs programmes dans le monde ne peuvent pas inverser la multiplication bien mieux que ce qu'un enfant de 7 ans pourrait essayer de faire, en testant un nombre, puis le suivant, puis le suivant. Les ordinateurs peuvent le faire plus rapidement , mais nous ne savons pas vraiment comment demander à un ordinateur de le faire plus intelligemment . Les gens obtiennent un doctorat dans ce domaine, et ils savent seulement comment demander aux ordinateurs de faire la multiplication inverse un peu plus intelligente.

Alors peut-être qu'il n'y a pas de moyen plus intelligent. Mais peut-être qu'il y en a un, mais nous ne l'avons pas encore trouvé. En un mot, c’est le problème P / NP: si je peux reconnaître immédiatement une réponse - 1 fois 23 a 23, duh - cela m’aide-t-il à rechercher la réponse plus rapidement? Les gens pensent qu'il est très important que la personne qui trouve la réponse, oui ou non, gagne un million de dollars.


4
Bon un. Peu importe que l’affacturage soit d’ailleurs un mauvais exemple (ou est-ce vrai?).
Raphaël

4
La factorisation est l'exemple que Mike Sipser a utilisé dans sa vidéo "Expliquer P / NP au public" du Clay Mathematics Institute. J'imagine que si c'est assez bon pour lui .....
Aaron Sterling

3
Le problème de la somme des sous-ensembles peut être expliqué aux élèves qui n’ont pas encore étudié la multiplication!
Tegiri Nenashi

16

Je pense que le problème P vs NP pourrait être expliqué très doucement en termes de Sudoku. Je suppose que le garçon de dix ans en question connaît le Sudoku. Je vais essayer de privilégier la simplicité à la rigueur dans mon explication.

Voici ma tentative d'expliquer P = NP à un enfant hypothétique de dix ans:

Si vous avez un puzzle de Sudoku qui n'est pas terminé et que vous voulez le finir, cela peut être très difficile à faire. D'autre part, si votre ami finit le problème et que vous maîtrisez bien l'arithmétique, il n'est pas très difficile de vérifier si la solution de votre ami au puzzle est la bonne.

La question P = NP demande s'il existe ou non un processus très rapide, étape par étape, permettant de résoudre un puzzle de Sudoku qui n'est pas encore terminé. Le processus étape par étape doit être si clair et facile à comprendre que même un ordinateur peut le comprendre et l’utiliser pour résoudre les énigmes de Sudoku automatiquement et très rapidement. S'il existe un processus si rapide, ce serait ce que les mathématiciens appellent un "algorithme temporel polynomial" (j'expliquerai ce que cela signifie lorsque vous êtes plus âgé).

En fait, les informaticiens et les programmeurs ont identifié beaucoup d'autres énigmes et des problèmes très importants qui sont tout aussi difficiles à résoudre que le Sudoku. Il est vraiment important de savoir si ces problèmes peuvent être résolus, car les ordinateurs pourraient nous aider à faire beaucoup de choses plus rapidement s'ils le pouvaient. Par exemple, ils pourraient nous aider à planifier les trains plus efficacement, à casser des codes secrets et peut-être même à aider à construire des ordinateurs vraiment intelligents capables d’intelligence artificielle.

Il y aurait beaucoup de très bonnes choses qui arriveraient si les gens pouvaient résoudre P = NP. Bien sûr, il y aurait aussi des problèmes, car il serait plus difficile d'utiliser des codes secrets pour garder les messages privés plus secrets.

La plupart des mathématiciens intelligents pensent que P = NP n'est pas vrai. En d'autres termes, la plupart des gens pensent que personne ne sera jamais capable de résoudre rapidement les énigmes de Sudoku vraiment difficiles. Cependant, personne n’ayant jamais pu prouver que P n’était pas égal à NP auparavant, un organisme appelé Clay Mathematics Institute offre un prix d’un million de dollars pour la première preuve que P = NP est vraie ou pour la première. preuve que c'est faux.

Comme vous le voyez, j’ai pris un peu littéralement la partie "expliquer au moins dix ans". :)

J'espère que cela t'aides.


Une très bonne tentative, bien que je ne sache pas si un enfant de 10 ans saura ce qu’est un sudoku.
chazisop

2
@chazisop Par expérience, je peux dire que des versions de base de puzzles de sudoku (sur une grille 4x4) ont été données à des enfants en 3e et 4e années en tant qu'exercices, ce n'est donc pas une hypothèse déraisonnable.
Bob Fraser

Bonne prise, mais: 1) Supprimez P et NP de l'explication. Ils ne veulent rien dire. 2) "très rapide" crée exactement la mauvaise intuition. n'est par aucune intuition raisonnable "très rapide", mais polynomiale. n1000
Raphaël

1
@ Mohsin, de rien. @Raphael, je ne pense pas avoir besoin de laisser tomber P et NP; un enfant de dix ans pourrait simplement accepter ma définition du problème sans avoir besoin de savoir ce que P et NP signifient, et je ne suis pas sûr de pouvoir expliquer le problème sans y faire référence :). De plus, j'ai dit que je privilégiais la clarté à la précision complète ... donc, je ne pense pas qu'il soit injuste d'utiliser "très rapide" et "temps polynomial" de manière interchangeable.
Philip White

Mon point est que cette utilisation de "rapide" ne crée pas de clarté. En supposant que P = NP, le "seul" problème est peut-être que nous recherchons des algorithmes "rapides" pour les problèmes qui ne peuvent pas être résolus "rapidement", mais uniquement de manière polynomiale avec des degrés élevés.
Raphaël

8

Voici comment je l'ai expliqué à ma mère, j'espère que cela vous servira :)

Il existe des problèmes pour lesquels il est facile de trouver une solution (P, mais moins les appeler "faciles à résoudre"), des problèmes pour lesquels il est facile de vérifier si une solution donnée est correcte (NP, mais appelons-les "facilement vérifiables" ), et des problèmes qui ne sont ni faciles à résoudre ni facilement vérifiables. Pour simplifier, supposons que "Facile" soit défini formellement et que chaque problème ait une solution unique.

Maintenant, les gens ont pu prouver (en utilisant les mathématiques) des relations intéressantes entre ces deux notions de "facile à résoudre" et "facilement vérifiable", de telle sorte que certains problèmes sont difficiles à résoudre et que d'autres ne le sont pas. Un exemple de base d'un tel résultat est qu'un problème qui est facilement résolvable est également facilement vérifiable: trouvez simplement sa solution et comparez-la à la solution donnée.

Assez alléchant, pour de nombreux problèmes pratiques (comme décider s’il est possible d’affecter des étudiants à des professeurs et à des salles de classe, quand il y a très peu de marge), on ne sait pas s’il existe un moyen "facile" de le résoudre, mais on sait facilement vérifier si une solution est correcte ou non. Les gens ont beaucoup essayé et ont échoué, puis ont essayé de prouver que ce n'était pas possible et ont également échoué: ils ne savent tout simplement pas. Certains pensent que tous les problèmes facilement vérifiables sont faciles à résoudre (nous devrions simplement y réfléchir davantage), d'autres pensent le contraire, qu'il ne faut pas perdre notre temps à essayer de trouver des solutions faciles à ces problèmes.

Ce que nous avons découvert, c’est comment montrer les liens entre les problèmes (par exemple, si vous savez comment aller à l’école, vous savez comment aller à la boulangerie qui se trouve juste devant) et les problèmes faciles à contrôler qui sont liés à tous les autres problèmes faciles à contrôler ( NP-complete, mais appelons-les "problèmes clés") de telle sorte que si quelqu'un montre un jour que l'un des problèmes clés est facilement résolu, tous les problèmes facilement vérifiables sont également faciles à résoudre (c'est-à-dire P = NP). D'un autre côté, si quelqu'un montre qu'un des problèmes clés ne peut pas être facilement résolu, aucun des autres ne peut l'être facilement non plus (c'est-à-dire P <> NP).

La question est donc tentante et relativement importante dans la pratique (bien que certains soutiennent que nous devrions plutôt nous concentrer sur des définitions alternatives de "facile") et que les gens investissent beaucoup de temps et d’argent dans le débat.



1

Je suis un peu sceptique quant à la possibilité d'expliquer ce problème à un enfant de 10 ans, voire à un profane, sans que les concepts clés ne soient déformés.

Toutes les explications formulées en termes de "facilité" ou de "dureté" entre la recherche et la vérification reposent sur la thèse de Cobham, qui est sans doute fausse dans le cas général et peut être considérée au mieux comme une règle de base.


Ce n'est pas une réponse à la question.
Dave Clarke

Pourquoi pas? La question était "Comment expliqueriez-vous le problème P = NP à un enfant de 10 ans" et ma réponse est qu'une explication appropriée qui ne déforme pas le problème n'existe probablement pas. Vous pouvez être en désaccord avec ma réponse, bien sûr, mais pourquoi prétendez-vous que cela ne répond pas à la question?
Antonio Valerio Miceli-Barone, le

3
À mon avis, c'est une réponse possible, même si je ne suis pas d'accord. Il est vrai que nous ne pouvons pas identifier sans pensée P avec quelque chose comme «l’ensemble des problèmes pouvant être résolus efficacement dans le monde réel». Cependant, je ne pense pas que cela exclue la possibilité d’expliquer le problème de P =? NP un enfant de dix ans à un niveau intuitif. Par exemple, les enfants de dix ans environ apprennent l'aire d'un cercle. Tout traitement rigoureux d'une zone nécessite beaucoup de soin, mais cela n'exclut pas la possibilité d'enseigner le concept de zone de manière intuitive.
Tsuyoshi Ito

Identifier la classe de complexité avec les problèmes possibles est une simplification / idéalisation similaire à celle utilisée dans d’autres sciences, comme la physique, on peut dire que même l’analyse asymptotique est trompeuse, car les constantes peuvent être très grandes et l’algorithme infaisable. pour exécuter, cela pourrait être le cas, mais ces concepts sont assez bons approximation pour de nombreuses tâches et sont utiles dans la pratique. La question est de donner une intuition sur ces concepts à des non-experts. Je ne sais pas si une première explication introductive à leur propos doit être parfaitement exacte.P
Kaveh

1
[suite] entrer dans les détails et mentionner les faiblesses du modèle. Il s’agit simplement d’un modèle mathématique simplifié abstrait qui tente de saisir certains aspects d’une notion intuitive. Selon les physiciens actuels, la physique newtonienne est fondamentalement incorrecte et ne permet pas de prédire correctement la réalité dans certains domaines, mais elle fonctionne assez bien pour la plupart des tâches d'ingénierie. Tout modèle mathématique abstrait d'un concept intuitif / réel n'est qu'un modèle, la thèse de Cobham sur l'identification d'algorithmes de décision réalisables avec n'est pas différente. P
Kaveh

1

Les stratégies gagnantes pour divers jeux de société classiques, par exemple un navire de guerre ou (plus récemment) des jeux vidéo, ont été prouvées complètes et constituent un excellent moyen de présenter / décrire une partie de la théorie de base aux débutants.

cuirassé comme problème de décision complet NP Merlijn Sevenster ICGA journal sep 2004

minesweeper est NP complète FAQ par le mathématicien RW Kaye. Numéro de printemps 2000 de Mathematical Intelligencer (volume 22 numéro 2, pages 9--15)

Le jeu est un travail difficile, mais quelqu'un doit le faire! papier d'arxiv de Giovanni Viglietta. analyse la complexité des calculs de Pac-Man, Tron, Lode Runner, Boulder Dash, Deflektor, Mindbender, Pipe Mania, Skweek, Prince of Persia, Lemmings, Doom, Puzzle Bobble 3 et Starcraft.

Pacman est un article de magazine extrême sur le papier extrême



0

Et voici mon point de vue sur le problème.

Kido!

Vous savez que nous sommes confrontés à de nombreux problèmes dans notre vie. Vous pouvez dire des défis. Certains sont difficiles, d'autres sont plus faciles. Par exemple, vous devez souvent ajouter deux nombres. Et hier soir, nous étions sur l'échiquier et nous devions gagner contre notre voisin. Bien, ajouter deux nombres est un problème simple et direct avec des étapes limitées impliquées. Ces problèmes sont appelés problèmes de classe P car il existe de nombreux problèmes assez simples avec des étapes discrètes qui doivent être répétées à plusieurs reprises pour obtenir une solution.

Par contre, la nuit dernière, lors de notre match à la poitrine, quelle serait la meilleure stratégie pour gagner le match? Nous pourrions déplacer le premier pion d'un pas ou le deuxième pion d'un pas, ou nous pourrions déplacer le deuxième pion de deux pas et le premier pion d'un pas de sorte que vous voyez qu'il y a beaucoup de possibilités. Mais existe-t-il un moyen pour nous ou une recette qui nous donne un ensemble complet de mouvements ordonnés qui donnent un meilleur résultat et qui procure un échec sûr? Donc, vous voyez que c'est difficile, car il y a tellement de possibilités une à chaque étape. Des milliards et des milliards comme dit Carl Sagan.

Mais cher que se passe-t-il si je vous raconte toutes les positions du conseil et vous demande si c'est un échec? En quelques examens, vous saurez sûrement rapidement s’il reste des démarches légales au roi.

Il s’agit donc de problèmes difficiles à résoudre, mais si leur solution est facilement vérifiable en quelques étapes simples, on les appelle problèmes NP.

Maintenant, vous demandez ce que P = NP signifie? En fait, cette question signifie qu’il ya un moyen de trouver une solution plus simple pour trouver la meilleure stratégie ou une liste ordonnée de coups pour une partie d’échecs sans passer par toutes les milliards de possibilités comme nous le faisons pour un simple ajout. Cette question simple est encore sans réponse. Nous n'avons aucune preuve de sa vérité ou de son rejet, mais si nous le faisons, ce sera une avancée décisive. Si cela se révélait vrai, notre civilisation pourrait peut-être résoudre des problèmes très complexes en les transformant en problèmes de classe P. Les gens seront capables de casser les mots de passe en quelques secondes, les messages seront décryptés et bien plus encore et c’est pourquoi ce problème est considéré comme l’un des problèmes les plus importants du millénaire.


Cela pourrait valoir la peine de resserrer le texte. Avez-vous essayé de lire ceci à haute voix?
András Salamon

Tout ne devrait pas être resserré comme des définitions mathématiques, je pense.
Mohsin Hijazee

Si vous resserrez trop le texte, les personnes normales n'auront pas assez d'espace pour comprendre un concept avant de passer au concept suivant.
Ian Ringrose

n×n

Ce lien est peut-être plus clair que le précédent: cstheory.stackexchange.com/questions/6563/…
Juan Bermejo Vega
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.