Mae向きなブログ

Mae向きな情報発信を続けていきたいと思います。

15パズル

『パズルで鍛えるアルゴリズム力』の第3章で紹介されている「15パズル」をPythonで取り組んでみました。

「反復深化A*」アルゴリズム、面白いですね。

3_1_15puzlle_solver.py

実行

% python 3_1_15puzlle_solver.py
15puzzle input:
1 2 3 4
5 6 0 8
9 10 7 11
13 14 15 12
-----
0 th move:
 1  2  3  4
 5  6  0  8
 9 10  7 11
13 14 15 12
-----
1 th move:
 1  2  3  4
 5  6  7  8
 9 10  0 11
13 14 15 12
-----
2 th move:
 1  2  3  4
 5  6  7  8
 9 10 11  0
13 14 15 12
-----
3 th move:
 1  2  3  4
 5  6  7  8
 9 10 11 12
13 14 15  0