기사의 여행
버전 11은 FindHamiltonianPath를 사용하여 경로, 폐로, 과정을 요구하는 기능의 확장을 가져왔습니다. 기사를 이동시켜, 체스판의 모든 칸을 1회씩 이동시키는 나이트 투어를 구합니다.
전체 Wolfram 언어 입력 표시하기
Out[1]=
버전 11은 FindHamiltonianPath를 사용하여 경로, 폐로, 과정을 요구하는 기능의 확장을 가져왔습니다. 기사를 이동시켜, 체스판의 모든 칸을 1회씩 이동시키는 나이트 투어를 구합니다.
(* 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]