Hamiltonicité dans une grille, un jeu d`enfant ?
Transcription
Hamiltonicité dans une grille, un jeu d`enfant ?
Hamiltonicité dans une grille, un jeu d’enfant ? Aline Parreau Rapport de Stage de License Stage effectué au sein de l’équipe CNAM-MAM du Laboratoire Leibniz sous la responsabilité de Sylvain Gravier, directeur de l’équipe 1 Parreau Aline Stage de License 2006 Table des matières Introduction 3 1 Problème initial 1.1 Enoncé . . . . . . . . . . . . . . . . 1.2 Élements de résolution . . . . . . . 1.2.1 Simplification du problème 1.2.2 Retour au problème initial . 1.3 Vers d’autres dimensions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 4 4 5 7 2 Quand le chemin devient un arbre. . . 2.1 Historique des recherches . . . . . . . . . . . . . . 2.2 NP-complétude . . . . . . . . . . . . . . . . . . . . 2.3 Conditions Nécessaires . . . . . . . . . . . . . . . . 2.4 Remarques générales sur les grilles rectangulaires . 2.4.1 Formalisme . . . . . . . . . . . . . . . . . . 2.4.2 Ce que deviennent les conditions nécessaires 2.4.3 Cas interdits . . . . . . . . . . . . . . . . . 2.4.4 Elements de réduction . . . . . . . . . . . . 2.5 3 sommets . . . . . . . . . . . . . . . . . . . . . . . 2.5.1 Conditions nécessaires et cas interdits . . . 2.5.2 Condition suffisante . . . . . . . . . . . . . 2.6 k sommets ? . . . . . . . . . . . . . . . . . . . . . . 2.7 Des idées . . . . . . . . . . . . . . . . . . . . . . . 2.8 Conclusion sur ce problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 9 9 10 11 11 12 12 14 15 15 16 16 17 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vulgariser mon sujet de recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 18 18 19 19 20 3 Maths à modeler 3.1 Présentation de l’équipe . . . 3.2 La découverte de MAM . . . 3.3 Ma participation ou comment 3.3.1 L’applet . . . . . . . . 3.3.2 Le jeu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conclusion 20 Bibliographie 20 2 Parreau Aline Stage de License 2006 Introduction L’ERTÉ Maths à Modeler, avec laquelle j’ai effectué ce stage, cherche à familiariser le public avec la recherche actuelle en mathématiques discrètes, recherche à laquelle elle participe activement. Aussi, le but de mon stage était double : recherche sur un problème actuel et création d’une situation ludique pour permettre au public de chercher lui aussi sur ce sujet. Une partie du stage, la plus importante en durée, a donc été l’étude de la question suivante : étant donnée une grille et deux points sur cette grille, peut-on relier les deux points par un chemin hamiltonien, c’est-à-dire qui passe une fois par toutes les cases de la grille ? Après avoir répondu à cette question (dite “problème initial“), je me suis penchée sur des extensions de ce problème proposées par mon maı̂tre de stage : dimension plus grande, plus de points sur la grille. . . Parallèlement, nous avons essayé de créer une situation pour mettre le public en recherche sur le même problème. C’est en participant aux activités de Maths à Modeler que j’ai pu avancer sur ce sujet. Le problème initial est présenté dans la première partie. Dans la deuxième partie, j’étudie une extension de ce problème, c’est la partie sur laquelle j’ai le plus cherché et où j’ai apporté le plus de choses au niveau de la recherche. Enfin, dans la troisième partie, je présente l’équipe qui m’a accueillie, ses actions et ce que j’ai fait pour “vulgariser”mon problème de recherche. 1 Problème initial J’ai commencé par travailler sur le problème suivant, dont une résolution complète est écrite dans [1]. Cependant, j’ai réfléchie seule à ce problème avant de lire l’article. Dans cette partie, j’ai volontairement écrit les étapes et résultats de ma réflexion sans chercher à plus les structurer. Cela sera utile pour imaginer comment présenter le problème au public. Cette partie du stage m’a pris environ une semaine. 1.1 Enoncé Un peu de formalisme pour savoir de quoi nous parlons. Definition 1. Soit G∞ la grille infinie, le graphe dont les sommets sont les points du plan à coordonnées entières et tels que deux sommets sont voisins si leur distance arithmétique est 1. Un graphe de grille est un sous graphe fini de G∞ induit par les noeuds : il est entièrement décrit par l’ensemble de ses sommets. Un graphe de grille sera repésenté par un quadrillage : un sommet correspond à une case, deux cases sont voisines si elles ont un côté commun. La grille rectangulaire de taille n ∗ m est le graphe de grille dont les sommets u = (ux , uy ) vérifient 1 6 ux 6 m, 1 6 uy 6 n. Nous nous posons alors le problème suivant, noté G(A, B) : Problème 1. Dans un graphe de grille G, on se donne deux sommets A et B. Existe-t-il un chemin hamiltonien dont les extrémités sont ces deux points ? Fig. 1 – Peut-on relier A à B en passant une fois par toutes les cases ? Le théorème suivant a éte démontré par Itai, Papadimitriou et Swarcfiter dans [1] et donne un intérêt au problème. 3 Parreau Aline Stage de License 2006 Théorème 1. Trouver un chemin hamiltonien dans un graphe de grille est NP-complet. On en déduit le corollaire suivant qui concerne plus précisément notre problème : Corollaire 1. Savoir si G(A,B) a une solution est NP-complet Démonstration. A partir d’un graphe de grille comportant N cases, on le copie N (N2−1) fois et on choisit (A,B) tous les couples de cases possibles. Si on sait résoudre G(A,B), on sait trouver un chemin hamiltonien dans le graphe de grille. Dans la suite, on se retreint aux grilles rectangulaires et on cherche une condition nécessaire et suffisante pour que G(A,B) ait une solution. 1.2 1.2.1 Élements de résolution Simplification du problème Suivant les conseils de mon maı̂tre de stage, j’ai commencé par résoudre un problème plus simple, noté G(A) : Problème 2. Dans une grille G, on se fixe un sommet A. Existe-t-il un chemin hamiltonien partant de A ? Lemme 1. Si la grille est paire (nombre pair de cases), G(A) a toujours une solution. Démonstration. On peut toujours construire un circuit hamiltonien dans une grille paire (voir la figure 2). En coupant le cycle au niveau de A, on a un chemin hamiltonien partant de A. Fig. 2 – Circuit hamiltonien dans une grille paire Pour les grilles impaires (nombre impair de cases), certains sommets ne “marchent”pas. Après quelques essais, en notant quels sommets ne “marchent”pas, une coloration de la grille apparaı̂t qui correspond à un damier. Dorénavant, les grilles seront coloriées (Fig. 3) : les sommets “pairs” (i.e. dont la somme des coordonées est pair) en noirs, les sommets “impairs”en blanc. Fig. 3 – Coloration d’une grille Un sommet noir n’a que des voisins blancs, et un sommet blanc n’a que des voisins noirs. Le graphe est donc biparti et lorsqu’on se promène dans le graphe, on alterne les couleurs. On en déduit le lemme suivant : Lemme 2. Si la grille est impaire, G(A) a une solution si et seulement si A est de la couleur dominante. 4 Parreau Aline Stage de License 2006 Démonstration. Un chemin dans une grille commençant par la couleur X comporte une case de plus de couleur X ou le même nombre de cases de chaque couleur. Dans une grille impaire, il y a une case de plus dans une des couleurs, la couleur dominante. Un chemin hamiltonien a donc une case de la couleur dominante de plus, il commence et finit donc obligatoirement par la couleur dominante : il faut donc que A soit de la couleur dominante. On montre que cette condition est suffisante en raisonnant par induction sur la taille de la grille : le résultat est vrai pour la grille 3 × 3 (les deux cas sont présentés en figure 4). (a) (b) Fig. 4 – Chemin hamiltonien dans une grille 3 × 3 On passe d’une grille de taille (2l+1)×(2k+1) (l > 1, k > 1) a une grille de taille (2l+1)×(2k−1) en enlevant un bande de largeur 2 et de longueur 2l + 1 où le point A n’est pas (c’est possible car la grille est de largeur au moins 5). On résout la petite grille par induction. Un des coins du côté frontalier n’est pas A. Pour compléter le chemin, on distingue alors les cas suivant si ce coin est ou non une extrémité du chemin comme illustré en figure 5. ⇒ ⇒ ⇒ (a) (e) (c) (b) ⇒ ⇒ (d) (f) Fig. 5 – Induction pour trouver un chemin hamiltonien sur une grille impaire 1.2.2 Retour au problème initial Chacun des deux sommets est le départ d’un chemin hamiltonien, ils doivent donc tous deux vérifier les conditions données précedement. Ainsi, pour des grilles impaires, il faut que les deux sommets soient de la couleur dominante. Pour les grilles paires, il faut que les deux sommets soient de couleur différente car il y autant de cases de chaque couleur dans une grille paire, donc dans un chemin hamiltonien dans une grille paire. Ainsi, un chemin hamiltonien qui commence par une couleur finit par l’autre et les deux etrémités sont de couleur différente. Cela nous donne une condition nécessaire dite condition de coloration. Est-elle suffisante ? Il y a en fait quelques configurations vérifiant la condition de coloration mais n’ayant pas de solution, ce sont les cas impossibles ou interdits. On rencontre les premières assez vite pour des petites grilles : il faut que la grille reste connexe quand on enlève un ou les deux sommets choisis (le chemin est encore connexe quand on enlève ses extrémités). Ainsi, si la grille est de dimension 5 Parreau Aline Stage de License 2006 1 (m = 1 ou n = 1), il faut que les deux sommets soient dans des coins (Fig. 6(a)). Si la grille contient deux lignes, il ne faut pas que les deux sommets soient sur la même colonne (sauf si ce sont des coins) (Fig. 6(b)). L’autre cas impossible (le cas F3 de [1]) est le suivant : n = 3, m est pair, A est sur une colonne avant B et n’est pas de la même couleur que les coins gauches, et : – soit A est sur la ligne du milieu et B sur une colonne différente (Fig. 6(c)). – soit A est au bord et B n’est pas sur la colonne d’après (Fig. 6(d)). (a) (b) (c) (d) Fig. 6 – Cas impossibles pour le problème initial La figure 7 montre pourquoi cette situation est impossible (dans le cas où A n’est pas sur la ligne du milieu). Le dessin est une coupe de la grille : les coins de gauche de la grille sont noirs. ⇒ ⇒ Pour remplir la partie gauche (a) (b) (c) Impossible (couleurs à gauche) ⇒ ⇒ Pour remplir la partie gauche (d) (e) (f) Impossible (couleurs à gauche) ⇒ Pour pouvoir remplir la partie gauche (impaire) on doit ressortir par b ⇒ (g) (h) ⇒ (i) ⇒ la case au dessus de A n’a que deux voisins possibles (j) (k) B doit être en c ou c’ : impossible Fig. 7 – Preuve qu’une configuration est impossible On distingue les cas suivant la position de l’arête issue de A. Chaque position entraı̂ne des 6 Parreau Aline Stage de License 2006 arêtes obligatoires : soit parce qu’il faut remplir une partie où il n’y a pas d’extrémités : il faut donc entrer et sortir de cette partie, soit à cause des couleurs : si on entre dans une partie impaire par une case noire on doit ressortir par une case noire, soit parce qu’il y a un sommet qui n’a plus que deux voisins possibles. On arrive ensuite à des situations impossibles, généralement á cause des couleurs : par exemple, on doit avoir un chemin dans une grille impaire entre une case noire et une case blanche. Toutes les configurations qui vérifient les conditions de coloration et qui ne correspondent pas à l’un des cas ci-dessus sont résolubles. On le montre par induction en utilisant des méthodes similaires à celles de la figure 5 (elles seront décrites plus précisément ensuite) : on réduit les problèmes en enlevant des “bandes”de largeur 2 vide et en prolongeant le chemin. Quand on ne peut enlever de telles bandes, les deux points sont alors “proches”des bords et on peut couper la grille en deux pour avoir un point de chaque côté. On résoud alors chacune des nouvelles grilles en mettant des nouveaux points au niveau de la frontière. (Voir [1] pour une résolution complète). 1.3 Vers d’autres dimensions. . . Une première extension du problème est d’utiliser des grilles de dimension plus grande. Nous introduisons donc des définitions similaires aux précédentes : Definition 2. La grille infine Gd∞ en dimension d est le graphe dont les sommets sont les sommets de Zd et deux sommets sont voisins s’ils sont à une distance arithmétique 1. Un graphe de grille de dimension d finie et un sous graphe de Gd∞ induit par les noeuds : elle est entièrement décrite par l’ensemble de ses sommets. Un bloc de dimension d de taille n1 × . . . × nd est un graphe de grille de dimension d finie isomorphe au graphe de grille dont les sommets x vérifient : ∀i ∈ [1; d], 1 6 xi 6 nd Et on se pose la même question : Problème 3. Dans un bloc de dimension d, on se donne deux sommets. Existe-t-il un chemin hamiltonien dont les extrémités sont ces deux points ? On peut colorier de la même manière les blocs et on garde la même condition de coloration. Le théorème suivant répond à cette question. Théorème 2. Soit G un bloc de dimension d > 3, de taille n1 × . . . × nd , avec ∀i ∈ [1; d], ni > 1. Soit deux sommets A et B de ce bloc, alors : – il y a un chemin hamiltonien entre A et B si et seulement si les deux points vérifient la condition de coloration, – si le bloc est pair, pour toute arête pq du bloc, il existe un circuit hamiltonien contenant l’arête pq Remarque. Le deuxième résultat se déduit directement du premier en prenant A = p et B = q, mais il sera utile pour la preuve du théorème. Démonstration. On raisonne par récurrence sur la taille et la dimension du bloc. Etape 1 : Bloc de dimension 3 de taille 2 × n × m La figure 8(a) fixe les notations. On distingue les cas suivant la position des deux points. Si les deux points sont dans des coins (ils n’ont que 3 voisins) et que A1 6= B1 , ils ne sont pas dans le même plan n × m, on construit facilement un chemin (on remplit d’abord le premier plan m × n, puis le deuxième, voir la figure 8(b). C’est possible car les grâce aux couleurs : on change de couleur quand on change de plan) Si A1 = B1 , on coupe un plan pair dans lequel il y a A mais pas B et on “déplace”A dans le bloc restant, pour utiliser le cas précédent. Sinon, par exemple, A n’est pas dans un coin, on “essaye”de le mettre dans un coin. A2 6= 1 et A2 6= m ou A3 6= 1 et A3 6= n. Supposons que A2 6= 1 et A2 6= m, alors m > 2, et on enlève un côté vide (B ne peut être dans les deux côtés selon e2 de taille 2 × n. Il y a un circuit hamiltonien dans le côté enlevé (grille paire), un chemin hamiltonien dans le bloc entre A et B (par induction) (ce bloc est bien de dimension 3, les couleurs sont bonnes ), on recolle dans un coin libre (voir la figure 8(c)). 7 Parreau Aline Stage de License (a) Notations (b) 2006 (c) Fig. 8 – Etape 1 Etape 2 : Les autres blocs pairs d pair). On coupe un bloc de dimension d − 1 suivant ej , tel que le bloc soit pair (soit n1 ×...×n nj S’il n’y a pas de point dans la tranche, par induction, il y a un chemin entre A et B dans le bloc restant (même parité, même couleur et dimension > 2). Dans un coin libre sur le côté coupé, il y a une arête pq dans le chemin perpendiculaire à la direction de ej (il y a deux arêtes, et une seule peut être dans la direction ej . On projette cette arête dans la tranche en une arête p0 q 0 , et on construit un circuit hamiltonien dans la tranche qui contient l’arête p0 q 0 . On enlève les deux arêtes pq et p0 q 0 et on rajoutte les arêtes pp0 et qq 0 . (Fig. 9(a)) S’il y a un seul sommet A dans la tranche, il y a un coin p libre dans cette tranche dont la couleur est compatible avec celle de A (la tranche est pair), on réalise un chemin entre A et p (si d=3, la tranche est de dimension 2, mais avec un coin on peut toujours faire un chemin si les couleurs sont compatibles). On projette p0 sur la première tranche du bloc restant. p0 est de la même couleur que A, il y a donc un chemin entre p0 et B, on rajoutte l’arête pp0 pour avoir le chemin entre A et B. (Fig. 9(b)) S’il y a deux points dans la tranche, on coupe de l’autre côté : il n’y a pas de points. (a) Pas de point dans la tranche (b) Un point dans la tranche Fig. 9 – En dimension d. . . Etape 3 : Les blocs impairs En dimension 2, la condition de coloration est suffisante pour les grilles impaires : on s’y ramène donc. Dans la direction e1 , on enlève des blocs de dimension d de taille 2 × n2 × . . . × nd . S’il n’y a pas de points, on enlève le bloc en recollant dans un coin libre (de la même manière qu’en figure 9(a)). S’il y a un point, on fait un chemin entre ce point et un point de la couleur minoritaire p qui est sur le côté frontalier. On projette p0 sur le bloc restant et on recolle les chemins (comme dans la figure 9(b)). S’il y a deux sommets, on coupe de l’autre côté. 8 Parreau Aline 2 Stage de License 2006 Quand le chemin devient un arbre. . . Nous étendons ici le problème d’une autre manière en rajoutant des points et en transformant les chemins en arbres. Cette extension a constitué la plus grande partie de mes recherches (environ 3 semaines du stage). Problème 4. Si maintenant on se fixe non plus deux sommets dans la grille mais k sommets, existe-t-il un arbre recouvrant la grille dont les feuilles sont exactement ces sommets ? (a) Données du problème (b) Mauvaise solution (c) Bonne solution Fig. 10 – Extension du problème La figure 10(a) montre comment le problème se présente. La figure 10(b) n’est pas une solution : on a bien un arbre recouvrant, mais un des sommets choisis n’est pas une feuille de l’arbre et au contraire, une feuille de l’arbre n’est pas un sommet choisi. La figure 10(c) est une bonne solution. 2.1 Historique des recherches J’ai d’abord chercheé et résolu le cas de trois sommets. La démonstration a été longue et laborieuse, car je voulais adopter la même méthode que pour deux sommets. Aussi, je présente seulement les grandes lignes de ma démonstration. J’ai cependant rédigé la démonstration complète. Ensuite, j’ai choisi de ne pas résoudre le cas de 4 points : une démonstration similaire aurait été encore plus lourde et je conjecturais que l’on pouvait résoudre le problème pour un nombre quelquonque de sommets. J’ai donc cherché des résultats généraux. J’ai trouvé des conditions nécessaires facilement exprimables. J’ai aussi résolu le problème dans un cas particulier, mais je n’ai pas réussi á résoudre le problème général. Parallèlement, nous avons montré que le problème pour un graphe de grille quelconque était aussi NP-complet avec plus de points. Nous pensons qu’il y a une démonstration plus astucieuse pour résoudre le problème avec 3 sommets qui utilise plus le résultat avec deux sommets et dont le principe permettrait de résoudre le problème général. Dans un soucis de clarté, la structure de ce qui suit n’est pas celle des recherches : je montre d’abord la NP-complétude du problème, ensuite les remarques et propriétés générales sur le problème. Enfin, je traite le cas des grilles rectangulaires avec 3 sommets puis k sommets, et je donne quelques idées que nous avons eues mais que nous n’avons pas eues le temps d’approfondir. 2.2 NP-complétude On montre par induction le théorème : Théorème 3. Le problème est NP-complet pour un graphe de grille fini avec k > 2 sommets choisis au départ. 9 Parreau Aline Stage de License 2006 Démonstration. Les problèmes sont dans NP. On raisonne par induction sur le nombre k de sommets choisis. Le résultat pour k = 2 a été vu en première partie. Pour k > 2, on prend une instance du problème avec k − 1 sommets : un graphe de grille G0 fini et k − 1 sommets de ce graphe. On va rajouter un sommet. Soit une arête uv sur le bord du graphe de grille, on lui rajoute le motif de la figure 11(a) qui comporte un nouveau sommet X, on note ce nouveau problème G1 . (a) (b) Fig. 11 – NP-complétude Lemme 3. G1 a une solution si et seulement si G0 a une solution contenant l’arête uv Démonstration. S’il y a une solution au problème G1 , b et c (voir le dessin pour les notations) ne sont pas des sommets choisis, ils sont de degré 2 dans l’arbre, les arêtes ac et ab doivent donc être dans l’arbre, ainsi que aX, a est donc de degré 3, c’est un noeud de l’arbre. On obtient une solution au problème initial contenant l’arête uv en enlevant le motif et en rajouttant l’arête uv (on a toujours un arbre, qui comporte k − 1 feuilles, c’est donc une solution). Inversement, une solution au problème initial contenant l’arête uv donne une solution au problème G1 en remplaçant uv par l’arbre de la figure 11(b). ux = min{ax , a ∈ G} , u est de degré 1 ou 2 et uv est une arête du bord du uy = max{by , bx = ux , b ∈ G} graphe. On distingue alors les cas : Soit u est de degré 1 ou n’est pas un sommet choisi : Alors, on prend v un de ses voisins, l’arête uv est obligatoirement présente dans une solution. On rajoute le motif et par le lemme 3 les deux problèmes sont équivalents. u est de degré 2 et c’est un sommet choisi : Soient v et v 0 ses deux voisins. On copie le problème : soient G1 et G01 les problèmes où l’on rajoute respectivement le motif à l’arête uv et à l’arête uv 0 . S’il y a une solution à G0 , u est de degré 1 dans l’arbre solution, son voisin est v ou v 0 , et l’arbre contient l’arête uv ou l’arête uv 0 . Il y a donc une solution contenant l’arête uv ou une solution contenant l’arête uv 0 . Donc, d’après le lemme 3, G1 ou G01 a une solution. Réciproquement, si G1 ou G01 a une solution, G0 a une solution. On teste donc G1 , si G1 n’a pas de solution, on teste G01 . La réduction est bien polynomiale. 2.3 Conditions Nécessaires Les conditions suivantes sont valables pour des graphes de grilles et un nombre de sommets choisis quelconques. 10 Parreau Aline Stage de License 2006 Coloration On généralise les conditions de coloration : Definition 3. Notons la différence entre le nombre de cases de couleur majoritaire et les autres. Un problème est compatible au niveau des couleurs s’il vérifie la condition suivante. : – si > 0, il doit y avoir au moins + 1 cases de la couleur majoritaire parmi les cases choisies + 1 cases noires parmi les cases choisies ; – si = 0, il doit y avoir une case de chaque couleur parmi les cases choisies. Lemme 4. Si un problème a une solution, il est compatible au niveau des couleurs. Démonstration. On raisonne par induction sur le nombre k de cases choisies et la taille du graphe de grille : k = 2, graphe de grille de taille quelconque. On considère une solution au problème. Si les deux cases choisies sont de couleur différente, le chemin hamiltonien qui les relie, donc le graphe de grille, comporte autant de cases noires que de cases blanches, = 0 et il y a + 1 = 1 case noire choisie et 1 case blanche choisie. Si les deux cases sont de même couleur, par exemple noire, le chemin comporte une case noire de plus, = 1 et il y a bien + 1 = 2 cases noires choisies. Le problème est donc compatible au niveau des couleurs. On suppose le résultat vrai pour k − 1 > 2 sommets choisis sur un graphe de grille avec N 0 6 N sommets. Soit un graphe de grille G0 comportant N sommets et k sommets dans ce graphe. On suppose qu’il y a > 0 sommets noirs de plus dans le graphe de grille (quitte à échanger les couleurs). Supposons que le problème ait une solution pour notre graphe de grille et soit un arbre T recouvrant le graphe avec comme feuilles exactement les k sommets. On choisit une feuille x de l’arbre et on note u le dernier ancêtre de x de degré 2. S’il n’y a que des feuilles blanches, x est blanc, en enlevant le chemin x − u de l’arbre, on ne déconnecte pas l’arbre et il y a 0 > 0 cases noires de plus dans le nouveau graphe (le chemin x − u ne peut comporter une case noire de plus que de cases blanches). Par induction, il y a donc une feuille noire : on obtient une contradiction. On peut donc prendre x noir. Dans le pire des cas, u est noir, il y a une case noire de plus que de cases blanches dans le chemin xu. Si = 0, il y a dans le graphe de grille privée du chemin xu, une case blanche de plus. Ce nouveau problème a une solution (l’arbre privé du chemin xu), donc par induction, il y a au moins un sommet choisi blanc. Il y avait donc au moins un sommet choisi blanc et un sommet choisi noir au départ. Sinon, il y a dans le graphe privé de xu, − 1 > 0 cases noires de plus que de cases blanches, donc, par induction, cases noires choisies en plus dans ce graphe. Il y avait donc dans le graphe initial au moins + 1 cases noires choisies. Ce problème est donc compatible au niveau des couleurs. Connexité et Liberté Definition 4. Le problème est dit connexe si quand on enlève k 0 sommets parmi les k sommets choisis, le graphe est encore connexe. Le problème est compatible au niveau des libertés si la condition suivante est vérifiée : si on enlève k 0 sommets parmi les k sommets choisis, il y a au plus k 0 sommets parmi les cases non choisies qui sont de degré 1. Fig. 12 – Exemple de problème compatible au niveau des couleurs mais pas des libertés 11 Parreau Aline Stage de License 2006 Lemme 5. Si le problème a une solution, il est connexe et compatible au niveau des libertés. Démonstration. Soit un problème avec k sommets ayant une solution. On prend un arbre recouvrant solution, en enlevant k 0 de ses feuilles, l’arbre est encore connexe, donc le graphe aussi. Il y a au plus k sommets de degré 1 : les feuilles du nouvel arbre. Parmi elles, il y a au plus k 0 sommets qui ne sont pas des sommets choisis au d’epart. 2.4 2.4.1 Remarques générales sur les grilles rectangulaires Formalisme On se fixe des conventions et notations sur les grilles rectangulaires que l’on va étudier ensuite (A est un sommet de la grille) : – m est le nombre de colonnes, n le nombre de lignes – le coin en bas à gauche est le sommet (1,1), il est donc noir, et, si la grille est impaire, la couleur majoritaire est le noir, – L(A) (resp. C(A)) désigne l’indice de la ligne (resp. colonne) qui contient A, – G6A (reps. G<A , G>A etG>A ) désigne la grille induite par les sommets qui ont une abscisse plus petite (resp. strictement plus petite, plus grande et strictement plus grande) que celle de A, – Ci (resp. Li ) désigne la colonne (resp. la ligne) d’indice i. 2.4.2 Ce que deviennent les conditions nécessaires La condition de coloration pour les grilles rectangulaires est la suivante (la couleur dominante est le noir) : si la grille est impaire, il faut au moins 2 sommets noirs choisis, si la grille est paire, il faut un sommet de chaque couleur. (En effet, si la grille est impaire, il y a une case noire de plus, si la grille est paire, il y a autant de cases noires que de cases blanches.) Les problèmes de libertés sont en général (ce sont les seuls cas que j’ai rencontrés) du à des configurations similaires à celles de la figure 13 : sur un bord de longueur impair, un sommet sur deux est choisi en commençant par le deuxième sommet. En effet, quand on enlève tous ces sommets (ici les 3 de la première ligne) on obtient un sommet de plus de degré 1 (ici, on aura 4 sommets de degré 1). Fig. 13 – Problèmes de liberté 2.4.3 Cas interdits Quelques configurations de départ sont dites interdites. Cela signifie que le problème peut satisfaire les conditions nécessaires précédentes mais n’a pas de solution. Nous aimerions pouvoir généraliser ces cas, trouver une condition plus simple à respecter qui englobe tous les cas. Je liste ici les cas interdits que j’ai recensé, mais il y en a surement d’autres. (Je décrit les points choisis) Un problème est interdit s’il est isomorphe à l’un des cas suivants : I1 : n = 3, m > 6 pair, un blanc et que des noirs. Le sommet blanc est le plus à gauche (strictement), s’il n’est pas sur la deuxième ligne, la colonne à sa droite est vide. (Fig. 14(a)) I2 : n, m pairs, tous les blancs de la dernière colonne et de la première ligne sauf les coins, rien d’autre sur cette colonne et cette ligne. (Figure 14(b)) Ou n impair, m pair, tous les noirs de la première colonne sauf les coins, tous les noirs de la première ligne et de la dernière ligne, sauf les coins. 12 Parreau Aline Stage de License 2006 I3 : il n’y a que 3 sommets A,B et C, et n = 3, m est impair, A est blanc B et C sont noirs, C(A) = C(B) + 1 = C(C) − 1, L(B) = L(C) = 1, L(A) = 3 (Fig. 21(d)) I4 : s’il n’y a que deux sommets et que n = 3, m est pair, A est blanc, B est noir et C(A) < C(B)−1 ou L(A) = 2 et C(A) < C(B) (voir partie 1.2.2) (a) I1 (b) I2 (c) I3 Fig. 14 – Exemple de cas interdits Lemme 6. Ces problèmes n’ont pas de solutions. Démonstration. La preuve pour I4 a été vue à la partie 1.2.2 Pour les cas I1 et I3, la méthode globale est la même, on raisonne par l’absurde en supposant que le problème a une solution et on coupe l’arbre solution suivant une verticale. On étudie les cas selon les arêtes qui traversent ou non cette verticale. Traitons par exemple le cas I1 lorsque le sommet blanc (que l’on appelle A) est sur la deuxième ligne (L(A) = 2). ⇒ ⇒ (a) Arête incidente à A (b) Arêtes obligatoires pour remplir la partie gauche (c) G<A impossible par lemme 4 Fig. 15 – Preuve de I1, cas 1. ⇒ (b) G6A impossible par lemme 4 (a) Une arête traverse δ Fig. 16 – Preuve de I1, cas 2. On coupe apres la case A selon la droite δ (voir Fig. 15). Il ne peut y avoir une arête incidente à A qui traverse δ (preuve en figure 15). Il ne peut y avoir une seule arête qui traverse δ (preuve en figure 16). Il y a donc obligatoirement les 2 arêtes non incidentes à A qui traversent δ (Fig. 17). Dans G>A , il y a alors deux arbres avec de chaque côté une feuille blanche et le reste des 13 Parreau Aline Stage de License 2006 Fig. 17 – Preuve de I1, cas 3 feuilles noires. Dans un tel arbre, il ne peut y avoir une case blanche de plus (voir les conditions de coloration), donc G>A ne peut avoir une case blanche en plus, c’est impossible. Il n’y a donc pas de solution. Pour le cas I2, la preuve est illustrée en figure 18. On “force”les arêtes de l’arbre qui sont obligatoire en commençant par les coins et on obtient un cycle. ⇒ ⇒ (a) (b) (c) Cycle Fig. 18 – Preuve de I2 La définition suivante permet de regrouper tous les problèmes qui n’ont pas de solutions : Definition 5. Un problème est acceptable s’il est compatible au niveau des couleurs, de la connexité et des libertés et qu’il n’est pas interdit. Je fais donc la conjecture suivante : Conjecture. Un problème est résoluble si et seulement s’il est acceptable 2.4.4 Elements de réduction Je veux montrer qu’un problème acceptable est résoluble en raisonnant par induction, je pars donc de problèmes acceptables que j’essaye de réduire en des problèmes acceptables plus petits. Voici les deux manieres de réduire la taille d’un problème que j’utilise principalement. Je note S la grille formée par les colonnes 1 et 2, S 0 la grille formée par les colonnes m − 1 et m. Diminuer : Soit G1 = G0 \S. Il ne doit pas y avoir de points dans S. Alors, si on sait résoudre G1 , on sait résoudre G0 . En effet : soit T une solution pour la grille G1 . G0 est acceptable donc connexe, il y a donc une case libre sur la colonne 3 de G0 , cette case est de degré 2 dans T et 3 dans G1 . Il y a donc une arête de l’arbre qui relie deux cases adjacentes p et q de la colonne 3. Soit p0 et q 0 les voisins de gauche de p et q. Il y a un chemin hamiltonien entre p0 et q 0 dans S (d’aprés les résultats pour deux sommets). On obtient un arbre pour G0 avec la construction illustrée dans la figure 19 (illustrée ici pour 3 sommets). Remarque. On peut de la même manière diminuer en enlevant un bloc pair à gauche de plus de deux colonnes 14 Parreau Aline Stage de License (a) 2006 (b) Fig. 19 – Diminution Séparer : On essaye de couper le graphe en deux parties disjointes acceptables, quitte à rajouter des sommets : on choisit une arête pq dans la grille et on coupe perpendiculairement à cette arête : G0 = G1 ∪ G2 (p ∈ G1 ), avec G1 et G2 non vide. Il faut que G1 et G2 soient acceptables dans cet état (en contenant deux sommets choisis au départ dans les bonnes conditions données dans la première partie) ou en rajoutant le sommet p (pour G1 ) et \ ou le sommet q (pour G2 ) (on a alors soit 3 sommets, soit 2 sommets). Alors G0 est acceptable. En effet, si on a une solution pour chacun de nos deux nouveaux problèmes, on relie les deux arbres avec l’arête pq et on obtient un bon arbre pour G0 . Un exemple est donné en figure 20 pour 3 sommets, il faut rajouter le sommet p pour résoudre G1 mais pas besoin de rajouter le sommet q pour résoudre G2 . (a) (b) (c) Fig. 20 – Séparation Dans [1], on introduit la définition des cas premiers : ce sont les cas que l’on ne peut ni diminuer, ni séparer : ce sont en général des petits cas que l’on résout à la main. 2.5 3 sommets La plus grande partie de mes recherches a été consacrée au cas de trois sommets. J’ai réussi à démontrer la conjecture pour 3 sommets : Théorème 4. Un problème à trois sommets est acceptable si et seulement s’il est résoluble La démonstration complète est longue, je donne juste les grandes lignes ici. 2.5.1 Conditions nécessaires et cas interdits Les conditions de couleur sont les suivantes : si la grille est impaire (couleur noire majoritaire), il y a au moins deux sommets noirs choisis, si la grille est paire, il y a un sommet blanc et un sommet noir. Les cas interdits I1 et I2 se résument à : I1 : n = 3, m est pair, m > 6, A est blanc B et C sont noirs, C(A) < min(C(B), C(C)) et L(A) = 2 (Fig. 21(a)) ou C(A) 6 min(C(B), C(C)) (Fig. 21(b)) 15 Parreau Aline Stage de License 2006 I2 : n = m = 4, A est noir B et C sont blancs, B = (2, 1), C = (4, 3) et C(A) < 4, L(A) > 1 (Fig. 21(c)) Il ne faut pas oublier le cas I3. (a) I1 (b) I1 (c) I2 (d) I3 Fig. 21 – Cas interdits à trois sommets 2.5.2 Condition suffisante Pour démontrer le résultat, je traite les petits cas (deux lignes et 3×3) séparément. Les quelques cas 3 × 3 sont illustrés en figure 22. (a) (b) (c) (d) (e) Fig. 22 – Grilles 3 × 3 Pour deux lignes : soit A le sommet le plus à gauche. Je sépare en G6A , G>A et je prends p sur la même colonne que A et q si nécessaire de l’autre côté. J’essaye ensuite de réduire les “gros cas”(tous les autres cas). J’étudie les cas suivant le nombre de points qu’il y a dans les deux premières colonnes que je nomme S. S’il n’y a pas de point dans ces colonnes, j’essaye de diminuer. Je liste alors les problèmes que je peux rencontrer (les cas où la grille restante n’est pas acceptable). Je ne peux pas diminuer dans les cas suivants : D1 : G\S n’est pas connexe D2 : G\S a un problème de liberté D3 : G\S est un cas interdit S’il y a un point dans S, j’essaye de séparer. Je ne peux séparer dans les cas suivants : S1 : Les couleurs ne sont pas compatibles S2 : On ne peut pas choisir d’arête pq S3 : G\S n’est pas connexe S4 : G\S a un problème de liberté S5 : G\S est un cas interdit Pour chaque possibilité, je tire des informations sur la position des sommets choisis. Ensuite, j’essaye de découper selon les deux dernières colonnes. Si j’ai encore un problème, je règle le cas en découpant autrement. (On se retrouve généralement dans des petits cas) 2.6 k sommets ? La méthode utilisée dans [1] (en découpant des bandes de largeur 2) dont je me suis inspirée pour montrer le résultat pour 3 sommets amène une étude de cas déjà trés lourde pour 3 sommets. Elle ne semble donc pas adéquate pour traiter le cas de 4 sommets. De plus, elle ne permet pas d’établir de résultat général pour k sommets. En effet, on peut créer des situations de taille aussi 16 Parreau Aline Stage de License 2006 Fig. 23 – Exemple de grille non séparable en deux grilles rectangulaires acceptables grande que l’on veut où l’on ne peut pas couper le problème en deux de cette manière : une partie a toujours un problème de connexité alors que le problème a une solution (voir figure 23). Nous pouvons cependant l’utiliser pour certains cas dont celui qui suit : On utilise la distance infinie sur une grille : d∞ (a, b) = max(|C(a) − C(b)|, |L(a) − L(b)|) On montre le résultat pour des problèmes vérifiant : – il y au plus un point blanc choisi – la distance entre deux points noirs est supérieure ou égale à 3 On peut alors remarquer qu’il ne peut y avoir des problèmes de connexité que si n = 2 et qu’un blanc et un noir sont dans la même colonne. Il ne peut y avoir des problèmes de libertés que pour n = 3. Le cas interdit I2 ne peut pas se produire. Il y a des problèmes de couleur si la grille est impaire et qu’il n’y a qu’un seul noir (il faut alors rajouter un noir avec les bonnes conditions), ou pas de noir (il faut couper autrement). Sinon, on doit rajouter un blanc (on peut le mettre ou on veut) ou un noir dans une grille ou il n’y a qu’un blanc (on peut aussi le mettre où on veut). A partir de ces remarques, on essaye de découper en suivant le même schéma que précedement. Les découpages sont très simples, il y a des difficultés principalement pour les bandes de largeur 3. 2.7 Des idées A la fin du stage, nous avons eu d’autres idées que nous n’avons pas eu le temps de mettre en place. Nous avons pensé à élargir un peu le problème en ne cherchant pas un arbre mais une forêt, en donnant les couleurs feuilles de chaque arbre. Cela permettrait des découpes plus simples tout en donnant le résultat pour les arbres. Nous voulions aussi utiliser plus le résultat pour deux sommets pour démontrer le résultat pour trois sommets, pour pouvoir faire une récurrence ensuite. La principale idée que l’on a eu était de relier deux des points et decouper le chemin au niveau du troisième point et de recoller pour avoir un arbre. (voir figure 24) Tout le problème est dans le recollement : cela nécessite de connaı̂tre la forme du chemin, et dans certain cas, il est impossible de recoller. Nous avons aussi pensé à découper d’une autre manière : en “découpant” des zones autour de chaque point, on fait des chemins dans chaque zone et on recolle les chemins ensuite. Mais comment définir de la bonne manière les zones, et comment raccrocher les chemins ensuite ? Les quelques essais que j’ai effectué avaient toujours beaucoup de contre exemple. 2.8 Conclusion sur ce problème Les recherches sur ce sujet sont loin d’être finies. Il reste bien sûr à démontrer notre conjecture, peut être avec une des idées précédentes. Il serait bon aussi de trouver une preuve plus efficace pour trois sommets. Mais on peut aussi penser à d’autres extensions du problème : étudier les grilles avec des trous, compter le nombre de chemins ou d’arbre (étude commencée dans [2]) , trouver le chemin avec le moins de “tournants” possible. . . 17 Parreau Aline Stage de License (a) (b) On relie B et C 2006 (c) On déplace une arête issue de A pour avoir un arbre Fig. 24 – Une idée Les résultats obtenus pourraient se révéler utiles dans l’étude de d’autres jeux comme le Clobber, un jeu étudié par des personnes de l’équipe (voir par exemple le mémoire de DEA de Laurent Beaudou [3]) 3 Maths à modeler Une autre partie du stage (une grosse semaine) a été consacrée à la découverte de l’équipe de recherche un peu particulière qu’est MAM. J’ai essayé d’apporter ma contribution à leurs travaux. 3.1 Présentation de l’équipe J’ai été accueillie au sein de l’équipe de recherche en technologie éducative (ÉRTé) Maths à modeler (MAM) dont le noyau est l’équipe de recherche Combinatoire Na`‘ive et Apprentissage des mathématiques (CNAM) du laboratoire Leibniz de Grenoble. Le responsable de mon stage, Sylvain Gravier est le porteur du projet. Cette équipe est composée de chercheurs en Mathématiques Discrètes et de chercheurs en Didactique des Mathématiques qui poursuivent des recherches spécifiques dans leur domaine. Les chercheurs en mathématiques se penchent sur des problèmes de mathématiques discrètes dont l’énoncé se comprend facilement (pavages, coloration, chemin. . . ). Ces chercheurs travaillent ensemble pour mettre les élèves et le “grand public” en situation de recherche, qu’ils se posent des questions, qu’ils émettent des hypothèses, qu’ils prouvent leurs résultats, les transmettent, qu’ils réfutent les thèses des autres participants,. . . Bref, de les initier au monde de la recherche et de leur redonner goût aux mathématiques Pour répondre à ces objectifs, MAM agit de différentes manières : – animation d’ateliers dans des classes à partir de supports matériels – partication à des manifestations scientifiques – formation de professeurs – création de CD-ROMs et d’un site internet La Valise (http ://www-leibniz.imag.fr/LAVALISE/) où certaines situations sont reprises – recherche sur des problèmes de mathématiques discrètes et sur la mise en place de situations recherches 3.2 La découverte de MAM J’ai eu la possibilité de suivre plusieurs activités de MAM. D’abord, j’ai aidé à tenir le stand de MAM à la Kermesse des sciences, évènement organisé par les Petits Débrouillards. Quelques situations étaient proposées. Notre rôle était d’expliquer les situations et de relancer les recherches. J’ai pu aussi assister à une formation de 3h à l’IUFM de Grenoble. Les futurs maı̂tres étaient placés dans la position des élèves : en situation de recherche. L’équipe MAM a ensuite discuté avec eux sur la possibilité de faire des ateliers MAM dans une classe. Enfin, j’ai pu participer plus activement à un mini-atelier MAM dans une classe de primaire. Les ateliers habituels sont répartis sur un semestre ou sur une année entière. Cela permet vraiment 18 Parreau Aline Stage de License 2006 aux élèves de s’approprier le sujet, et de trouver tous seuls des résultats intéressants. À la fin de l’atelier, une retransmission est prévue sous forme de séminaire. Vu les dates du stage, je n’ai pu coanimer qu’un atelier de deux heures, ce qui m’a permis de comprendre l’esprit de MAM (voir partie 3.3.2). 3.3 Ma participation ou comment vulgariser mon sujet de recherche J’ai cherché à savoir comment diffuser mon sujet de recherche au public, de manière à ce qu’on puisse trouver des résultats intéressants, sans que cele ne soit ni trop facile (donc sans donner trop d’indications, l’idéal étant d’avoir le moins de choses à dire) ni trop diffilement (pour ne pas se décourager trop vite), et que l’on ait envie de chercher, d’où l’idée de faire cela en forme de jeu. Les questions auxquelles j’ai du repondre sont les suivantes : Quelle forme ? comment formuler le problème ? Quelles étapes ? Le sujet a été présenté de deux manières : sur internet, sous la forme d’une applet en Java, et dans un atelier MAM. La première forme nécessite des étapes précises, d’un niveau croissant de difficultés, avec des explication claires et précises. Au contraire, pour la deuxième forme, un support matériel et facilement manipulable est nécessaire. Dans les deux cas, j’ai suivi mes étapes de recherche : je ne fixe d’abord qu’une extrémité et apres les deux. 3.3.1 L’applet On peut la voir à l’adresse suivante : www-leibniz.imag.fr/LAVALISE/chemins/chemin1.htm La situation est présentée sous forme d’un jeu. Au départ, il y a une grille avec une case rouge, la règle du jeu est : En partant de la case rouge, tu dois faire un chemin qui passe une seule fois par chaque case de la grille. Tu ne peux pas aller en diagonale. Il y a plusieurs étapes (une étape par page) : Etape 1 : une extrémité, grille paire, case de départ aléatoire. Ici, le joueur arrive facilement à trouver un chemin, et ce avec toutes les cases de départ Etape 2 : une extrémité, grille impaire, première case de départ ne marchant pas, cases suivantes aléatoires. Le joueur bloque sur cette case, il essaye avec d’autres, cela ne marche pas tout le temps Etape 3 : une extrémité, grille impaire, choix de la case de départ. Le joueur choisit ici lui même sa case pour essayer de comprendre quelles cases marchent, et les cases “qui marchent” sont retenues, s’il joue assez longtemps, un damier doit apparaı̂tre donnant l’idée de la coloration Etape 4 : une extrémité, choix de la taille de la grille et du départ. le joueur peut maintenant choisir la taille de la grille pour essayer de comprendre pourquoi avec la premiere grille cela marche tout le temps mais pas avec la deuxième Etape 5 : deux extrémités, choix de la taille de la grille et des extrémités. Le problème est plus compliqué (c’est exactement le problème que je me suis posée initialement) mais on peut utiliser facilement les résultats précédents Etape 6 : complètement libre. On peut essayer ici avec plus de points, tous les paramètres sont réglables pour laisser le joueur faire ses recherches seul. J’ai rencontré ici un problème pour décrire simplement ce qu’est un arbre. Réaliser cette applet m’a pris un certain temps (une petite semaine) car je ne connaissais pas du tout java. Je tiens à remercier Guillaume Piol, un stagiaire qui a réalisé une bonne partie de La Valise et qui m’a donné tout le code de ses applets. Quelques mots rapides sur le code : il y a trois classes principales : l’application, la grille et la case. La case a plusieurs booléens attributs : libre, extrémité, case actuelle, case choisie. . . Elle gère son affichage (en fonction de son état), connait son père et son fils dans le chemin, et ses cases voisines. La grille connait le nombre de cases, les cases de départ, teste si le jeu est bloqué, gère les étapes du jeu (pour les retours en arrière). . . 19 Parreau Aline Stage de License 2006 L’application gère les coups (nouvelle partie, affichage du jeu, clique de la souris,. . . ), les paramètres du jeu (possibilité de choisir la case de départ, la taille de la grille. . . ) 3.3.2 Le jeu J’ai pu présenter la situation à l’occasion de l’atelier MAM. N’ayant pas beaucoup de temps pour fabriquer un support, j’ai utilisé un support déjà existant : c’est un plateau en bois avec des chevilles : cela forme un quadrillage. Avec une ficelle, on peut faire des chemins. L’énoncé donné ici était de passer par tous les plots avec la ficelle, sans aller en diagonale et sans croiser la ficelle. Nous avons testé ce jeu en parallèle avec un problème de pavage avec des dominos, car il présentait des similitudes dans le raisonnement. Les élèves ont réfléchi seulement une heure sur le sujet. Ils ont pu noter avec quels sommets cela marchait et remarquer un damier. Nous avons dû beaucoup les aider dans leurs démarches. Avec les plus grands, nous avons commencé à construire les chemins de manière “mécanique”, et de prouver qu’il n’y a pas de chemin possible pour des petites grilles (en “forçant” le chemin). La durée de l’atelier était trop courte pour laisser les enfants complètement seuls devant le problème, aussi j’aimerai bien tester le jeu sur un atelier plus long pour les laisser chercher seuls et pour pouvoir aller plus loin dans le problème (passer à deux sommets voire trois). Nous voudrions aussi faire une fiche pédagogique destinée aux instituteurs pour pouvoir mettre en place cette situation dans des classes. Je pense qu’un support plus manipulable à base de carrés où des traits permettrait une autre approche du problème : on pourrait faire le chemin par “bouts” et rejoindre les morceaux après, alors que le support actuel met plus l’accent sur le chemin que l’on construit en une seule fois, ce qui n’aide pas pour les démonstrations. Conclusion Ce stage m’a permis de me familiariser avec le monde de la recherche. J’ai aimé chercher sur un sujet ouvert à l’énoncé simple et partager mes idées avec d’autres personnes. J’ai découvert aussi le côté plus pénible mais pourtant bien nécessaire qui est la rédaction des résultats : comment formaliser les preuves que l’on fait “avec les mains” et écrire de manière lisible les innombrables petits cas. J’ai apprécié le côté pluridisciplinaire de mon stage : chercher tout en gardant contact avec l’extérieur et faire partager mes recherches. J’ai appris à réaliser des applets java et un peu de HTML, choses qui pourront être utile pour faire de la vulgarisation ou d’autres petits jeux. J’ai aussi vu les difficultés que l’on peut rencontrer en essayant d’expliquer ce qu’on fait, la nécessité d’employer un langage adapté et des explications claires. En conclusion, ce stage a été très enrichissant, l’accueil que j’ai reçu et le bon déroulement du stage me donnent de bonnes idées sur ce que j’aimerai faire dans quelques années. Références [1] A. Itai, C.H. Papadimitriou, and J. L. Swarcfiter. Hamilton paths in grid graphs. SIAM Journal on Computing, 11 :676–686, 1982. [2] K. Collins and L. Krompart. The number of hamiltonian paths in a rectangular grid. [3] Laurent Beaudou. Clobber et compagnie, promenons-nous dans les grilles. Mémoire de stage de recherche, M2 ROCO, 2006. 20