"15パズルと Mathematica (紀要)" を書いた当時に作ったソルバーは newTryN48 である。 これを使って "GAPによる15ゲームの解法" に載っている例を解いてみた。
ソルバー newTryN48 の解のアニメーション
Applied Mathematica, W.T.Shaw and J,Tigg p.258 - 266" に載っているプログラムを修正して使用している。
次の方針に従って正解を求めてた。
- タイル1 を揃えることからはじめ、次に2 を揃え更に 3 と繰り返して1行目のタイル 1, 2, 3, 4 を揃える。
- 2行目のタイル 5, 6, 7, 8 を揃える時ブランクの移動を 1行を除いて 2, 3, 4 行に制限する。
- 3行目のタイル 9, 10, 11, 12 を揃える時ブランクの移動を 3, 4 行に制限する。
- 4行目のタイル 13, 14, 15 を揃えるときブランクの移動を 3, 4 行に制限する。
ブランクの移動を制限することは移動の自由度を減らすため探索の効率を上げる効果がある。
プラス印をクリックすればステップごとの結果を見ることができる。