2012年4月2日月曜日

VS ルービックキューブ その9

我らがグーグル先生支援の数学者研究チームが、
ルービックキューブはどんな状態からでも20手以内で
完成させることが出来ると明らかにしたのは一昨年だったろうか。
複雑さに限界があり、それがどこまでなのかがこれによって分かった。
 
ではその複雑な状態から20手以内でキューブを元に戻せる
人間がいるかというと、まあ、まずいないだろう。
その研究の論文か報告か記事か何かを読んだわけではないので
内容の想像だが、おそらくこんな解き方をしたのでは、と思う。
まず可能なキューブの状態を全て書き出す。
前にもちょろっと書いたことだが、
単純にキューブの種類、位置や向きを掛け算するだけだと
操作によってでは決して出てこない配置も含まれてしまう。
どれが可能でどれが不可能な配置なのか、
判定の仕方は分からないが、あるにはあるのだと思う。
というのも、配置を入力するだけで解法を教えてくれるプログラムを
置いているサイトで入力を間違えたりすると
解けないというエラー表示を出力してくるからだ。
それもかなりレスポンスは早く、はっきり言って、
解法があってそれを提示してくれる場合の時間よりも早い。
ということは何か機械的にパッと判定できるものなのかも、と思う。
少なくともコンピューターレベルでは、の話だが。
 
で、全パターン抽出したらそれぞれ解いていく、のではないだろう。
おそらくは完成状態から始めて、
その配置、次にそこから1回の操作で出てくる配置を抽出、
全配置の中からそれに適合するのを消していく、
こうして次に2回の操作で生じる状態を消して、…とやっていって
20回の操作で生じる状態まで消していったら
最初に抽出した状態全てが消えた、ということだろうと思う。
 
だからじゃあ一丁全部を20手以内で解いてやろうとやって
人間が解けるものではないということ。
おそらくは機械でも任意の状態を与えて
それを最短で解くことは出来ないと思う。
そのアルゴリズムはまだ発見されていない…はず。
 
自分が使っていた解法を出力してくれるサイトでも
どうも人間の解き方を元に解法を導いているようだ。
中には前回で書いたステップが段階的に見て取れるように
解法を出力してくれるサイトもあった。
 
ちなみに自分が現在できる解法及び特にその覚え方が
ほとんど全てを負っていると言って過言ではないのは
ニコニコ動画に上がっていた「初心者向け」解法解説動画。
これは凄く分かりやすかった。
勝手にリンク張ったりしていいか分からないから、
そういうのがあったとだけ書いておく。
検索すれば多分出てくると思うので。
Youtubeにはどこかの大学の教授か講師かみたいな人が
「数学的に」解法を解説している動画もあった。
が、これは操作の仕方を「関数」と呼んで記号化した
あるいは記号に当てはめただけなので、
プログラム化には役立つのかもしれないが、
解くという実用面からするとむしろ覚えづらいかもしれない。
数学者だと覚えやすいのかもしれないが。
いずれにせよ背後にある原理や考え方を
明らかにするという趣旨ではない模様。
まあ、別に他の解法を載せたサイトであっても、
確かにその通りにすれば解けるが、
どうしてそうすれば解けるのかは載っていない。
というか、出来るようになると分かることだが、
そんなのは多分誰も分かっていないのだ。
 
そして解法以外の仕方で動かしてしまうと
カオスの方向に行ってしまうだけなので
解法に載っている仕方に素直に従うのが良いのだとは
頭で分かろうとしても、丸暗記という点が釈然としない、
なぜそうなるのかが分からないから。
そんな印象があったからこそ、
今回このブログで自分は、どうしてそんな解法に至るのか、
その過程は決して偶然ではないのだということを示したかったのだ。
背後にある原理(多分そういうものはないと思うけれど)を
示すとかいう大掛かりなことではなく、
あくまで解法に至るための過程の考え方として。
その結果時間さえ許せば解法を自分で見つけることは
可能だということも分かった。
ただしその時間はかなり膨大なものになるし、
解法は既に見つかってもいることを考えると、
自分がどこで納得できるか、あるいは満足するか、
それとの天秤となるだろうと。
 
そして次回は最後に、参考2として、
ルービックキューブ型思考の進化について。
何でそうなるのかは分からない、と書いたが、
これが部分的に否定されることになる。

0 件のコメント:

コメントを投稿