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.
cc.complexity-theory
soft-question
teaching
p-vs-np
Mohsin Hijazee
la source
la source
Réponses:
J'utilise ces 3 diapositives pour montrer pourquoi il est si difficile (impossible?) De trouver un algorithme rapide pour un problème NP:
la source
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.
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
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 .P ≠ N PNP P≠NP
la source
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.
la source
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:
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.
la source
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.
la source
Michael Sipser explique le problème P vs NP de manière très intuitive dans cette vidéo .
la source
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.
la source
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
la source
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.
la source