informatique (MP2I/MPI) · Chapitre 13 · Exercice de TD
Problème — Un graphe pour un problème qui n'en a pas l'air
Le modèle des graphes · niveau 3 (difficile)
Énoncé
On dispose de deux seaux non gradués, de et litres, et d'un robinet. On peut remplir un seau, le vider, ou verser un seau dans l'autre jusqu'à ce que le premier soit vide ou le second plein. On veut obtenir exactement litres.
- Modéliser par un graphe : quels sont les sommets, quels sont les arcs ? Combien y en a-t-il ?
- Résoudre, et donner le nombre minimal de manipulations.
- Certains états sont-ils inatteignables ? Le caractériser.
- Avec des seaux de et litres, peut-on obtenir litres ? Et ?
Corrigé de la question 1
1. Le modèle. Le mot « état » est la clé : un sommet est une situation, un arc est un coup.
- Sommets : les couples avec et , où et sont les contenus des deux seaux. Il y en a .
- Arcs : de partent au plus six coups — remplir , remplir , vider , vider , verser dans , verser dans —, chacun menant à un état bien déterminé. On écarte les coups sans effet.
Mesuré : sommets et arcs, soit un degré sortant moyen de .
Ce que ce comptage décide. Le graphe est minuscule : n'importe quel algorithme convient, y compris un . Mais le même modèle appliqué à des seaux de et litres donnerait un million d'états, et à trois seaux de litres, un million également. Le graphe des états explose avec le nombre de variables, et c'est pourquoi le chapitre insiste sur les ordres de grandeur avant tout algorithme : on compte les sommets avant de choisir la méthode. C'est la mise en garde du chapitre chap:exploration.
Question 2 : comment l'IA t'aide
2. Résoudre, et donner le nombre minimal de manipulations.
Élève
Je fais un parcours en profondeur depuis jusqu'à un état contenant 4 litres. J'obtiens une suite de manipulations, mais je ne sais pas comment prouver qu'elle est la plus courte.
IA
Un parcours en profondeur trouve une solution, sans garantie sur sa longueur. Dans quel ordre faudrait-il découvrir les états pour que le premier état à 4 litres rencontré soit forcément le plus proche du départ ?
Élève
Par distance croissante depuis : c'est un parcours en largeur, avec une file.
IA
Pourquoi ce parcours suffit-il ici, sans recourir à Dijkstra ? Et comment récupères-tu la suite des manipulations elle-même, et pas seulement leur nombre, une fois l'état cible atteint ?
L'IA ne donne pas la réponse : elle pose la question qui fait avancer. À toi de continuer.
Continue cet exercice avec l'IA
Reprends la question 2 là où le dialogue s'arrête, puis la suite de l'exercice.
Continuer avec l'IA — gratuit, sans inscriptionGratuit, sans inscription. L'IA te guide pas à pas, sans te donner la réponse.