‹›Graphen und NetzwerkeDas Springerproblem
In Version 11 kann nun die Funktion FindHamiltonianPath genutzt werden, die die Optionen zum Finden von Pfaden, Kreisen und Routen erweitert. Finden Sie eine Route für einen Springer auf einem leeren Schachbrett, auf der dieser jedes Feld genau einmal besucht.
Den kompletten Wolfram Language-Input zeigen
(* 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]