8パズルを学んで遊ぼう

8パズルのダウンロード(2003.12.22)
VisualBasic Ver.6で作成しました。

8パズルとは

  3x3の盤の上に数字の1から8の駒がばらばらに配置されています。1箇所は空欄です。この空いた場所をつかって,1から8までの駒をきれいにそろえるパズルです。
  たとえば,次の問題は

「5を下」「2を左」「3を上」「6を上」
の順に移動するとそろえることができます。

遊び方

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


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


 【説明】ボタンを押すとこの説明が表示されます。

評価関数とは

  現在の状態が,目標状態(1から8まできれいにそろった状態)にどれだけ近いかを評価します。
  a)異なる駒の数
    目標状態と違う位置にある駒(赤い数字)の数を数えます
  b)正しい駒の位置までの距離
    目標状態と違う位置にある駒を,正しい位置に他の駒を無視して移動する
   とき何回移動すればよいかを数えます
    目標状態と違う位置にある駒が複数ある場合は,移動回数の合計を求めます

  たとえば,

   | 23|
   |456|
   |781|

 の状態は,1の駒だけ目標状態と異なる位置にあります。

 評価関数a)では,評価値1となり,評価関数b)では,1の駒を上に2回と左に2回の計4回移動しなばならないので評価値4となります。




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