パズル問題解法のアルゴリズム講座
ところが、そう簡単ではないのです。先ほどの例は全パターンが8100通り程度だったからよかったのです。どんなスーパーコンピュータでも実行速度には限界があります。
ライツアウトというゲームを当ページで紹介していますが、これは5×5=25個のボタンを押すか押さないかの2通りからの選択なので「2の25乗=33,554,432通り」のパターンを調べればよいことになりますが、果たして瞬時に答えを返すでしょうか。
問題画面を■で設定| 解答画面を■で表示
|
| | |
ご注意ください。解答が出るまで処理があなたのパソコンに常駐します。
正式版なら瞬時に答えを返すのに、この版では約30秒程(Pentium200MHzの場合)たたないと答えを返しません。いったい何が違うのでしょうか。
補足:Netscape3以前の場合は約1分(Pentium200MHz)かかります。
正式版は、33,554,432通りも調べていないのです。調べる必要の無いパターンは作らないように工夫しているのです。
その工夫こそが、コンピュータを「魔物」らしく見せる人の英知なのです。
30秒もの処理を瞬時に済ましてしまうアイデアを考えることが、コンピュータプログラミングパズルの醍醐味なのです。パズルのプログラミングはパズルを解く以上にパズルの楽しさを味わえる最高のパズルだと私は考えているのです。
何んの工夫もないプログラムだと、1日中処理を実行させても、1ヶ月処理を実行させても答えが返ってこないということは、ザラにあることなのです。