Algorithm 2make 30-upper triangles T r←[1,2,4]
Y ←[ ] Counter←0 i= 1
j= 0
while j= 0do n2i,2i+2←0
fork= 2ito |N| do if n2i,k>0then
Counter←Counter+ 1 Y にkを追加
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′))で初めて hにhitし停止するF1′1上のpath
(1 4
)l(w′),
, g, h∈ {F1′1の頂点}
と定義する.このとき,頂点1での1重のループlに関するP1(l|O→a01)を考えられる1重ループすべてに わたって足し合わせた和は 14f1に等しくなる.2重ループや3重ループに関しては 14(f1)2や 14(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′= (n′ij)に対する操作を以下で定める;原点1出発で頂点10に到達せずに頂点6に到達して停止するルー プのないpathw= (w(0), . . . , w(l(w)))があたえられたとき,
1 行列に対する操作F0を,i or j= 6,7,10,11ならばn′ij= 0とおく操作と定める.
2 行列に対する操作Fk を,i or j= 6,7,10,11, w(0), w(1), . . . , w(k−1)ならばn′ij = 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(k−1)ならば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
)−2∏l(w) k=0
1 1−fw(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 1−fw(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)]の生成 Fj−1N 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ˆj−1N V tv1=tv2を解き,得られたfw(j)をKaiV の最後尾に追加する
end for p←1
fork= 1 to|KaiW|do p←p·1−KaiW1 [k]
end for pi:= 4·p·(1
4
)|P[i]|−1
とおく q←1
fork= 1 to|KaiV|do q←q·1−KaiV1 [k]
end for qi := 42·q·(1
4
)|P[i]|−1
とおく
Keisuの最後尾に[pi, qi−4pi]を追加する end for