忍者ブログ

はしりがき

ガラパゴスへよおこそ。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

エンジン基礎理論第二章第三節「三項重複」

次はtar1,tar2,tar3をこの順番で埋めることを考える。項を増やすにあたって、いくつか規約を設けておきたい。

tar1 かつtar2でtar3が入らないようなものをtar1∧2\3と書いてきたが、これからはtar1∧2のように書いて、暗黙のうちに tar1とtar2以外の集合は排除するものとする。これに際して、本来の意味でのtar1∧2はtar1∧2∧3+tar1∧2のように表し、本来の意味でのtar1はtar1+tar1∧2+tar1∧3+tar1∧2∧3と書いてこれを改めてset(tar1)とする。
また、今まではtar1ブロック、tar2ブロック・・・のように書いてきたが、この書き方では誤解を招くから、第一ブロック、第二ブロック・・・という表現とする。
一番目の手法で作られたtar1、tar1∧2などはこれ以上分割できない。このような集合を素集合といい、複数の素集合をひっくるめて素集合系という。

さて本題。二項重複と同様の手法を用いて第一〜第三ブロックを展開するのだが、その前に素集合系を明らかにしておきたい。
tar1,tar2,tar3,
tar1∧2,tar2∧3,tar1∧3,
tar1∧2∧3。

実際に数式を展開しよう。長いので最上段を第一ブロック、上から二段目を第二ブロック、上から三段目を第三ブロックとしよう。最後の開いたブロックは省略。

i1=1Min[μ-2, N(tar1)]μCi1*《N(tar1), i1》   *   ∑i2=1Min[μ-i1-1, N(tar2)](μ-i1)Ci2*《N(tar2), i2》* ∑i3=1Min[μ-i1-i2, N(tar3)](μ-i1-i2)Ci3*《N(tar3), i3》
茶色部分を展開する。



i1=1Min[μ-2, N(set(tar1))]μCi1*

j10=0Min[N(tar1), i1]i1Cj10*《N(tar1), j10》*

j12=0Min[N(tar1∧2), i1-j10]i1-j10Cj12*《N(tar1∧2), j12》*

j13=0Min[N(tar1∧3), i1-j10-j12]i1-j10-j12Cj13*《N(tar1∧3), j13》*

《N(tar1∧2∧3), i1- j10-j12-j13》
上から、
第一ブロックの領域を確保する項
そこにtar1を埋める
残ったところにtar1∧2を埋める
残ったところにtar1∧3を埋める
残ったところに余すことなくtar1∧2∧3を埋める
i2=1Min[μ-i1-1, N(set(tar2))-(i1-j10-j13)]μ-i1Ci2*

j20=0Min[N(tar2), i2]i2Cj20*《N(tar1), j20》*

j21=0Min[N(tar1∧2)-(j12), i2-j20]i2-j20Cj21*《N(tar1∧2)-(j12), j21》*

j23=0Min[N(tar2∧3), i2-j20-j21]i2-j20-j21Cj23*《N(tar2∧3), j23》*

《N(tar1∧2∧3)-(i1-j10-j12-j13), i2- j20-j21-j23》
上から、
第二ブロックの領域を確保する項
そこにtar2を埋める
残ったところにtar1∧2を埋める
残ったところにtar2∧3を埋める
残ったところに余すことなくtar1∧2∧3を埋める
i3=1Min[μ-i1-i2, N(set(tar3))-(i1-j10-j12)-(i2-j20-j21)]μ-i1-i2Ci3*

j30=0Min[N(tar3), i3]i3Cj30*《N(tar3), j30》*

j31=0Min[N(tar1∧3)-(j13), i3-j30]i3-j30Cj31*《N(tar1∧3)-(j13), j31》*

j32=0Min[N(tar2∧3)-(j23), i3-j30-j31]i3-j30-j31Cj32*《N(tar2∧3)-(j23), j32》*

《N(tar1∧2∧3)-(i1-j10-j12-j13)-(i2-j20-j21-j23), i3-j30-j31-j32》
上から、
第三ブロックの領域を確保する項
そこにtar3を埋める
残ったところにtar1∧3を埋める
残ったところにtar2∧3を埋める
残ったところに余すことなくtar1∧2∧3を埋める
各四通りに分割。ここで一番上の「ブロックの領域を確保する項」を接続」と呼ぶ。またtar1の埋め込み枚数はj10,tar1∧2はj12(於tar1ブロック)およびj21(於tar2ブロック)のように、jの後の数字とtarの番号を対応させている。
接続に含まれている各項は素集合を扱っているから、単位ブロックである。最低1枚は必ず埋め込む必要のあるブロックと、埋め込めなければ他のものでもいい 単位ブロックの違いがシグマの開始点の1か0かを左右する。上限は「埋め込む領域がなくなる(後続ブロックの事情も考慮)」か「埋め込むカードがなくなるか」の小さいほう。前のブロックによるデッキ内の枚数変化も考慮。
ここでどの種類のカードを何枚埋め込んだか(以後「埋め込み枚数」)は右の表の通りになる。
tar1 j10
tar2 j20
tar3 j30
tar1∧2 j12+j21
tar2∧3 j23+j32
tar1∧3 j13+j31
tar1∧2∧3 下記
  tar1∧2∧3は(i1-j10-j12-j13)+(i2-j20-j21-j23)+(i3-j30-j31-j32)

これに(三項重複の場合の)係数Kを加えて完成となる。
二項重複のときには重複領域が1つしかなかったが、三項重複は複数の重複領域が混在している。たとえば以下のような場合。

■■■■■■■■■

tar1
tar2
tar3
tar1∧2
tar2∧3

2個ある紫の領域について4倍の数え上げが行われるから、それを修正しなければならない——というのが前節の話であった。今回はそれに加え、黄色の領域2個についても同様のことが言えて、紫の個数・位置に無関係に起こるから4*4=16倍になっていることに注意する必要がある。
さらに次のパターン。

■■■■■■■■■

tar1
tar2
tar3
tar1∧2
tar2∧3
tar1∧3
■tar1∧2∧3

紫の領域について4倍、黄色の領域について4倍、橙色の領域について4倍、黒色の領域については9倍である(3+3C2*2!)。ゆえに4*4*4*9=576倍。赤青緑の枚数による場合分けはもちろん必要だが、おおざっぱに概要を説明するとこうなる。
さらに一般化。

■■■■■■■■

上記の展開式にならって埋め込み枚数を次のようにする。
tar1 j10 π[1]
tar2 j20 π[2]
tar3 j30 π[3]
tar1∧2 j12+j21 π[12]
tar2∧3 j23+j32 π[23]
tar1∧3 j13+j31 π[13]
tar1∧2∧3 下記 π[123]
tar1∧2∧3は(i1-j10-j12-j13)+(i2-j20-j21-j23)+(i3-j30-j31-j32)

tar1∧2に関する係数をK12
tar2∧3に関する係数をK23
tar1∧3に関する係数をK13
tar1∧2∧3に関する係数をK123
と書くと、tar1∧2,tar2∧3,tar1∧3については二項重複となり、π[1],π[2],π[3]≠0のときは前節と同じことが言えて、K12=1/2π[12], K13=1/2π[13], K23=1/2π[23]を得る。
しかしπ[1],π[2],π[3]のいずれかが0になるとき、二項重複にはない問題が露呈する。「tar1の埋め込み枚数が0のとき、埋め込まれたtar1∧2のうち1枚が第一ブロックの担当として確定する」というのが前の話であったが、今回の事情は「tar1の埋め込み枚数が0枚のとき、埋め込まれたtar1∧2,tar1∧3,tar1∧2∧3のうち1枚が第一ブロックの担当として確定する」というもの。つまり、どのtarについて手を加えなければならないのかが確定しない。そこで視点を変えて、ひとつに注目するのではなく全体を俯瞰する必要がある。
まずtar1の埋め込み枚数のみが0のとき:π[1]=0,π[2]≠0,π[3]≠0を考える。
このとき、π[1]≠0の場合の係数K=K12*K23*K13*K123は1/2π[12]+π[13]+π[23]*3π[123]である。ここで「π[1]=0とした場合にどのような修正をすべきか」を考えると解決の糸口が見えてくる。つまり2π[12]+π[13]+π[23]*3π[123]から第一ブロックの担当が0枚になるようなパターンを引けばよいのだ。これをαとおくと

tar1∧2:すべて第二ブロックの担当
tar1∧3:すべて第三ブロックの担当
tar2∧3:制限なし
tar1∧2∧3:すべて第二ブロックの担当または第三ブロックの担当

となるから、結局1/( 2π[12]+π[13]+π[23]*3π[123]-2π[23]*2π[123] )とすればよい。π[1]≠0,π[2]=0の場合も同様。

次にπ[1]=π[2]=0,π[3]≠0の場合。第一ブロックの担当が0枚になるパターンと第二ブロックの担当が0枚になるパターンの和集合をとる。ブロック計算の仕方により第一(二)ブロックの担当は必ず存在することに注意。上記のαはここで

tar1∧2:すべて第一ブロックの担当またはすべて第二ブロックの担当
tar1∧3:すべて第三ブロックの担当
tar2∧3:すべて第三ブロックの担当
tar1∧2∧3:すべて第三ブロックの担当

となるから、結局1/( 2π[12]+π[13]+π[23]*3π[123]-2 )でよい。π[1]=π[3]=0,π[2]≠0やπ[2]=π[3]=0,π[1]≠0も同様。

最後にπ[1]=π[2]=π[3]=0の場合。「第一ブロックの担当が欠落」「第二ブロックの担当が欠落」「第三ブロックの担当が欠落」の3つがある







---キリトリ---

以上を総括する。次の3つの点に注意。

埋め込み枚数は多項式のため、数式に組み入れると見にくい。そこで改めて埋め込み枚数を書き直す。
[π1] = j10
[π2] = j20
[π3] = j30
[π12] = j12+j21
[π23] = j23+j32
[π13] = j13+j31
[π123] = (i1-j10-j12-j13)+(i2-j20-j21-j23)+(i3-j30-j31-j32)
「枚数」という値は負にはならないから、「枚数」が1枚以上ということは0枚ではないことと同値。
したがって n ≥ 1はn ≠ 0と書いても意味は変わらない。
またも条件分岐が煩いが、=0となる式の数を仮に欠乏数ωと書くとω=0のとき、ω=1のとき、ω=2のとき、ω=3のとき、という分岐になっていることが分かる。またK12のように2重に重複している部分とK123のように3重に重複している部分があるが、この重複の度合いを仮に重複数ρと書くと、係数の値は1/ρ[π]-ωのように表現できる。これは次の節でのn項重複、すなわち二項重複、三項重複と進んできた流れを一般化する段階で中心的な役割を果たす変数である。

さて、三項重複における係数Kは次のように定まる:

K = K12 * K23 * K13 * K123

ただし、K12 ,K23 ,K13 ,K123は次の表に従う。

係数 条件    
K12 1/2[π12] [π12] ≠ 0 and (i1-j12) ≠ 0
and
(i2-j21) ≠ 0
  1/2[π12]-1 [π12] ≠ 0 and (i1-j12) = 0
and
(i2-j21) ≠ 0
or
(i1-j12) ≠ 0
and
(i2-j21) = 0
  1/2[π12]-2 [π12] ≠ 0 and (i1-j12) = 0
and
(i2-j21) = 0
  1 [π12] = 0    
K23 1/2[π23] [π23] ≠ 0 and (i2-j23) ≠ 0
and
(i3-j32) ≠ 0
  1/2[π23]-1 [π23] ≠ 0 and (i2-j23) = 0
and
(i3-j32) ≠ 0
or
(i2-j23) ≠ 0
and
(i3-j32) = 0
  1/2[π23]-2 [π23] ≠ 0 and (i2-j23) = 0
and
(i3-j32) = 0
  1 [π23] = 0    
K13 1/2[π13] [π13] ≠ 0 and (i1-j13) ≠ 0
and
(i3-j31) ≠ 0
  1/2[π13]-1 [π13] ≠ 0 and (i1-j13) = 0
and
(i3-j31) ≠ 0
or
(i1-j13) ≠ 0
and
(i3-j31) = 0
  1/2[π13]-2 [π13] ≠ 0 and (i1-j13) = 0
and
(i3-j31) = 0
  1 [π13] = 0    
K123 1/3[π123] [π123] ≠ 0 and ([π1]+[π12]+[π13]) ≠ 0
and
([π2]+[π12]+[π23]) ≠ 0
and
([π3]+[π13]+[π23]) ≠ 0
  1/3[π123]-1 [π123] ≠ 0 and ([π1]+[π12]+[π13]) = 0
and
([π2]+[π12]+[π23]) ≠ 0
and
([π3]+[π13]+[π23]) ≠ 0
or
([π1]+[π12]+[π13]) ≠ 0
and
([π2]+[π12]+[π23]) = 0
and
([π3]+[π13]+[π23]) ≠ 0
or
([π1]+[π12]+[π13]) ≠ 0
and
([π2]+[π12]+[π23]) ≠ 0
and
([π3]+[π13]+[π23]) = 0
  1/3[π123]-2 [π123] ≠ 0 and ([π1]+[π12]+[π13]) ≠ 0
and
([π2]+[π12]+[π23]) = 0
and
([π3]+[π13]+[π23]) = 0
or
([π1]+[π12]+[π13]) = 0
and
([π2]+[π12]+[π23]) ≠ 0
and
([π3]+[π13]+[π23]) = 0
or
([π1]+[π12]+[π13]) = 0
and
([π2]+[π12]+[π23]) = 0
and
([π3]+[π13]+[π23]) ≠ 0
  1/3[π123]-3 [π123] ≠ 0 and ([π1]+[π12]+[π13]) = 0
and
([π2]+[π12]+[π23]) = 0
and
([π3]+[π13]+[π23]) = 0
  1 [π123] = 0    

第三稿

PR

comment

お名前
タイトル
E-MAIL
URL
コメント
パスワード

trackback

この記事にトラックバックする:

TemplateDesign by KARMA7

忍者ブログ [PR]