Problème du Cavalier

Ce problème est dérivé du jeu d'échec. Un cavalier à partir d'une case quelconque, peut parcourir l'ensemble des cases de l'échiquier sans jamais repasser par la même case et cela  quelle que soit la case de départ. Le composant ActiveX suivant démontre ce théorème en présentant une solution, pour chaque case de départ possible du cavalier.

Pour lancer ce programme, il suffit de cliquer sur une des cases (la case de départ) puis d'appuyer sur le bouton START. Le programme élabore la solution à partir d'un algorithme simple écrit en VB.

Deux modes sont proposés à travers la CheckBox "déplacement temps réel". Si cette case est cochée, l'affichage dynamique de l'élaboration de la solution est présentée. Le temps de recherche est de ce fait beaucoup plus long (de quelques secondes à quelques minutes). A la fin de la recherche, la solution est présentée sur l'échiquier.

Dans le cas contraire, le programme n'affiche rien pendant la recherche. Une fois la solution trouvée, le programme affiche le résultat, en marquant une pause de 0,6 sec entre chaque déplacement à partir de la case de départ choisie. Un dégradé de couleur permet de mieux percevoir le chemin emprunté pour parvenir à la solution.

Le bouton de commande "progression" permet, dans le cas d'une recherche avec affichage temps réel, de présenter avec le dégradé de couleur et la pause de 0,6 sec entre chaque coup, la dynamique de la solution.

Le nombre inscrit dans chacune des cases représente l'indice de déplacement. Le chemin du cavalier débute à l'indice 1 pour la case choisie et se termine pour la dernière case à l'indice 64.

 

Avec cet algorithme, les cases de départ D6 ou B4 sont particulières. Il y en a surement d'autres. De ces départs, la solution trouvée est un chemin continu, c'est à dire un chemin dont la dernière case (64) permet d'atteindre, par un saut de cavalier la case de départ. Ce chemin peut servir de solution quelle que soit la case de départ choisie.

[Compteur d'accès]