{"id":135095,"date":"2023-01-21T20:52:12","date_gmt":"2023-01-21T19:52:12","guid":{"rendered":"https:\/\/www.pauljorion.com\/blog\/?p=135095"},"modified":"2023-01-21T20:52:12","modified_gmt":"2023-01-21T19:52:12","slug":"resoudre-p-vs-np-a-partir-de-considerations-de-base-i-la-presupposition-dune-similarite-entre-procedure-de-solution-et-de-verification","status":"publish","type":"post","link":"https:\/\/www.pauljorion.com\/blog\/2023\/01\/21\/resoudre-p-vs-np-a-partir-de-considerations-de-base-i-la-presupposition-dune-similarite-entre-procedure-de-solution-et-de-verification\/","title":{"rendered":"<b>R\u00e9soudre P vs NP \u00e0 partir de consid\u00e9rations de base<\/b> I. La pr\u00e9supposition d&rsquo;une similarit\u00e9 entre proc\u00e9dure de solution et de v\u00e9rification"},"content":{"rendered":"<p class=\"p3\">Voici, traduite en fran\u00e7ais, la d\u00e9finition de la conjecture \u00ab\u00a0P vs NP\u00a0\u00bb telle qu\u2019on la trouve sur <a href=\"https:\/\/en.wikipedia.org\/wiki\/P_versus_NP_problem\" target=\"_blank\" rel=\"noopener\">Wikip\u00e9dia en anglais<\/a>. Partons de la version en anglais car la d\u00e9finition de l\u2019entr\u00e9e en fran\u00e7ais est d\u2019embl\u00e9e assez alambiqu\u00e9e :<\/p>\n<p class=\"p3\"><i>\u00ab Le probl\u00e8me P vs NP est un probl\u00e8me majeur non r\u00e9solu en informatique. Il s&rsquo;agit de savoir si tout probl\u00e8me dont la solution peut \u00eatre v\u00e9rifi\u00e9e rapidement peut \u00e9galement \u00eatre r\u00e9solu rapidement. \u00bb<\/i><\/p>\n<p class=\"p4\">Examinons quelques exemples de probl\u00e8mes dans cette perspective d\u2019une comparaison entre vitesse de r\u00e9solution et vitesse de confirmation que le probl\u00e8me a bien \u00e9t\u00e9 r\u00e9solu.<\/p>\n<p class=\"p4\">Premier cas : ce genre de casse-t\u00eate o\u00f9 l\u2019on vous propose deux pi\u00e8ces de m\u00e9tal imbriqu\u00e9es en vous mettant au d\u00e9fi de les s\u00e9parer.<\/p>\n<p class=\"p4\">Si vous \u00eates paresseux, ou avez jet\u00e9 l\u2019\u00e9ponge au bout d\u2019un moment, vous trouverez la solution sur le mode d\u2019emploi qui accompagne le jeu. Comme il vous est montr\u00e9, celle-ci consiste en une ou plusieurs rotations des pi\u00e8ces l\u2019une par rapport \u00e0 l\u2019autre suivie d\u2019un alignement tr\u00e8s particulier permettant de les d\u00e9sembo\u00eeter.<\/p>\n<p class=\"p4\">Ce sont de petits dessins qui vous permettent de saisir ais\u00e9ment les manipulations ad hoc. S\u2019il fallait cependant d\u00e9crire enti\u00e8rement l\u2019op\u00e9ration sans recourir \u00e0 une aide visuelle, une telle description exigerait dans la plupart des cas, un nombre consid\u00e9rable de phrases.<\/p>\n<p class=\"p4\">Par contre, v\u00e9rifier que le probl\u00e8me a bien \u00e9t\u00e9 r\u00e9solu ne requiert qu\u2019un examen visuel d\u2019une fraction de seconde : il suffit de constater que les deux pi\u00e8ces ont effectivement \u00e9t\u00e9 s\u00e9par\u00e9es.<\/p>\n<p class=\"p5\">Second cas : celui d\u2019un puzzle.<\/p>\n<p class=\"p5\">D\u00e9crire une proc\u00e9dure de solution pourrait d\u00e9buter de la mani\u00e8re suivante :<\/p>\n<p class=\"p5\">\u00ab\u00a0Mettre \u00e0 part les pi\u00e8ces ayant un bord plat.<\/p>\n<p class=\"p5\">Parmi les pi\u00e8ces ayant un bord plat, les s\u00e9parer en deux groupes : les pi\u00e8ces \u00e0 tenons et les pi\u00e8ces \u00e0 mortaises.<\/p>\n<p class=\"p5\">Prendre une pi\u00e8ce d\u2019un des deux groupes et chercher gr\u00e2ce \u00e0 la similarit\u00e9 de couleur une pi\u00e8ce de l\u2019autre groupe \u00e0 laquelle elle pourrait s\u2019embo\u00eeter.<\/p>\n<p class=\"p5\">R\u00e9p\u00e9ter jusqu\u2019\u00e0 \u00e9puisement des pi\u00e8ces \u00e0 bord plat. Se tourner ensuite vers les autres pi\u00e8ces.<\/p>\n<p class=\"p5\">Etc.\u00a0\u00bb<\/p>\n<p class=\"p5\">V\u00e9rifier que le probl\u00e8me est bien r\u00e9solu ne requiert dans ce cas aussi qu\u2019un examen visuel d\u2019une fraction de seconde : il suffit d\u2019observer qu\u2019il n\u2019existe pas de trou dans l\u2019image reproduisant celle du couvercle de la bo\u00eete du puzzle dont on se demande s\u2019il est effectivement termin\u00e9. Tout cela est extr\u00eamement banal : v\u00e9rifier que le probl\u00e8me pos\u00e9 a bien \u00e9t\u00e9 r\u00e9solu est quasi instantan\u00e9, et sans commune mesure avec la difficult\u00e9 \u00e0 le faire.<\/p>\n<p class=\"p4\">Donc si \u00ab La conjecture P vs NP consiste \u00e0 savoir si tout probl\u00e8me dont la solution peut \u00eatre v\u00e9rifi\u00e9e rapidement peut \u00e9galement \u00eatre r\u00e9solu rapidement \u00bb, les deux exemples du casse-t\u00eate et du puzzle montrent clairement qu\u2019il existe des probl\u00e8mes dont la solution peut \u00eatre v\u00e9rifi\u00e9e rapidement sans qu\u2019ils puissent \u00eatre r\u00e9solus rapidement.<\/p>\n<p class=\"p4\">Mieux, les deux exemples choisis sugg\u00e8rent fortement qu\u2019il n\u2019existe aucun lien entre la difficult\u00e9 du probl\u00e8me et celle de la v\u00e9rification qu\u2019il a bien \u00e9t\u00e9 r\u00e9solu.<\/p>\n<p class=\"p4\">Ce qui ne peut signifier qu\u2019une seule chose : que la d\u00e9finition de P vs NP dont nous sommes partis n\u2019est pas la bonne, la r\u00e9ponse \u00e9tant trop \u00e9vidente si on la prenait \u00e0 la lettre, et n\u2019aurait certainement pas mobilis\u00e9 une g\u00e9n\u00e9ration de math\u00e9maticiens. Il faut donc aborder et examiner P vs NP autrement.<\/p>\n<p class=\"p4\"><i>La d\u00e9finition de P vs NP du Clay Mathematical Institute<\/i><\/p>\n<p class=\"p8\">Abordons les choses autrement : partons du texte du <i>Clay Mathematical Institute<\/i> qui offre un prix d\u2019un million de dollars pour la solution de la conjecture P vs NP. Elle y est caract\u00e9ris\u00e9e de mani\u00e8re intuitive, \u00e0 entendre par opposition \u00e0 de mani\u00e8re formelle, c\u2019est-\u00e0-dire \u00ab avec des \u00e9quations \u00bb.<\/p>\n<p class=\"p4\">Sur <a href=\"https:\/\/www.claymath.org\/millennium-problems\/p-vs-np-problem\" target=\"_blank\" rel=\"noopener\">le site du <i>Clay Mathematical Institute<\/i><\/a> : \u00ab\u00a0Imaginons que vous deviez organiser le logement d&rsquo;un groupe de quatre cents \u00e9tudiants. Les places sont limit\u00e9es et seuls cent \u00e9tudiants pourront \u00eatre accueillis au foyer. Pour compliquer les choses, le doyen vous a fourni une liste de paires d&rsquo;\u00e9tudiants jug\u00e9s incompatibles et a demand\u00e9 qu&rsquo;aucune paire de cette liste ne figure dans votre choix final.<\/p>\n<p class=\"p4\">Il s&rsquo;agit d&rsquo;un exemple de ce que les informaticiens appellent un probl\u00e8me NP, puisqu&rsquo;il est facile de v\u00e9rifier si un choix donn\u00e9 de cent \u00e9tudiants propos\u00e9 par un coll\u00e8gue satisfait aux crit\u00e8res (\u00e0 savoir qu&rsquo;aucune paire pr\u00e9sente dans la liste de votre coll\u00e8gue n&rsquo;apparaisse \u00e9galement dans la liste du bureau du doyen), mais la t\u00e2che consistant \u00e0 g\u00e9n\u00e9rer une telle liste \u00e0 partir de rien (<i>from scratch<\/i>)<i> <\/i>semble si difficile qu&rsquo;elle est totalement irr\u00e9alisable. En effet, le nombre total de fa\u00e7ons de choisir cent \u00e9tudiants parmi les quatre cents candidats est sup\u00e9rieur au nombre d&rsquo;atomes dans l&rsquo;univers connu ! Ainsi, aucune civilisation future ne pourra jamais esp\u00e9rer construire un superordinateur capable de r\u00e9soudre le probl\u00e8me par la force brute, c&rsquo;est-\u00e0-dire en v\u00e9rifiant toutes les combinaisons possibles de 100 \u00e9tudiants.<\/p>\n<p class=\"p4\">Toutefois, cette difficult\u00e9 apparente ne refl\u00e8te peut-\u00eatre que le manque d&rsquo;ing\u00e9niosit\u00e9 de votre programmeur. En fait, <i>l&rsquo;un des probl\u00e8mes majeurs de l&rsquo;informatique est de d\u00e9terminer s&rsquo;il existe des questions dont la r\u00e9ponse peut \u00eatre rapidement v\u00e9rifi\u00e9e, mais dont la r\u00e9solution par une proc\u00e9dure directe est extr\u00eamement longue<\/i>. Des probl\u00e8mes tels que celui invoqu\u00e9 ci-dessus semblent certainement \u00eatre de ce type, mais jusqu&rsquo;\u00e0 pr\u00e9sent, personne n&rsquo;a r\u00e9ussi \u00e0 prouver que l&rsquo;un d&rsquo;entre eux est vraiment <i>aussi difficile qu&rsquo;il n&rsquo;y para\u00eet<\/i>, c&rsquo;est-\u00e0-dire qu&rsquo;il n&rsquo;existe pas de moyen r\u00e9alisable de g\u00e9n\u00e9rer une r\u00e9ponse \u00e0 l&rsquo;aide d&rsquo;un ordinateur. Stephen Cook et Leonid Levin ont formul\u00e9 ind\u00e9pendamment en 1971 le probl\u00e8me P (c&rsquo;est-\u00e0-dire facile \u00e0 trouver) versus NP (c&rsquo;est-\u00e0-dire facile \u00e0 v\u00e9rifier).\u00a0\u00bb<\/p>\n<p class=\"p8\">Reprenons la question \u00e0 partir de cette caract\u00e9risation du probl\u00e8me, \u00ab\u00a0P\u00a0\u00bb signifiant facile \u00e0 r\u00e9soudre vs \u00ab\u00a0NP\u00a0\u00bb voulant dire facile \u00e0 v\u00e9rifier, dans le cas particulier pr\u00e9sent\u00e9\u00a0: comment organiser l\u2019h\u00e9bergement de 400 \u00e9tudiants dont seuls 100 en r\u00e9alit\u00e9 peuvent \u00eatre accueillis, assorti d\u2019une contrainte : ne pas mettre dans la m\u00eame chambre deux personnes incompatibles dont la liste a \u00e9t\u00e9 \u00e9tablie par ailleurs. Il nous est dit qu\u2019il y a l\u00e0 un exemple typique de probl\u00e8me non-P.<\/p>\n<p class=\"p4\">Quand Stephen Wolfram observe dans son <i>A Project to Find the Fundamental Theory of Physics<\/i>,<i> <\/i>qu\u2019\u00ab il n&rsquo;y a pas de m\u00e9thode g\u00e9n\u00e9rale de raccourcir la s\u00e9rie d&rsquo;\u00e9tapes n\u00e9cessaires pour d\u00e9river un th\u00e9or\u00e8me. En d&rsquo;autres termes, il peut \u00eatre arbitrairement difficile d&rsquo;obtenir un r\u00e9sultat en math\u00e9matiques \u00bb (2020 : 558-59), il s\u2019agit d\u2019une consid\u00e9ration du m\u00eame type : la carte d\u2019un d\u00e9sert peut \u00eatre extr\u00eamement petite par rapport \u00e0 la surface du d\u00e9sert lui-m\u00eame, alors que pour un paysage tr\u00e8s accident\u00e9, il n\u2019est pas possible de dresser une carte fid\u00e8le beaucoup plus petite que le pays lui-m\u00eame. Tout d\u00e9pend du cas. Tout est l\u00e0 ! C\u2019est de cela \u00e9galement qu\u2019il s\u2019agit, on le devine, avec P vs NP, d\u2019une r\u00e9ticence, <i>toute math\u00e9maticienne<\/i>, \u00e0 admettre que \u00ab\u00a0tout d\u00e9pende du cas\u00a0\u00bb, une caract\u00e9ristique propre au monde qui nous entoure, mais heureusement absente en g\u00e9n\u00e9ral du monde des math\u00e9maticiens.<\/p>\n<p class=\"p4\">Et, si c\u2019est de cela qu\u2019il s\u2019agit, pourquoi les math\u00e9maticiens et les informaticiens ont-ils m\u00eame voulu formuler cette conjecture P vs NP, de la relation entre probl\u00e8me P, facile \u00e0 r\u00e9soudre, et probl\u00e8me NP, c&rsquo;est-\u00e0-dire facile \u00e0 v\u00e9rifier ? Uniquement sans doute parce que le probl\u00e8me que l\u2019on choisit comme cas typique de P vs NP (cf. ci-dessus : le logement d\u2019un certain nombre de personnes en exc\u00e9dent du nombre de logements disponibles, alors qu\u2019existent des incompatibilit\u00e9s entre ces personnes) sugg\u00e8re une similarit\u00e9 entre la solution (un certain nombre d\u2019op\u00e9rations \u00e0 faire) et la v\u00e9rification (un certain nombre d\u2019autres op\u00e9rations \u00e0 faire), alors que d\u2019autres exemples de probl\u00e8mes, comme ceux du casse-t\u00eate et du puzzle, ne sugg\u00e8rent pas, voire excluent, qu\u2019il existerait une quelconque similarit\u00e9 entre proc\u00e9dure de solution du probl\u00e8me et proc\u00e9dure de v\u00e9rification qu\u2019il a effectivement \u00e9t\u00e9 r\u00e9solu.<\/p>\n<p>(\u00e0 suivre&#8230;)<\/p>\n","protected":false},"excerpt":{"rendered":"<p class=\"p3\">Voici, traduite en fran\u00e7ais, la d\u00e9finition de la conjecture \u00ab\u00a0P vs NP\u00a0\u00bb telle qu\u2019on la trouve sur <a href=\"https:\/\/en.wikipedia.org\/wiki\/P_versus_NP_problem\" target=\"_blank\" rel=\"noopener\">Wikip\u00e9dia en anglais<\/a>. Partons de la version en anglais car la d\u00e9finition de l\u2019entr\u00e9e en fran\u00e7ais est d\u2019embl\u00e9e assez alambiqu\u00e9e :<\/p>\n<p class=\"p3\"><i>\u00ab Le probl\u00e8me P vs NP est un probl\u00e8me majeur non r\u00e9solu [&hellip;]<\/i><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8601,5470],"tags":[9082,7936,8497],"class_list":["post-135095","post","type-post","status-publish","format-standard","hentry","category-fondement-des-mathematiques","category-informatique","tag-clay-mathematical-institute","tag-p-vs-np","tag-stephen-wolfram"],"_links":{"self":[{"href":"https:\/\/www.pauljorion.com\/blog\/wp-json\/wp\/v2\/posts\/135095","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pauljorion.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pauljorion.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pauljorion.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pauljorion.com\/blog\/wp-json\/wp\/v2\/comments?post=135095"}],"version-history":[{"count":3,"href":"https:\/\/www.pauljorion.com\/blog\/wp-json\/wp\/v2\/posts\/135095\/revisions"}],"predecessor-version":[{"id":135098,"href":"https:\/\/www.pauljorion.com\/blog\/wp-json\/wp\/v2\/posts\/135095\/revisions\/135098"}],"wp:attachment":[{"href":"https:\/\/www.pauljorion.com\/blog\/wp-json\/wp\/v2\/media?parent=135095"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pauljorion.com\/blog\/wp-json\/wp\/v2\/categories?post=135095"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pauljorion.com\/blog\/wp-json\/wp\/v2\/tags?post=135095"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}