これは自宅にあるもの。
会社でこれに凝っている人がいて、20個以上(全部で一体いくつあるのか分からない)購入して、我々のチームの作業場にばらまいた。おかげで常に誰かが手元でキューブをいじっているという状況になった。
ルービックキューブは周期的にブームがあって、今は何度目かのブームが来ているそうだ。最初にこれが世に出たとき、ちょっとハマった。ふつうのパズルは少しずつはめ込んで行くものだが、ルービックキューブの場合、ある部分を揃えても、別の場所を揃えるために、揃った面を崩さなければならない。そのため、「ある2つのキューブを入れ替えるサブルーチン」なるものがいくつも存在している。ゴールに近くなるほど、「この部分を保存して、これとこれを入れ替える」の保存する部分が大きくなるので、手順は複雑になる。
まあ、昔はそれで最後まで解くのをあきらめていたのだが、ある時「I/O」という雑誌(いや、懐かしいね)に「ルービックキューブの解法」という記事が載ったのだ。手元にあったキューブの6面を揃えて感動したのはもちろんだが、この解法を覚えるために何度もキューブを回した。
でも、長い年月を経て、その解法は頭の中から消えていた。ルービックキューブの有名な解き方には2つあって、1つ(解法A)はまず1つの面を揃えるというもの。これはその後、揃えた面を下にして、中段のエッジキューブをそろえ、上面のエッジキューブ、コーナーキューブの順に揃えるというもの。もう1つの解法Bは、まず8つあるコーナーキューブをすべてそろえ、それから下の段、中段、上段のエッジを揃えるというもの。I/O誌の解法は2つ目の解法Bであった。
これをもうちょっと解説すると、コーナーキューブを揃えるには、
- 1つの面(下段)の4つのコーナーキューブを揃える。
- 上段の4つのキューブの位置を揃える。
- 上段の4つのキューブの向きを揃える。
という手順である。次にエッジを揃えるには
- 下段の面を揃える。
- 中段に入るべきキューブは上段から「下ろす」。これを繰り返すことで4つの中段のキューブを揃える。
- 上段のエッジキューブはまず向きを先に揃える。2つのキューブをひっくり返すというのを繰り返せばできる。
- 最後に上段キューブの3つをローテーションするという手法によって、位置を揃える
というものだ。
このうち覚えていたのは、コーナーキューブの1と3。エッジキューブの1だけであった。
しかし大学の頃の友人で、「ある1つのコーナーの周りにある3つのエッジキューブだけをローテーションする」というサブルーチンを開拓した奴がいた。当時はGoogleもインターネットもない時代なので、そんな情報を得る手段はない。
そこでどうするかというと、「ハードウェア解法」。ぶっちゃけ、キューブを外してバラバラにして、組み立て直すという荒技。しかし、このハードウェア解法で一度6面を揃えた後、ある手法を試して、3つのキューブを入れ替えることができることを確認する。この男はこの手法である手順を開拓したのであった。その友人に教わった手法を覚えていたために、8つのコーナーキューブが揃えば、エッジキューブを揃えられる。
そんなわけで私に取っての問題はコーナーキューブの2だけが課題になっていた。
さすがにこのご時世なので、ウェブを検索するといろいろ出てくる。しかし、ほとんどが、解法Aなのである。I/Oに載っていた解法がなかなかなかったが、こちらのページに載っていた。それでもこのページには2つの解法が両方載っており、I/O誌式のものは「その2」の方であった。
とりあえず、「コーナーキューブの2」を再びこの手に覚えさせるべく、キューブ回しを続けている。
もう1つ知ったのだが、ツクダオリジナルっていう会社は、紆余曲折があって、パルボックスという名前になっていたのだね。隔世の感がある。
ルービックキューブについては何度か日記で取り上げていますが、そのうちに20歳頃自分で導き出した解法を説明しようと考えていましたが、そのままになっています。
↓これはご存知? 最近無料になったようです。群論恐るべし。
CubeCheater
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=300162540&mt=8
投稿情報: ちゅう | 2009-06-24 02:02
>↓これはご存知? 最近無料になったようです。群論恐るべし。
やってみました。情報ありがとう。
なんでもスーパーコンピュータを駆使して26手以内で解けると証明したそうですが、このプログラムは何手?試しにやってみたら20手でしたが。
投稿情報: Jabroni | 2009-06-25 23:38
米国の大学教授が最高18か17手で解けることを証明したらしいです。
CubeCheaterのアルゴリズムはそこまでいっていないです。
だいたい20手前後ですね。人間の頭では無理ですが。
投稿情報: ちゅう | 2009-06-28 08:43