• 沒有找到結果。

更新理論在 trie 上的應用

在進入第三章之前,我們先複習一些跟機率有關的分析背景,首先 我們考慮所有的資料 (data) 都是隨機由 {0, 1} 所組成的,我們設資料為 Ξ = ξ1ξ2· · · ,而之後要討論的隨機模型都如同第一章最後給出的,另外我定 義隨機變數為

Xi :=− ln P(ξi) = − ln(pξiq1−ξi) =

{− ln q, if ξi = 0;

− ln p, if ξi = 1.

因為 ξi 是 i.i.d,所以 Xi 之間也是 i.i.d,最後我們給出隨機變數的動差

為 





EXi =−p ln p − q ln q =: H, EXi2 = p ln2p + q ln2q =: H2,

Var(Xi) = H2− H2 = pq(ln p− ln q)2 = pq ln2(pq).

我們先在第一章介紹了資料結構中 trie 的排列方式,這章我們將關心如 何用更新理論來看節點分佈的期望值或是相關的問題。

首先,trie 可以看成是一個無窮完滿二元樹 (complete infinite tree) 的有 限子樹,其中每個節點都可以被有限的字串 α = α1α2· · · αk 所標記,我們可 以看出如果一個節點 α1· · · αk 是 trie 的中間節點,則它的充要條件是至少有 二個資料由 α1· · · αk 為開頭,所以如果一個節點為終結點的話,它的充要條 件是恰好只有一個資料由 α1· · · αk 為開頭,且至少有二個資料由 α1· · · αk−1

開頭。有了這兩個充要條件,我們就可以來看第一個要討論的主題 —深度 (depth)。

Definition 3.1.

若有 n 個隨機資料 (random data),則 trie 的深度 Dn 表示一個 trie 中的 隨機資料到根的路徑長度。

我們先來關心若有 n 個隨機資料,那深度的期望值為何? 我們先令一個 資料 Ξ = ξ1ξ2· · · ,若這項資料的深度 Dn 最多是 k 則充要條件為沒有其它 的資料由 ξ1ξ2· · · ξk 開頭,所以 Dn 最多為 k 的條件機率為

P(Dn≤ k | Ξ) = (1 − P (ξ1ξ2· · · ξk))n−1

= (

1

k i=1

P(ξi) )n−1

=(

1− e−X1−X2···−Xk)n−1

= (1− e−Sk)n−1,其中我們令Sk=

k i=1

Xi.

現在我們令 X0(n) 是個獨立於 Ξ 之外的隨機變數,且有以下的分佈。

P(X0(n)> x) = (

1 ex n

)n−1

= (1− ex−ln n)n−1, x∈ (−∞, ∞).

所以當 n→ ∞ 時會收斂到 e−ex,則 X0(n) −→ Xd 0,其中 −X0 有 Gumbel distribution。

接下來,我們來看延遲更新過程 (delayed renewal process),因為我們允 許第一項 X0(n) 可以與後項不同分佈,所以我們先在這定義一些要使用的符 號:

Sn:=

n i=0

Xi = X0(n)+

n i=1

Xi = X0+ Sn, v(t) := min{n | Sn> t}

結合以上的觀點,我們得到了一個結果。

Proposition 3.2.

Dn = v(ln n).d

Proof. 直接結合上述二個式子,我們可以得到 P(Dn≤ k | Ξ) = (1 − e−Sk)n−1

=P(X0(n)> ln n− Sk)

=P(Sk > ln n)

=P(v(ln n) ≤ k).

因為對所有的 k≥ 1 都滿足,所以 Dn

= v(ln n)。d

有了 Proposition 3.2 這個結果,我們就可以用更新理論裡的一些定理來 看關於深度的性質。

Theorem 3.3.

若 p∈ (0, 1) 則 ln nDn −→P H1,其中 H = EXi =−p ln p − q ln q。

Proof. 因為 Dn = v(ln n),所以根據 Remark 2.20(1),令 t = ln n 則d v(t)t =

Dn

ln n

−→P H1

更進一步應用 Remark 2.20,我們就有以下深度的期望值和分佈的定理。

在接下去之前,我們先給一個判斷 X1 是否為非算術型的方法,

• d − 算術型 : ln pln q 是有理數且 d = gcd(ln p, ln q),則 X1 為 d− 算術型。

• 非算術型:ln pln q 是無理數,則 X1 為非算術型。

Theorem 3.4.

(1) 若 ln pln q 為無理數,當 n→ ∞,則 EDn= ln n

H + H2 2H2 + γ

H + o(1).

(2) 若 ln pln q 為有理數,且 d = gcd(ln p, ln q) 當 n→ ∞,則 EDn = ln n

H + H2 2H2 1

H

k̸=0

Γ

(−2πik d

)

e2πik ln nd + γ

H + o(1).

Proof. 根據 Theorem 3.3 和 Remark 2.20,把X0(n) 換成 X0,我們就能得到

因為 Gumbel distribution −X0 的特徵函數 (characteristic function) 為 Ee−itX0 = Γ(1− it) 所以我們得到EX0 = Γ(1) =−γ,而 (2) 中的

詳細的證明在 S. Janson (2006). Rounding of continuous random variables and oscillatory asymptotics, Ann. Probab., 34:5, 1807-1826.

Theorem 3.5.

所以我們有 P( eDλ ≤ k) = P(Sk + X0 > ln λ) = P(v(ln λ) ≤ k),其中 X0 := X0,不再是由 n 決定的了,我們得到 eDλ = v(ln λ)。d

所以前述的定理和之後要介紹的定理都可以波松化來看,而只要使 λ 等 於適當的 n 就能作逆波松化 (depoissonization),舉例來說根據定理 2.17 我 們有 Deλ ln λH

Theorem 3.6.

設 f 是一個非負函數定義在 (−∞, ∞),若 (1) f 是有界 (bounded) 且幾乎處處連續,

(2) 存在一個在 (−∞, −A) 上非遞減,在 (A, ∞) 非遞增的可積函數 F 使得 0≤ f ≤ F ,其中 A 為常數,則 f 為直接 Riemann 可積。

Proof. 對所有的整數k、h,設 x∈ [(k − 1)h, kh),

我們令fn(x) := inf[(k−1)h,kh]f,

fn+(x) := sup[(k−1)h,kh)f

則當 h→ 0 時,對每個在 f 連續的點,我們有 fn(x)→ f(x), fn+(x)→ f(x).

若我們定義

g(x) :=

{

F (x + 1) , x <−A − 1;

F (x− 1) , x > A + 1.

| x |≤ A + 1 時,g(x) := sup f < ∞,則因為 F 是可積的,所以 g 是 可積的,且 0 < h < 1 時,0 ≤ fn(x) ≤ fn+(x)≤ g(x),根據控制收斂定裡 (dominated convergence theoren),當 h→ 0 時,

−∞

fn+

−∞

f ,

−∞

fn

−∞

f, 故完成了證明。

接著我們要使用 Theorem 3.6 和關鍵更新定理來證明以下的定理。

Theorem 3.7.

設 f 為非負且 a.e continuous 的函數定義在 (0,∞),並滿足 {

f (x) = O(x2) , 0 < x < 1, f (x) = O(1) , 1 < x <∞.

另F (λ) =

αf (λP(α)),其中 α 為所有由 (0, 1) 組成的字串,則

(1) 若 ln pln q 是非算術型的,當 λ→ ∞ 時,

而 d− 算術型 根據關鍵更新定理和

接著利用 Theorem 3.7 和分部積分 (integration by parts)

P(|Po(2n) − 2n| ≥ n) ≤ 2n。 由此推論

2

n ≥ P(|Po(2n) − 2n| ≥ n) = P ({Po(2n) ≥ 3n} ∪ {Po(2n ≤ n)})

≥ P(Po(2n) ≤ n).

所以當 n 夠大時,

P(Po(2n) ≥ n) = 1 − P(Po(2n) < n) ≥ 1 − 2 n 1

2.

再來我們要證明 EWn≤ 2EfW2n = O(n),因為 EWn 是隨著 n 遞增而遞 增,所以當 n 夠大時

EfW2n =∑

k

EWkP(Po(2n) = k) ≥ EWn

k≥n

P(Po(2n) = k)

=EWnP(Po(2n) ≥ n) ≥ 1 2EWn. 最後我們要證明當 λ±= n± n23 時,

EfWλ+ o(n)≤ EWn≤ EfWλ+ + o(n), 根據 Chebyshev’s inequality,

(n13 + n23)≥ P(|Po(n + n23)− n − n23| ≥ n23)

=P(

{Po(n + n23)≥ n + n43} ∪ {Po(n + n23)≤ n})

≥ P(Po(n + n23)≤ n)———(1), 另外

1− P(Po(n + n23)≤ n) = P(Po(n + n23) > n)———(2), 結合 (1)、(2) 我們得到

P(Po(n + n23) > n)≥ 1 − (n13 + n23) = 1 + o(1).

所以

EfWλ+ =∑

k

EkP(Po(n + n23) = k)≥ EWn

k≥n+1

P(Po(n + n23) = k)

=EWnP(Po(n + n23) > n)≥ EWn(1 + o(1)) =EWn+ o(n).

同樣的作法我們也能得到

EWn ≥ EfWλ+ o(n).

因為

EfWλ+ o(n)≤ EWn≤ EfWλ+ + o(n).

所以 EfWλ

n +o(n)

n EWn

n EfWλ+

n + o(n) n . 根據這個不等式和 Theorem 3.8,我們就得到了期望值的結果。

接下來我們要來關心 trie 中一些常常需要用到的節點的期望值,我們先 定義一些符號方便後面的介紹。

N ote

設有 n 個資料,則 Ln: 葉子的數量;

On: 只有一個孩子之節點的數量;

Tn: 洽有二個孩子之節點的數量;

Rn: 沒有左邊孩子之節點的數量。

根據 trie 的生成規則,我們知道葉子的數量就是資料的數量,所以 Ln = n,而根據第一章提到的 patricia trie 的生成規則,我們知道 trie 的中間節點數量減去 patricia trie 的中間節點數量就是 On,最後 Tn 就是所 有的節點減去 On 和 n,而圖論中也有用別的方法得到結果 Tn = n− 1,所 以我們接下來就用類似前面的方法來找出 Rn 的期望值。

Theorem 3.10.

(1) 若 ln pln q 是非算術型的,當 n→ ∞ 時,

ERn= n

H(p + q ln q) + o(n).

(2) 若 ln pln q 是 d− 算術型的,當 n → ∞ 時,

ERn = n

H(p + q ln q) + n

HψR(ln n) + o(n), 其中

ψR(t) =

m̸=0

−pΓ(−1 + χm)χme−χmt, χm =−2πim d .

Proof. 我們先證明波松化的 case,首先,一個節點 α 為沒有左邊孩子的節

其中

ψR(t) =

m̸=0

0

f (x)x−2−2πimd dxe−χmt

= ∑

m̸=0

−pΓ(−1 + χm)χme−χmt, χm = −2πim d .

故完成了證明,而且我們可以用類似 Theorem 3.9 的方式來作逆波松化使資 料量為 n 時有一樣的結果。

Chapter 4

2-Protected Nodes 和

相關文件