Wolfram Language

Graphes et réseaux

Le problème du chevalier

La version 11 ajoute la fonction FindHamiltonianPath, élargissant des capacités pour trouver des chemins, des cycles et des tours. Trouvez le problème d'un chevalier dans lequel un chevalier se déplace à chaque espace sur un échiquier en seulement onze heures.

Montrer l'entrée complète de Wolfram Language
In[1]:=
Click for copyable input
(* draw a checker board *) checkerboard = ArrayPlot[Table[Mod[j + i, 2], {i, 8}, {j, 8}], ColorRules -> {1 -> RGBColor[0, .55, .77], 0 -> RGBColor[.67, .9, .99]}, Frame -> False, DataRange -> {{1, 8}, {1, 8}}]; (* compute knight's tour *) g = KnightTourGraph[8, 8]; tour = FindHamiltonianPath[g]; (* show the tour *) Manipulate[ Show[{checkerboard, HighlightGraph[g, PathGraph[tour[[;; i]]], PlotTheme -> "Marketing", GraphHighlightStyle -> "DehighlightHide", EdgeStyle -> Thickness[.01]]}], {i, 1, Length[tour], 1}, SaveDefinitions -> True]
Out[1]=
Jouer l'animation
Arrêter l'annimation

Exemples connexes

de en es ja ko pt-br ru zh