月刊「現代数学」数学パズルにトドメをさす?! 今月のFlash    おまけは→こちら
第44回
2014年 5月号
配置を変更せよ!(その3) 〜箱入り娘を誘い出せ〜
「箱入り娘」タイプの問題の最少手数解を探す
Adobe Flash Player を取得

目的

大駒を出口から脱出させるスライドパズル「箱入り娘」の、任意の駒配置から始める類題の最少手数解を自動検索します。一見不可能に見える駒配置からいかにして大駒を脱出させるのか、その手順を観察してみましょう。また、本編記事で取り上げた49問がプリセットされているので、自力でその問題に挑戦することもできます。

操作方法概要

最初は問題編集モードになっていますので、"Select Preset"で問題を選択するか、現在表示されている問題を編集して、初期状態と出口の位置を決めて下さい。問題が出来たら"Check & Start"をクリックすると、解を検索した後、手動解答モードとなります。最少手数解を見るには"Show Solution"をクリックして下さい。

パズルのルール

5×4の枠で囲まれた盤面に、2×2の大駒1個と、いくつかの中駒(2×1,1×2)と小駒(1×1)が配置されている状態から、駒をスライドさせる操作だけで、下辺の出口から大駒を脱出させます。ただし、出口を通れるのは大駒だけです。

出口は、「箱入り娘」(パズルNo.1)では下辺中央、「Dad's Puzzler」(パズルNo.39)では下辺左半分となっています。

駒の初期配置は、今回のFlashでは空きマスがちょうど2マス分のものに限定します。

手数の数え方は、1つの駒のみを直線的に動かす操作を1手とするものとします(本編記事の数え方2)。曲がらなければ1手で2マス分進んで構いません。

操作方法詳細

問題編集モード

本ページを開いて最初に表示されているのが問題編集モードです。(パズルNo.1が設定されています。) このモードでは、プリセット問題の読み込みと、問題の初期状態の編集ができます。

"Select Preset"をクリックすると、49問のプリセット問題の一覧が表示されるので、挑戦したい問題をクリックして下さい。(その問題の初期状態が表示されるようになります。)

問題の初期配置を編集する際は、「盤面上の駒をクリックして盤面から除外する」「右側の駒一覧のアイコンを盤面にドラッグしてその駒を配置する」という操作を繰り返し行って下さい。既に配置されている駒をドラッグすることはできません。また、編集途中であっても盤面に駒を重ねて配置することはできません。

"Remove All"をクリックすると、盤面に配置されている駒を全て取り除くことができます。

出口の位置は、右側下方の2つの"Puzzle Type"から選んでクリックして下さい。

問題の設定が完了したら、"Check & Start"をクリックすると、解検索モードに進みます。ただし、大駒は1個配置されていて、空きマスがちょうど2マスという条件を満たしていないと、"Check & Start"ボタンはクリックできません。

解検索モード

初期状態からゴールまでの最短手順を検索します。問題によってもしくは環境によっては、十秒以上かかることもあります。検索中には、現在何手目までを検索したか、および、何通りの盤面の状態を検索の対象としたかを表示します。

初期状態から到達可能な全ての状態のうちにゴールが見つからない場合は、"No Solution Available"と表示して終了します。"New Puzzle"をクリックして問題編集モードに戻って下さい。

解が見つかれば、自動的に手動パズルモードに移行します。その際、検索して見つかった解の手数が最少手数として表示されます。また、解表示モードに移行すると、見つかった最少手数解を見ることができます。

手動パズルモード

駒を操作して実際にパズルを解いてみることができます。操作は駒を移動可能な方向にドラッグするだけです。画面右下に、現在の手数と、可能な最少手数が表示されます。

"Restart"をクリックすると、初期状態から再開できます。

"New Puzzle"をクリックすると、問題編集モードに戻ります。

"Show Solution"をクリックすると、解表示モードに移ります。

解表示モード

画面右の操作ボタンを使って、解をアニメーション表示させます。操作ボタンは、上から順に「高速再生」、「再生」、「コマ送り」(再生中には「一時停止」)、「停止」となっています。

高速再生ボタンは、停止時にクリックすると、標準より速い速度(中速)での連続再生が始まります。連続再生中にクリックすると、再生速度が低速→中速→高速→低速→…の順に変化します。

再生ボタンは、停止時にクリックすると、標準速度(低速)での連続再生が始まります。高速連続再生中にクリックすると、再生速度が低速に変化します。

コマ送りボタンをクリックすると、手順を1ステップだけ再生して一時停止します。

一時停止ボタンをクリックすると、連続再生をやめて停止します。コマ送りや一時停止ボタンで停止した状態から各再生ボタンを使うと、停止時点の続きの動作を再生することになります。

停止ボタンをクリックすると、盤面を初期状態に戻して停止します。

一時停止中に"Play the Rest"をクリックすると、その盤面の状態のまま手動パズルモードに移行できます。また、再生終了後には"Restart"により初期状態に戻って手動パズルモードに移行します。

"New Puzzle"をクリックすると、問題編集モードに戻ります。

最少手数解について

最少手数解としては、実際には途中経過に細かい違いのある複数の手順が存在する場合がありますが、ここでは1つのみを表示しています。プリセット問題の最少手順解についてはこちらにテキストファイルでも公開しています。