chikaku

且听风吟

永远是深夜有多好。
github
email

三階魔方の状態数の計算

前几天和同事吃饭的时候讨论 "任意状態の三階魔方は最大で何ステップで必ず復元できるか" (God's Number) の時に、三階魔方のすべての可能な状態数を計算する方法についての問題に発展しました。その時は考えが粗かったので、帰ってから再考し、いくつかの資料を調べてここに記録します。

三階魔方状態数の計算#

image image

これは普通の三階魔方の立体図と展開図です。合計で六つの面、つまり六つの中心点(中心点は回転しないので、その状態数は考慮する必要はありません)、八つの角ブロック(それぞれ三面の色があります)、十二のエッジブロック(それぞれ二面の色があります)。

角ブロック状態数#

角ブロックは八つの位置があるので、位置の状態数は 8!8! それぞれの角ブロックには三面の色がありますが、色の状態数は 3!3! ではありません。展開図の赤い面の左下角にある角ブロックを考えると、三面の色の時計回りの相対順序は固定されており、すなわち:[緑赤黄] 任意の回転の下では:[黄赤緑] という状態は不可能です(魔方を分解して再組み立てしても同様です)。したがって、各角ブロックには合計で三種類の色の状態、すなわち ABC CAB BCA があります。

もう一つ考慮すべきことは、角ブロック間の状態が相互に影響し合うということです。七つの角ブロックの位置と色が固定されると、八つ目の角ブロックの色は確定します。言い換えれば、他の七つの角ブロックの状態を変更せずに、八つ目の角ブロックの色の状態だけを変更することは不可能です。したがって、最後の角ブロックの色の状態数は 11 角ブロックの総状態数は (83)(73)...(23)(11)=8!37(8*3) * (7*3) ... (2*3) * (1*1) = 8! * 3_{}^{7} です。

エッジブロック状態数#

分析方法は角ブロックと似ており、合計で十二の位置があり、位置の状態数は 12!12! 色の状態は二種類、AB と BA であり、最後のエッジブロックの色は固定されています。したがって、エッジブロックの総状態数は 12!21112! * 2_{}^{11} です。

総状態数#

現在、角ブロック状態数とエッジブロック状態数が得られましたが、直接掛け算で得られる結果にはいくつかの不可能な状態が含まれます。

まず明確にすべきことは:他のブロックの状態を変更せずに、二つの角ブロック(または二つのエッジブロック)の位置だけを交換することは不可能です。なぜなら、魔方を回すときは面ごとに回すため、各ブロックの回転は周囲のブロックに影響を与えます。

仮に私たちが魔方を正常に合法的な状態 s1=...AB...s1 = ...AB... に回したとします。ここで ABAB は二つの角ブロック(または二つのエッジブロック)の位置状態を示しますが、明らかに s1flip=...BA...s1_{flip} = ...BA... という状態は、s1s1 の位置の ABAB を単に反転させて他のブロックの状態を変更せずに存在することは不可能です。そして、私たちが直接掛け算で得たすべての状態には、実際には各合法状態とその反転状態の集合が含まれています:

{s1,s2,..,sn,s1flip,s2flip,..,snflip}\left \{ s1, s2, .., sn, s1_{flip}, s2_{flip}, .., sn_{flip} \right \}

したがって、総状態数を計算する際には 22 で割る必要があります。最終的な結果は:

1/28!3712!211=432520032744898560001/2 * 8! * 3_{}^{7} * 12! * 2_{}^{11} = 43252003274489856000

参考:calculating-the-number-of-permutations-of-the-rubiks-cube

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。