クイズ大陸



履歴 検索 最新 出題

No. 12≫ No.13 ≫No. 14
?いはら 2010/05/21 12:47
それでは、第二のヒントです。
まずは、前回のヒントを記号で表してみましょう。

赤石、白石の個数が与えられているとします。
回転や反転で同じになるものも区別した配置の集合をH、
考えられる操作の集合をGとします。
a∈H、g∈Gに対して、配置aに操作gを施して得られる配置をg(a)と書くことにします。
O(a)={g(a)|g∈G}とすると、O(a)はHの部分集合であり、
首飾りの総数は、集合{O(a)|a∈H}の要素の個数と等しくなります。

G[a]={g∈G|g(a)=a}とすると、|O(a)|×|G[a]|=|G|であり、|G[a]|=|G|/|O(a)|です。
(||は集合の要素の個数を表すものとします)

N(g)={a∈H|g(a)=a}とします。
g(a)=aとなる(a,g)の組の個数は、
すべてのg∈Gについて|N(g)|を合計したものであり、
すべてのa∈Hについて|G[a]|を合計したものでもあります。

b∈O(a)のとき、|G[b]|=|G|/|O(b)|=|G|/|O(a)|=|G(a)|ですので、
すべてのb∈O(a)についての|G[b]|の合計は、|G|/|O(a)|×|O(a)|=|G|です。
つまり、同じ首飾りのグループ1個につき、|G|個です。
よって、すべてのa∈Hについての|G[a]|の合計は、首飾りの総数×|G|です。
これが、すべてのg∈Gについての|N(g)|の合計に等しいので、
首飾りの総数×|G|=Σ|N(g)| であり、首飾りの総数=1/|G|×Σ|N(g)|
となります。

つまり、回転及び反転の実質の操作の個数を数え、
各操作において配置が変わらない首飾りの配置の数を合計し、
操作の個数で割れば、首飾りの総数が求められます。

この方法を使えば、首飾りの総数を(割と)簡単に計算することができるのです。

先ほどの赤石2個、白石4個の場合をもう一度考えてみます。
操作の個数は回転6個、反転6個の計12個。
AをAに移す回転で変化しない配置は全配置数と等しく15個、
AをBに移す回転で変化しない配置は0個。
AをCに移す回転で変化しない配置は0個。
AをDに移す回転で変化しない配置は001001,010010,100100の3個。
AをEに移す回転で変化しない配置は0個。
AをFに移す回転で変化しない配置は0個。
AをAに移す反転で変化しない配置は001010,010001,100100の3個。
AをBに移す反転で変化しない配置は000110,001001,100100の3個。
他の反転についても同じ個数ですので、
6個の反転についての合計は、6×3=18個。

回転によって変化しない配置が18個、反転によって変化しない配置が18個ですので、
首飾りの総数=(18+18)/12=3
となり、当然ながら前回数えたものと一致します。

参考までに赤石6個、白石6個の場合は総数50個になります。

とりあえずヒントはここまでにしておきます。
編集