2010年3月8日月曜日

ルービックキューブ ( その3 )

今は解説本も出ているし、検索すればいろいろ出てくるはずなので、いまさらどうという話題ではないのだけれど。

家にも一つキューブがあって、大抵は一面だけが揃った状態で放置されているのが常なのだけれど、たまには正攻法で元に戻してみようか、ということでしばし戯れる。

正攻法で、というのは、ばらばらに分解して元に戻すというのはナシということ。

解き方自体は、昔流行った当時に一つ考案していたので、それを思いだすだけのことなのだが、細かいところをちょっと忘れてしまっていたので、じっくり思い出してみたということ。

最初のステップは、偶置換になるようにすること。
まあ一手動かせば奇置換は偶置換になるので、問題は現在の状態が偶なのか奇なのかを判定することに帰着するわけだ。
一番手っ取り早い判定法は、8つの頂点の位置(向きは問わない)を揃えること。
8つの頂点のうち、一面分にあたる4つの頂点を揃える(向きは問わない)のは造作もないことなので、この4つを揃えた時に、残りの4つの頂点がどうなっているかをチェックする。
一つだけ合っていて、残りの三つが巡回的にずれていれば偶置換なのでそれで良し。二つ合っていて、残りの二つが互換になっているようなら、これは奇置換なので、90度ずらして3つが巡回的にずれているようにする。

ここから後は、すべて偶置換の操作しか行わないので、最後まで偶置換の状態が保たれる。
具体的には、A B A'B' ( A' は Aの逆の操作) や、X'(偶置換)X の形の操作しか行わない。
( 数学的には、A B A'B' は A と B の交換子 [A,B]と呼ばれるもの。X'YX は Y の共役だ。)

8つの頂点を合わせるというのは、別の言い方をすれば、2×2×2のキューブの解き方と同じなので、これは試行錯誤していれば誰でも簡単にできるようになる。ここでは位置だけを問題にして向きは問わないのだから、ずっとやさしい。( まあ、すっかり忘れてしまっていたけれど。)

次のステップは、12の辺の位置を揃える(向きは問わない)こと。これは、上の交換子の記号を使うなら、[A,B][A,B]で、頂点の位置を変えずに、辺のうちの3つだけを巡回的に動かせるので、これと、その共役の操作を何度かやればできる。

その次は、12の辺の向きを揃える。これは、[A,B][A,B][C,B][C,B]で、頂点の位置や辺の位置を変えずに、二つの辺の向きだけを変えられるので、これを何度かやればできる。

最後に、8つの頂点の向きを揃える。これは、[A,B][A,B][A,B][C,B][C,B][C,B]で頂点の位置を変えず、辺の位置と向きを変えずに二つの頂点の向きだけを変えることができるので、これとその共役を何度か繰り返せば完成になる。

一面ずつ揃えるという一般的な解き方とはちょっと趣が違うので、途中の段階までは、揃っていっているという実感が(見ている人には特に)あまりないのが難点といえば難点。

( 結局、基本交換子 [A,B] が、頂点4個を二つずつ位置を交換して、辺3つを巡回させることから、それを組み合わせて頂点を動かさない変換や、辺の位置を動かさない変換を合成することに帰着させるという仕組み。)

とりあえず、親の威厳は何とか保ったかな。

---
[追記] 辺の向きを揃えるところは、[A,B][A,B][C,B][C,B] でなく、[A,B]X[C,B]X' でできたはず。これだと、前者が16手なのに対して 10手ですむ。少し余分な記憶力が必要になるけれど。

0 件のコメント:

コメントを投稿