Order 3 のルービック キューブの背後にある魔法の数学

これは翻訳記事です。英語の原文は次の場所にあります。

ルービック キューブのアルゴリズムの説明: ルービック キューブの解き方

子供の頃から私たちを魅了してきた6面体のルービックキューブですが、一部の使いこなせる人を除いて、ほとんどの人は時間がかかっても全面を完全に単一色に戻すことはできません。

それで、その秘密をきっぱり知りたいですか? ルービックキューブは来年発売50周年を迎え、その謎を難解な数学で解き明かす時が来た。立方体の内部はプラスチックでできていますが、その本当の内部は数字に他なりません。確認してみましょう。

最初のステップはルービックキューブを解くことです。いくつかの基本から始めましょう。3x3x3 ルービック キューブには 6 つの面があり、それぞれが異なる色です。各面の中心は立方体を支えるコア ブラケットに接続されているため、その場で回転する以外は動きません。したがって、同じ色は常に反対方向になります。標準的な立方体では、白は黄色の反対、赤はオレンジの反対、青は緑の反対になります。

ルービックキューブを開くと、3種類のルービックキューブで構成されていることがわかります。まず、各面の中心を接続するセンターブレースがあります。次に、1x1x1 の小さなルービック キューブがあります。コーナー キューブには 3 色の側面があり、サイド キューブには 2 つの色の側面があります。ルービック キューブには、コア、8 個のコーナー キューブ、12 個のサイド キューブがあります。

これらの数字を最も簡単に計算すると、ルービック キューブを解くために加えることができる変更の合計数は、43,252,003,274,489,856,000 という驚くべき数になります。より数学的に書くと、この数値は (8!*3^8*12!*2^12)/(3*2*2) となり、これは 4.3*10^19、つまり 4,325 億のバリエーションにほぼ相当します。

\frac{3^88!  \cdot 2^{12} 12!}{2\cdot2\cdot3}

では、この具体的な計算はどのようにして導き出されたのでしょうか?

最初の項 3^8 は、8 つのコーナー ブロックが回転するそれぞれの方法を計算します。コーナー ブロックは、3 つの異なる方法でスロットに配置できます。角の 8 個のピース​​を 3 倍するので、それらを掛けると 3^8 になります。

次に各コーナーブロックをどこに置くかです。コーナー スロットが 8 つあるため、最初のコーナー ピースには 8 つのオプションがあります。2 番目のコーナー ブロックには 7 つのオプションがあり、3 番目のコーナー ブロックには 6 つのオプションがあり、同様に最後のコーナー ブロックまで続きます。最後のコーナー ブロックは最後のコーナー スロットに配置する必要があります。計算結果は、8*7*6*5*4*3*2*1、つまり8!、つまり8つのコーナーブロックの完全配置数になります。

したがって、最初の大きなブロック (8!*3^8) は、コーナー ブロックの挿入の可能なすべての方法を計算できます。3^8 が方向です、8! 彼らの立場です。次のブロック (12!*2^12) も同じ考え方ですが、エッジとしてのみ使用されます。エッジには 2 つの方向しかないため、12 個のエッジには合計 2^12 の方向があります。位置は 12 個あり、12! になります。これは、これらの点に到達するまでに通過するパスの数、または 12 個のエッジの完全な配置の数です。

ここで、演算 (8!*3^8*12!*2^12)/(3*2*2) を実行します。これは、ルービック キューブに関してよく感じられるものの、必ずしも理解できるわけではないという事実に関係しています。天文学的な数字 (8!*3^8*12!*2^12) は、ルービック キューブを分解してランダムに組み立てた後に得られる組み合わせの総数を説明していますが、それは、ルービック キューブを分解してランダムに組み立てた後に得られる組み合わせの総数ではありません。修正して復元しました。そして、正しい組み合わせの合計数は 12 個に 1 個だけです。

ここでは、計算プロセスを説明するための思考実験を示します。

ルービック キューブを開いて、それぞれのルービック キューブを取り出し、すべてのルービック キューブをランダムなスロットに戻すとします。もちろん、コーナー ピースはコーナー スロットにのみ収まり、サイド ピースはサイド スロットにのみ収まります。ごちゃ混ぜに見える通常のルービック キューブが得られます。これまでのところ、バリエーションがいくつあるか (8!*3^8*12!*2^12) を計算しました。この乱雑な立方体を分解せずに解決することは可能でしょうか?

答えは否定的です。これは多くの初心者を陥れる罠です。練習中に、解いたルービック キューブをスクランブルしたい場合は、ルービック キューブをそのままにして手動でスクランブルする必要があります。分解してランダムに再組み立てした場合、実際に解決できる確率は 1/12 のみです。

答えはアルゴリズムにあります。なぜ1/12なのか不思議に思いませんか?それを理解するための素晴らしい視覚的な方法があります。分解され、ルービック キューブとランダムに再組み立てされたルービック キューブは、次のいずれかの方法を使用して復元される可能性が等しくなります。

展開後に 12 の異なるケースを検討しました。最初の行には通常の角があります。行 2 と行 3 には、角が回転して所定の位置に配置されています。列 1 には通常の面があり、列 2 には片面が所定の位置に反転され、列 3 には 2 つの面が交換され、最後に列 4 には片面が反転され、さらに 2 つの面が交換されます。したがって、上の写真にある 12 個のルービック キューブは、相互に変換することはできません。ただし、これら 12 のいずれかになる 13 番目のレイアウトがあります。どうして私たちがそれを知っているのか尋ねなければなりませんか?

ここには、ルービック キューブの 9 つの面でどの面を動かすことができ、どの面を動かすことができないかという関係があります。一連の動きは、ルービック キューブの愛好家によって「アルゴリズム」と呼ばれることがよくあります。最も人気のあるアルゴリズムは、いくつかのキューブだけを移動し、他のキューブはそのままにするアルゴリズムです。アルゴリズムの制限がこの問題を解決する鍵となります。

12 は 3 つの係数を乗算して得られます: 12 = 3*2*2。1 つの因子が 3 で 2 つの因子が 2 である問題を解く必要があります。

係数 3 は要約すると次のようになります。2 つの異なるコーナーをワープするアルゴリズムはありますが、他のすべてを同じにして 1 つのコーナーをワープするアルゴリズムはありません。したがって、通常のルービック キューブの角をこじ開けて、ねじれた角に置き換えると、解くことは不可能になり、図の左上の角からその下の点に移動することになります。

しかし、このプロセスを繰り返して角をもう 1 つひねっても、2 番目の係数 3 は加算されません。2 つの角が歪んだので、少なくとも 1 つが修正されるまで両方の角を歪ませるアルゴリズムを適用できます。途中でもう一方が解けた場合は幸運で、解けるルービック キューブに戻ります。一般に、コーナーは 3 つの方法のいずれかの方向に向けることができます。

最初の係数 2 も同様です。2 つの異なるエッジを反転するアルゴリズムはありますが、1 つのエッジを反転するアルゴリズムはありません。したがって、任意の数の反転されたエッジを 1 つのエッジに配置できます。エッジは反転することも反転しないこともでき、2 つの可能性があります。

最後の因数 2 には、図では辺を含めて示していますが、実際には辺と角が含まれます。2 つの角を入れ替えながら 2 つの辺を入れ替えるアルゴリズムがあります。1 組の角のみを交換できるアルゴリズムはなく、1 組の辺のみを交換できるアルゴリズムもありません。

立方体の場合は、2 つの側面をこじ開けて交換し、図から列 1 と列 3 の間、または列 2 と列 4 の間の 2 つの列をスキップします。一対のコーナーが交換された場合にも同じことが当てはまります。しかし、一対の辺と一対の角を交換すると、それを取り除くアルゴリズムがあるため、互いに打ち消し合います。

12 で割る各因数を説明したので、(8!*3^8)*(12!*2^12)/12 の意味がすべて理解できました。ルービック キューブ上にルービック キューブを配置する方法は (8!*3^8)(12!*2^12) 通りありますが、解けるルービック キューブで使用できるのはそのうちの 12 分の 1 だけです。したがって、(8!*3^8)*(12!*2^12)/12 は、ルービック キューブを壊さずにスクランブルした後に正しく復元できるルービック キューブの組み合わせの合計数です。 4,325 億の変更になります。

補足として、3 次ルービック キューブに関するいくつかの事実:

1. 3次模造はコーナーブロック8個、シャトルブロック12個、センターサイドブロック6個の合計26個のブロックで構成されており、センターブロックは軸となるため動かずカウントされません。または、ルービック キューブを 3x3x3 の行列として考え、中心点を削除すると、正確に 26 になります。

2. エッジのパリティ ルービック キューブのエッジのパリティは、その位置と対応するターゲット位置の間で通過する必要があるステップ数 (つまり、逆シーケンス番号) のパリティを指します。ルービック キューブのどの状態でも、その辺の逆対数のパリティは変化しないため、ルービック キューブのある状態の逆対数が奇数から偶数に変化した場合(または偶数が奇数になった場合)、は、この状態を操作によって元の状態に戻すことができないことを意味し、この性質はルービック キューブを復元する過程で重要な役割を果たします。

3. コーナー ブロックのパリティ 同様に、ルービック キューブのコーナー ブロックのパリティは、その位置と対応するターゲット位置の間を通過する必要があるステップ数 (つまり、逆対数) のパリティを指します。 , ルービック キューブのどの状態でも、奇数隅のブロックの逆順の数のパリティは変わりません。

4. 中央ブロックの位置: 中央ブロックはルービック キューブの復元プロセス中に移動しないため、その位置は変わりません。

5. センターサイドブロックの位置は、センターサイドブロックの位置は変更されず、位置は変更されません。

6. 各面の中央のピースは中央のブラケットに接続されて静止しているため、ルービック キューブを解いた後、反対側の面の色の組み合わせは同じになります。白は常に黄色の反対側、赤は常にオレンジの反対側、緑は常に青の反対側です。

7. 立方体の 1 つの面を回転すると、4 つの辺の立方体と 4 つの角の立方体が移動します。たとえば、10 回移動すると、総移動回数は 4 倍になります。立方体は10回40回動きます。

8. どのアルゴリズムでも、エッジ/コーナー キューブの移動の合計数は 4 の倍数である必要があります。重要な事実は、エッジ キューブが偶数回移動され、同じスロットに戻った場合、同じ向きになるということです。逆に、エッジ キューブが奇数回移動されてから同じスロットに戻された場合、エッジ キューブは反転されます。

9. サイドブロックを反転せずに隣の辺に移動するステップ数は奇数(1ステップ回転で十分)ですが、反転したサイドブロックが同じ動作をする場合は偶数ステップ(最初のステップ)になります。奇数のステップをその場で反転し、90 度回転して偶数のステップを加算します)。

10. これに基づいて、最後に、他のキューブを変更せずにエッジ キューブを反転することでこの目標を達成する仮説的なアルゴリズムを検討します。したがって、反転されたエッジはアルゴリズムによって奇数回移動され、他の 11 個のエッジはすべて偶数回移動されます。11 個の偶数と 1 個の奇数の合計は常に奇数ですが、この合計は 4 の倍数でなければならないことは以前に証明しました。4 の倍数の奇数? それは不可能です。したがって、そのようなアルゴリズムは存在しません。

11. 2 つの角を交換し、2 つの辺も交換するアルゴリズムがあります。1 組の角のみを交換できるアルゴリズムはなく、1 組の辺のみを交換できるアルゴリズムもありません。立方体の 2 つの側面をこじ開けて交換する場合、解決策はありません。2 つの角を交換する場合も同様です。しかし、一対の辺と一対の角を交換すると、これを元に戻すアルゴリズムがあるため、互いに打ち消し合います。

これらの不変条件は、ルービック キューブの縮小、スクランブル、および研究において重要な用途を持っています。


終了

おすすめ

転載: blog.csdn.net/tugouxp/article/details/130136391