3

主客転倒について

268
0
$$$$

はじめに

 この記事では主客転倒のとあるテクニックについて説明していきます。私自身この話を理解するのにかなり時間がかかってしまったので、皆さんにはすんなり理解してもらえるよう出来るだけ丁寧に説明していきます。

本題

 いきなりですが、以下のような問題を考えていきましょう。

OMC213(H)

 向きを固定した正$333$角形の各頂点を,赤・青・緑の三色から一つずつ選んで塗り,それぞれの塗り方に対してそのスコアを以下で定めます:
・正$333$角形の辺のうち,両端の頂点の色が等しいものの数
 回転によって一致する色の塗り方を区別した場合の$3^{333}$通りすべてについて,それぞれのスコアの$2$乗の(相加)平均を求めてください.

 まずこの問題を見たときに「$2$乗...!?」となる人は多いのではないでしょうか。そうなんです、もし$2$乗の相加平均ではなく、スコアそのものの相加平均ならばシンプルに主客転倒を用いるだけで答えは出せるんです。(練習としてやってみるといいかもしれません。) では$2$乗の総和をどのように扱えばいいのでしょうか?実はこれもうまい見方をすれば主客転倒で解けてしまうのです。いきなりこの問題の解説をしてもわかりにくいと思うのでもう少し簡単な例を見てから解説します。

類題

 向きを固定した正六角形の各頂点を,赤・青・緑の三色から一つずつ選んで塗り,それぞれの塗り方に対してそのスコアを以下で定めます:
・正六角形の辺のうち,両端の頂点の色が等しいものの数
 回転によって一致する色の塗り方を区別した場合の$3^{6}$通りすべてについて,それぞれのスコアの$2$乗の(相加)平均を求めてください.

 正六角形の頂点を、$A_1,A_2,A_3,A_4,A_5,A_6$として、$A_i(1\leq i\leq 6)$に塗られた色を$C_i$とします。$($ただし$C_7=C_1$として考えます$)$また、スコアの$2$乗を"真のスコア"と呼ぶことにします。このとき、
\begin{align} (スコアの2乗) &=(C_i=C_{i+1}となるiの個数)^2\\ &=(C_i=C_{i+1}となるiの個数)*(C_j=C_{j+1}となるjの個数)\\ \end{align}
これは$i$$j$という文字に置き換えただけです。すると、ある塗り方における真のスコアは、その塗り方において$C_i=C_{i+1},C_j=C_{j+1}$を満たす$i,j$の組$(i=j$も含める$)$の個数に等しいことがわかります。具体例で考えてみましょう。
 $C_1=C_2,C_3=C_4,C_5=C_6$を満たすスコアが$3$の塗り方を考えます。このとき、$i,j$の組は
\begin{align} (i,j)=(1,1),(1,3),(1,5),(3,1),(3,3),(3,5),(5,1),(5,3),(5,5) \end{align}
と合計で$9$通りあることがわかります。これがまさに真のスコアと一致しているわけです。この場合、$(C_i=C_{i+1}となるiの個数)$$i=1,3,5$$3$通りで、同じく$(C_j=C_{j+1}となるjの個数) $$j=1,3,5$$3$通りなので、$i,j$の組は$3*3=3^2$となりこれは真のスコアそのものですよね。そして、これはどのような塗り方に対しても同じようなことが言えます。「だからなんなんだ!!」と思うかもしれませんが、ここで総和を考えるととっても嬉しいことが起きます。以下このように真のスコアを$(i,j)$の組の個数とみなすことを"真のスコアを組に分解する"と呼ぶことにします(これは私が勝手につけた呼び方です)。
 これまでの話から、すべての塗り方に対する真のスコアの総和は、すべての塗り方に対する「$C_i=C_{i+1},C_j=C_{j+1}$を満たす$i,j$の組の数」の総和と言い換えられます。ここで、ある組$(i,j)$が何回表れるかに着目していきましょう。ここで主客転倒を用いるのです。
 例えば上の例で登場した$(1,1)$を考えてみましょう。
$(1,1)$$C_1=C_2$を満たす塗り方の真のスコアを組に分解して考えたときに必ずその中にただ一つ含まれます。

$C_1=C_2$,スコア$1$$C_1=C_2,C_4=C_5$,スコア$2$$C_2=C_3,C_5=C_6$,スコア$2$$C_1=C_2,C_3=C_4$,スコア$2$$C_3=C_4,C_5=C_6$,スコア$2$.....
$(1,1)$$(1,1)$$(2,2)$$(1,1)$$(3,3)$.....
$(1,4)$$(2,5)$$(1,3)$$(3,5)$.....
$(4,1)$$(5,2)$$(3,1)$$(5,3)$.....
$(4,4)$$(5,5)$$(3,3)$$(5,5)$.....

同様に$(i,i)(i=j$の場合$)$は、$C_i=C_{i+1}$を満たす塗り方の真のスコアを組に分解して考えたときに必ずその中にただ一つ含まれます。そして、すべての塗り方に対する真のスコアの合計を考えているので、$(i,i)$が含まれるような塗り方は、$3*3^4$通りあります。($C_i$$C_{i+1}$は同じ色の$3$通り、その他の頂点は自由に選べて$3^4$通りなので。) また、$i$の選び方として$6$通りあるので、$(i,i)$の組は合計で$6*3*3^4$個あることがわかります。
 次は$(1,3)$を考えてみましょう。
$(1,3)$$C_1=C_2,C_3=C_4$を満たす塗り方の真のスコアを組に分解して考えたときに必ずその中にただ一つ含まれます。

$C_1=C_2$,スコア$1$$C_1=C_2,C_4=C_5$,スコア$2$$C_2=C_3,C_5=C_6$,スコア$2$$C_1=C_2,C_3=C_4$,スコア$2$$C_3=C_4,C_5=C_6$,スコア$2$.....
$(1,1)$$(1,1)$$(2,2)$$(1,1)$$(3,3)$.....
$(1,4)$$(2,5)$$(1,3)$$(3,5)$.....
$(4,1)$$(5,2)$$(3,1)$$(5,3)$.....
$(4,4)$$(5,5)$$(3,3)$$(5,5)$.....

同様に$(i,j)(i \neq j$の場合$)$は、$C_i=C_{i+1},C_j=C_{j+1}$を満たす塗り方の真のスコアを組に分解して考えたときに必ずその中にただ一つ含まれます。そして、すべての塗り方に真のスコアの合計を考えているので、$(i,j)(i\neq j)$が含まれるような塗り方は、
$|i-j|=1$のとき、$3*3^3$通り。($C_i=C_{j+1}$または$C_{i+1}=C_j$であり、$C_i=C_{j+1}$の場合を考えると、$C_j$$C_{j+1}=Ci$$C_{i+1}$は同じ色の$3$通り、その他の頂点は自由に選べて$3^3$通りなので。) また、このような$(i,j)$の組は$6*2$通りなので、$(i,j)(|i-j|=1)$の組は$6*2*3*3^3$個あることがわかります。
$|i-j|>1$のとき、$3*3*3^2$通り。($C_i$$C_{i+1}$は同じ色の$3$通り、$C_j$$C_{j+1}$は同じ色の$3$通り、その他の頂点は自由に選べるので$3^2$通りなので。) また、このような$(i,j)$の組は$6*3$通りなので、$(i,j)(|i-j|>1)$の組は$6*3*3*3*3^2$個あることがわかります。 
故に、$(i,j)(i\neq j)$の組は合計で、$6*2*3*3^3+6*3*3*3*3^2=2*3^5*5$個あることがわかりました。
 よって、真のスコアの総和を、それぞれの真のスコアを組に分解した合計と捉えることで、真のスコアの総和は、$6*3*3^4+2*3^5*5=16*3^5$となることがわかります。従って、求めたかった値は
$$ \frac{16*3^5}{3^6}=\frac{16}{3} $$
となります。

OMC213(H)を解いてみよう!

 ここまで簡単目な例を見てきましたが、OMC213(H)も全く同じ手順で解くことができます。ぜひ自分で手を動かして解いてみましょう!
答えが出せたらこちらの公式解説をご覧ください OMC213(H)

最後に

 最後まで読んでいただきありがとうございます。初めての数学の記事ということもありうまく説明できているか不安な部分もあるので、間違いや誤植、質問等あれば言っていただけると助かります。(できるだけ対応します。)
 私はこの手法を理解して主客転倒の奥深さを感じました。この手法はOMCでは少し高度な典型だと思うのでぜひこの機会に習得してみてください。最後にOMCE004(B)を練習問題として置いておきます。 OMCE004(B)

投稿日:713
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。

投稿者

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中