Jeux●●●●●Difficulty 4 of 5

Pourquoi certains casse-têtes se vérifient-ils vite mais, a priori, se résolvent-ils lentement ?

Donne à quelqu'un un Sudoku terminé et il le vérifie en quelques instants. Agrandis assez la grille et sa résolution explose, sans que personne puisse prouver que ça doit forcément être ainsi.

▶ Lancer l'histoire

Certains casse-têtes ont une drôle de double personnalité : vérifier une réponse terminée est instantané, mais trouver cette réponse au départ peut être terriblement lent. Le Sudoku en est l'exemple classique. Si quelqu'un te donne une grille complétée, tu peux confirmer qu'elle est correcte en quelques secondes, il suffit de parcourir chaque ligne, colonne et bloc. Mais le problème général de résoudre des grilles de Sudoku de plus en plus grandes est connu pour être NP-complet, ce qui veut dire qu'il appartient à la classe des problèmes les plus difficiles dont les solutions peuvent être vérifiées rapidement, sans aucun raccourci connu pour les trouver.

Vérifier contre résoudre un Sudoku

Vérifier une grille terminée

  • Parcourir chaque ligne, colonne et bloc
  • Toujours rapide, même sur d'immenses grilles
  • Aucune hypothèse à faire

Résoudre une grille vide

  • Il faut explorer les possibilités
  • Rapide sur un plateau 9x9 normal
  • Explose en difficulté quand la grille grandit

Des algorithmes comme le retour sur trace par force brute arrivent à résoudre un Sudoku classique 9x9 assez efficacement, mais à mesure que la grille grandit, une explosion combinatoire se déclenche, et le nombre de possibilités à vérifier devient incontrôlable. C'est le trait caractéristique des problèmes NP-complets en général : même si une solution peut être vérifiée rapidement, il n'existe aucun moyen connu d'en trouver une rapidement, et le temps requis par tout algorithme connu augmente très vite avec la taille du problème.

Savoir si c'est une loi permanente des mathématiques ou juste un manque d'ingéniosité de notre part, c'est un grand problème non résolu de l'informatique théorique, appelé le problème P contre NP. Il demande, en substance, si tout problème dont la réponse peut être vérifiée rapidement peut aussi être résolu rapidement. Personne ne le sait. Il fait partie des sept problèmes du prix du millénaire, chacun doté d'un million de dollars pour la première solution correcte.

Le soupçon que vérifier et résoudre sont deux tâches fondamentalement différentes remonte plus loin qu'on ne le croirait. En 1955, le mathématicien John Nash a écrit une lettre à l'agence de sécurité nationale américaine, spéculant que casser un code suffisamment complexe devrait prendre un temps croissant de façon exponentielle avec la longueur de la clé, Comme une clé proposée se vérifie rapidement, prouver que Nash avait raison impliquerait ce qu'on appelle aujourd'hui P ≠ NP. Personne n'y est encore parvenu.

Quiz

0/3

  1. 1.Qu'est-ce qui rend un problème « NP-complet » ?
  2. 2.Que sait-on de la résolution de grilles de Sudoku très grandes (n²×n²) ?
  3. 3.Que demande le problème non résolu P contre NP ?

Récap

Vérifier une grille de Sudoku terminée est toujours rapide ; en résoudre une depuis le début sur une grille assez grande peut exploser en difficulté, et personne n'a prouvé si une méthode de résolution rapide pourrait un jour exister.

Le fait surprenant · La résolution générale du Sudoku est prouvée NP-complète, et prouver si les problèmes NP-complets peuvent être résolus aussi vite que vérifiés rapporterait un prix du millénaire d'un million de dollars.

Sources (3)

Pas de source, pas d'affirmation. Chacun des 12 faits de cette leçon renvoie à au moins une de ces sources.

  1. [1]NP-completeness · Wikipedia
  2. [2]Sudoku · Wikipedia
  3. [3]P versus NP problem · Wikipedia
D'autres leçons · 🎲 Jeux (3) Toutes les leçons « Jeux » →

Une lumière de plus sur ta carte.

Reçois une leçon comme celle-ci chaque jour, sur les sujets que tu aimes. Gratuit, en deux ou cinq minutes.

Récupère la carte à partager de cette leçon ↗