2012年4月1日日曜日

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

今回は3つの操作を行い、前回同様それを戻す、
ということをやっていこうと思う。
まさかのほぼ最終回。
 
最初の2操作に今度はどこの操作が加わってくるか。
 
まずすぐ隣の面。
前回は右手だから、と動かした右面、
これに今度は左手で動かす左面を加えよう。
前回左右対称の動きをする際動かしたこともあって、
すぐ思いついた。上図緑線。
 
この次に同一面に属する2つの平行する箇所を
動かす操作というのもあるだろう。
それプラスそれらに90度で絡んでくる箇所。
やはり上図参照。
 
これらは追加新要素(AB+C)だが、
新要素を加えない操作もある(ということに実は今気づいた)。
前回の2操作の内片方をもう一回加える(AAB)という方法。
 
多分これで全部網羅していると思う。
で、結論を先に言ってしまうが、
この内一番最初の方法である結果まで到達した所で
素直に解法を見るのがよいとの結論に達した。
 
ルービックキューブを揃えることが出来る人は分かると思うが、
一番最初の方法の内に、
見事に底面&下2段に変化を加えることなく
上面(同時に上段でもある)のキューブを
あれこれ動かせる方法が含まれている。
 
それを見つけたと同時に、その操作を繰り返すと6回周期で
最初の状態に戻せるということも分かった。
 
で、自分はその方法を見つけたときこれで完成だと思った。
というのも、まず一般的な話として、
ルービックキューブの配置は全部で何パターンあるのか、
という問いに、辺の位置と向き、角の位置と向きを
単純に順列して解としているのをよく見るが、
そこにはキューブをどう動かしても出てこない
不可能な配置も含まれているため、正しくない。
ルービックキューブは元に戻るような仕方でしか動かない。
翻って現在自分の手元にあるキューブだが、
これも元に戻らないということはない配置になっていなければならない。
 
そこで上の操作に話は戻るが、
6回周期で戻るのはあくまでルービックキューブ全体の持ち方を
固定した場合である。多分。
1回目の操作を行った後でこの操作を行える向きが4つ、
2回目の操作を行った後も同様、
3回目、4回目…以下同様、
ということは実はこの操作は6の5乗通り、
いや、もしかしたら上手く持ち替えてやれば
3回目や4回目で一周するかもしれないし、
持ち方によっては6回目でも一周してこないかもしれない。
もちろんどんな向きで持っても絶対に6回で一周してくるというのも
可能性としてはあるかもしれないが(そこで上で多分と書いた)
凄く希望的推測だと思う。
 
さらに、自分はこの操作を完成した状態から始めているわけだが、
実際には多少なりと置き換わった状態でのスタートになるはずで、
そうなるとこの状態に入る以前に特定の配置になっていなければ
実はこの操作の繰り返しだけでは一向に完成形に至らない
ということも考えられることである。
(そして実際1度バラバラにした後、
前回までの状態を作ってからこの操作を行ったら、
いくらやっても完成形は出てこなかった。
それでも「全部」の可能性を試せたわけではないとしても)
そうした場合に配置を置き換える方法はこれまでまだ出ていない。
 
そこで2つの道がある。
上の操作の変化に規則性を発見する。
とにかく上の操作でどうにかすれば
いつかは完成形が出るのだという可能性に賭ける。
あるいはもう一つの選択肢は、
取り合えずこれを置いて別の操作、
特に配置を変化させる方法を先に探す。
 
まあ、第3の道、ここが限界。解法を見る。
第3を選んだ。
理由は実に単純で、面倒、この一言。
えーと思われるかもしれないが、
ちょっと考えてみて欲しい。
3回操作にそれを元に戻すような操作というのが
何通りあるのかということを。
ABCで動かしたらCBAで戻す以外だから5通り。
これに最初の操作の段階が
A、B、Cとその逆の組み合わせで6x4x2通り。
計、あれ、240通り?自分がやっていた時は
こんなに多くはなかった気がするけれど、
それでも軽く2桁はあったはず。
さらに今冷静に考えてみると、戻す操作だが、
ABC全部が終わった後で戻すことにも必然性はない。
ABまでやった後でAをもどしてからCをやって…
という方法だって全くもって可能なはず。
 
で、何が本当の問題の核心なのかというと、
一個一個の操作を見ていくのは大した労ではない。
どうせ精々6回の動作を間違えないように動かすだけなのだから。
問題はその後。
これは前の2回操作の時からでもあったけれど、
操作を終えた後バラバラになったキューブを再び元に戻すこと、
これがとにかく面倒で時間の大半はここに費やされる。
キューブの状態を入力するだけでフラッシュ形式かJavaアプレットかで
元の状態に戻す仕方を教えてくれるサイトはいくつかあって、
そういうところを使って元に戻すのだが、
それでも6x9のキューブの状態を入力するのだけでも
結構時間がかかるもの。
とてもではないがやっていられない。
 
ここにさらに心理的な要因。
自分はこれまでの記事を
ルービックキューブが解けるようになった後で書いている。
だからいわゆる正解に至った道が記述の大半を埋めている。
実際には動かし方を間違える等人為的ミスから
同じ操作と気づかず同じ操作をするような数え上げのミス、
と言った種々のミスもあったし、
後者に至ってはこの一連の記事にもまだ含まれているかもしれない。
だがそれ以上に、完成に達していない以上、
そもそも全ては正しく進んでいるのか、
まずそこに疑念が常に付きまとっていた。
ルービックキューブをバラバラにする時、
段階的にバラバラになっていくことなんてまずない。
ところが自分のやりかたは徐々に徐々にと
揃えていっているように見える。
これだと固定されねばならない箇所は増える一方だから、
進めば進むほど必要な手数は増え、複雑になることが予想される。
Youtubeとかで数十秒で解く人の動画とかを見ていると、
明らかに何か違うような気がして仕方がなかった。
考え方からして間違っているかもしれないという疑念は
特に次にどこから手をつけていくかを考える際に逡巡ともなった。
 
そこで時間をかけても結果は同じだったら…と。
いや、それは最初からそうだと言えばそうなんだけれど、
それでも出来る範囲でやれるところまではやったろう。
これ以上は人間には無理、とは言わないが、
パターンを解析する人とキューブを元に戻す人で分かれて分業するか、
何十個(あるいは何百個?)かのキューブを買ってきて
戻す手間が要らない様にしてしまうか、
という方法しかないだろう。
現実的にはちょっと無理。
 
というわけで次回は後日談。

0 件のコメント:

コメントを投稿