8パズルを学んで遊ぼう
8パズルのダウンロード(2003.12.22)
VisualBasic Ver.6で作成しました。
8パズルとは
3x3の盤の上に数字の1から8の駒がばらばらに配置されています。1箇所は空欄です。この空いた場所をつかって,1から8までの駒をきれいにそろえるパズルです。
たとえば,次の問題は

の順に移動するとそろえることができます。
遊び方
【設定】ボタンを押した後,盤上のマスをクリックすると,マスの中に1から順に数字が表示されます。8まで入力すると開始ボタンが有効になります。

【開始】ボタンを押した後,盤上の数字が入ったマスをクリックすると,移動可能ならばその駒が移動します。

【説明】ボタンを押すとこの説明が表示されます。
評価関数とは
現在の状態が,目標状態(1から8まできれいにそろった状態)にどれだけ近いかを評価します。
a)異なる駒の数
目標状態と違う位置にある駒(赤い数字)の数を数えます
b)正しい駒の位置までの距離
目標状態と違う位置にある駒を,正しい位置に他の駒を無視して移動する
とき何回移動すればよいかを数えます
目標状態と違う位置にある駒が複数ある場合は,移動回数の合計を求めます
たとえば,
| 23|
|456|
|781|
の状態は,1の駒だけ目標状態と異なる位置にあります。
評価関数a)では,評価値1となり,評価関数b)では,1の駒を上に2回と左に2回の計4回移動しなばならないので評価値4となります。

香川高等専門学校(詫間キャンパス)情報工学科 宮武明義