• 検索結果がありません。

Algorithm 2make 30-upper triangles T r←[1,2,4]

Y [ ] Counter←0 i= 1

j= 0

while j= 0do n2i,2i+20

fork= 2ito |N| do if n2i,k>0then

Counter←Counter+ 1 Ykを追加

end if end for

if Counter= 0then T rを出力

j←1 else

Y の最小の元を探してそれをyとする T rの最後尾に[2i, y, y+ 2]を加える i←i+ 1

end if end while T rを出力

N=

















0 14 14 14 14 0 0 0 0 0 0

1

4 0 0 14 0 14 0 14 0 0 0

1

4 0 0 0 14 0 14 0 14 0 0

1 4

1

4 0 0 0 0 0 14 0 14 0

1

4 0 14 0 0 0 0 0 14 0 14 0 14 0 0 0 0 0 14 0 0 0 0 0 14 0 0 0 0 0 14 0 0 0 14 0 14 0 14 0 0 0 14 0 0 0 14 0 14 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 0 0 0 0 14 0 0 0 14 0 0

















この状況下で,例えばpath(1,2,6)∈Wˆ10に関してPˆ10,1((1,2,6))の計算を行ってみる(通常のシェルピン スキーのガスケットにも3-gasketと同じ要領でWN0 等を定義する).ここで先の注意から(1,2,6)に関する ループの確率和はη1(1,2,6)のうち6を含むpathについて付きうるループをP1( · |O→a01)で測った ものを求めればよいと分かる.なお(1,2,6)にループをつけることを考えるとき,Pˆ10,1で測るということか ら,必ずW11の元を考えることに注意する.まず,原点1でのループを考える.今,

fg:= ∑

w;gスタートでw(l(w))で初めて gに戻るF1′1上のpath

(1 4

)l(w)

,

fg,h:= ∑

w;gスタートでw(l(w))で初めて hhitし停止するF1′1上のpath

(1 4

)l(w),

, g, h∈ {F11の頂点}

と定義する.このとき,頂点1での1重のループlに関するP1(l|O→a01)を考えられる1重ループすべてに わたって足し合わせた和は 14f1に等しくなる.2重ループや3重ループに関しては 14(f1)214(f1)3を計算 すればよいので,以下ではまず,f1を求めることを考える.定義からf1は以下のように表現できる;

f1=1 4f21+1

4f31+1 4f41+1

4f51, f2,1=1

4 +1

4f4,1+1 4f8,1, f3,1=1

4 +1

4f5,1+1 4f9,1, f4,1=1

4 +1

4f2,1+1 4f8,1, f5,1=1

4 +1

4f3,1+1 4f9,1, f8,1=1

4f2,1+1 4f4,1, f9,1=1

4f3,1+1 4f5,1.

したがってこの連立方程式を解いてf1 を求めることによって,l を頂点1で考えうるすべてのループとす れば,

P1(l|O→a01) = (1

4

)1 j=0

(f1)j= (1

4 )1

1 1−f1

となる.続いて頂点2でのループを考える.ここでは頂点1にはもう戻らないことに注意する.もし戻ってし まったらそれは頂点1でのループの一部である.したがって頂点2でのループ計算にはf21等は登場しない ことになる.その結果をふまえた上での頂点2での1重のループの確率和f2は以下の連立方程式を満たして いる;

f2= 1

4f4,2+1 4f8,2, f4,2= 1

4+1 4f8,2, f8,2= 1

4+1 4f4,2.

ここでも,f2を求めたら頂点1でのループと同じように,

1 1−f2

を計算する.最後に頂点6でのループを考えるが,これはループのW11のpathを考えるので計算しなくてよ い.(実際上と同様に計算するとf6= 0となる)

以上の結果から,

Pˆ10,1((1,2,6)) = (1

4 )1

1 1−f1

1 1−f2

である.この計算過程を重み付き隣接行列N を使って表現することができる.そのために,隣接行列 N= (nij)に対する操作を以下で定める;原点1出発で頂点10に到達せずに頂点6に到達して停止するルー プのないpathw= (w(0), . . . , w(l(w)))があたえられたとき,

1 行列に対する操作F0を,i or j= 6,7,10,11ならばnij= 0とおく操作と定める.

2 行列に対する操作Fk を,i or j= 6,7,10,11, w(0), w(1), . . . , w(k1)ならばnij = 0とおく操作と 定める.

FlNによって,上の操作をNに対して行った結果の行列を表すことに注意する.頂点6,7,10,11は,ルー プを付けたpathがW11の元になることから,ループの通ってはいけない点a01, a11, b01b11であることに注意す る.このとき,fw(k)を求める連立方程式は,

FkN













f1,w(k) f2,w(k)

... fw(k)1,w(k)

1 fw(k)+1,w(k)

... f11,w(k)













=













f1,w(k)

f2,w(k)

... fw(k)1,w(k)

fw(k) fw(k)+1,w(k)

... f11,w(k)













である.これをk= 0,1, . . . , l(w)まで解き,この結果のベクトル(fw(0), fw(1). . . , fw(l(w)))を用いて,

Pˆ10,1(w) = (1

4

)1l(w)

k=0

1 1−fw(k)

(1 4

)l(w)

である.3-gasketでも同じ原理で計算ができ,r隣接行列N を3-gasketの隣接行列N で置き換え,頂点 6,7,10,11に相当する部分が頂点12,13,18,19に変わるだけである.より具体的には,Fkの定義とfw(k)を 求める連立方程式の両辺にある縦ベクトルの成分数が11から19に変わるだけである.一般の4-gasket等に はその都度,a01, a11, b01b11に対応する番号を用いて計算すればよい.ただしb01を通るようなpathの確率は,

ループを付けたpathが必ずW11になることから,0としなければならないので,確率を計算する際にb01を通 るか否かで場合分けをしなければならない.

次に,Pˆ10,2での測度の計算を考える.w= (w(0), . . . , w(l(w)))を原点1出発で,頂点6に到達して停止す るループのないpath(頂点6に到達する前に頂点10を通っても良い)とする.ここで注意するのがpathや ループがb01,例えば通常のシェルピンスキーのgasketの場合,頂点10を通るという点である.ここで注意 するのが原点でのループはV11の定義から頂点10,11を通らないということである.なぜならばループが頂 点10,11に到達したならば,V11の定義上,そのループは原点には戻れないからである.したがって原点での ループはPˆ10,1と同じように計算すればよい.ここで例えば,通常のシェルピンスキーのgasketの場合を考え て,path(1,4,10,8,6)をPˆ10,2で測ることを考える.このとき,頂点10でのループは,頂点10の右側にある 番号が付いていない点にはみ出すようなループも考慮に入れなければならない.しかしそれらは,図形の形か ら原点1の右側につくループと同じ形のものである.

1 10

したがって,原点の右側につくループの確率和はf21 であるから,

f10=1

4f8,10+f1 2 f8,10=1

4f2,10+1 4 f2,10=1

4f8,10

となる.これも隣接行列に対する操作で表すことができる.通常のシェルピンスキーのgasketではループの ない原点1出発の頂点6に到達して停止するpath w= (w(0,). . . , w(l(w)))に対して,隣接行列Nに対す る操作を以下のように定義する;

1 ˆF0:=F0と定める.

2 ˆFkを,n10,10= f21 とおいた後,i or j= 6,7,11, w(0), w(1), . . . , w(k1)ならばnij = 0とおく操作 と定める.

そのうえで,同様にして連立方程式,

FˆkN













f1,w(k) f2,w(k)

... fw(k)1,w(k)

1 fw(k)+1,w(k)

... f11,w(k)













=













f1,w(k)

f2,w(k)

... fw(k)1,w(k)

fw(k) fw(k)+1,w(k)

... f11,w(k)













k= 0,1, . . . , l(w)で解く.その結果のベクトル(fw(0), fw(1). . . , fw(l(w)))を用いて,

(1 4

)2l(w)

k=0

1 1−fw(k)

(1 4

)l(w)

というものを考えると,Pˆ10,2(w)が得られそうだが,まだこれはPˆ10,2(w)とは等しくはない.というのも,

Pˆ10,2(w)で考えるループの付いたpathは必ず,b01(通常のシェルピンスキーのガスケットであれば10と番号 の付いた点)を通り,(1

4

)2l(w) k=0

1 1fw(k)

(1

4

)l(w)

を考えただけでは,wにループを付けることは考えられて いるが,頂点10を通らないループの分まで計算に入ってしまっている.したがって今欲しい結果Pˆ10,2(w)よ りも大きくなる.

こ こ で ,Pˆ10,1(w) の 計 算 を 思 い 出 す と ,w に つ け る ル ー プ は す べ て b01 を 通 ら な い ル ー プ で あ っ た .(1

4

)1Pˆ10,1(w) と い う 量 を 考 え れ ば ,こ れ は ま さ し く b01 を 通 ら な い ル ー プ を 付 け て 確 率 和

l(w) k=0

1 1fw(k)

(1

4

)l(w)

を考えてそれを,(1

4

)2

で規格化したものであるといえる.したがってこれが上の計算 でいう余計な分であり,

Pˆ10,2(w) = (1

4

)2l(w)

k=0

1 1−fw(k)

(1 4

)l(w)

(1

4 )1

Pˆ10,1(w)

である.3-gasketでもこの式は変わらない.これでPˆ10,1(w),Pˆ10,2(w)が得られたので,この計算の流れを アルゴリズムにまとめると以下のようになる.ただし,P を上で得た,ループのない原点1から出発で,

a01にhitして停止するpathの配列,w1, w2. . . wm∈P (m=|P|)とするとき以下のアルゴリズムでは,

Keisu= [( ˆP10,1(w1),Pˆ10,2(w1)), . . . ,( ˆP10,1(wm),Pˆ10,2(wm))]である.

Algorithm 3calculate probability in 3-gasket P はpathの配列

Keisu←[ ] fori= 1 to|P|do

forj= 1 to|P[i]|do KaiW [ ], KaiV [ ]

N をコピーしたものをN Wとする N をもう一つコピーしてN V とする

v1= [f1,w(j), f2,w(j), . . . , fw(j)1,w(j),1, fw(j)+1,w(j), . . . , f19,w(j)]の生成 v2= [f1,w(j), f2,w(j), . . . , fw(j)1,w(j), fw(j), fw(j)+1,w(j), . . . , f19,w(j)]の生成 Fj1N Wtv1=tv2を解き,得られたfw(j)KaiW の最後尾に追加する 再びv1= [f1,w(j), f2,w(j), . . . , fw(j)1,w(j),1, fw(j)+1,w(j), . . . , f19,w(j)]の生成 再びv2= [f1,w(j), f2,w(j), . . . , fw(j)1,w(j), fw(j), fw(j)+1,w(j), . . . , f19,w(j)]の生成 Fˆj1N V tv1=tv2を解き,得られたfw(j)KaiV の最後尾に追加する

end for p←1

fork= 1 to|KaiW|do p←p·1KaiW1 [k]

end for pi:= 4·p·(1

4

)|P[i]|−1

とおく q←1

fork= 1 to|KaiV|do q←q·1KaiV1 [k]

end for qi := 42·q·(1

4

)|P[i]|−1

とおく

Keisuの最後尾に[pi, qi4pi]を追加する end for

関連したドキュメント