• 沒有找到結果。

更新理論在隨機Tries 上的應用

N/A
N/A
Protected

Academic year: 2021

Share "更新理論在隨機Tries 上的應用"

Copied!
54
0
0

加載中.... (立即查看全文)

全文

(1)

國立交通大學

應用數學系

碩士論文

更新理論在隨機 Tries 上的應用

An Introduction to Renewal Theory with

Applications to Random Tries

研究生: 高名世

指導教授: Michael Fuchs 教授

(2)

前言

在電腦科學中,trie 是相當重要的資料結構,由於它的特殊生成方式, 在生活中有很多很好的應用,像是搜索物件,輸入一個開頭來找出所有的 可能,而 trie 的演算法很容易修改也是被廣泛應用的原因之一,其中 2-protected nodes 更是在近期很多人研究的重點。 在這篇論文裡,我們的主要目標是用機率中的更新理論來分析 trie 的一 些性質,我們先證明更新理論的一些定理,並證明關鍵更新定理,接著我們 介紹一些 Svante Jason 在他的 paper 中提出的一些結果並補足證明,最後我 們利用更新理論算出 2-protected nodes 和 3-protected nodes 在 trie 中的期 望值。

接著我們介紹一下整篇論文的架構。

第一章我們先從電腦科學中的樹開始介紹,介紹樹的定義,樹中一些有 用到的名詞和各種樹的畫法與優缺點,最後介紹的 trie 與 patricia trie 的生 成方式和比較,並提出了接下來要研究的方向。 第二章我們討論要用到的研究工具-更新理論,從更新過程開始,中間 證明了一些接下來要使用的定理,最後證明了基本更新定理和關鍵更新定 理,並區分了算術型與 d− 算術型 的結果。並把這些結果推廣到延遲更新過 程作為章節的收尾。 第三章我們把第二章的更新理論應用在 trie 裡,我們先介紹了 Svante Janson 提過的一些結果並把證明補完整,再來我們提出了一些其它有趣的 結果,並給出如何用更新理論來研究這類問題的一般解法。

第四章我們用了前一章的方法來計算 2-protected nodes 和 3-protected nodes 在 trie 中算術型與非算術型的期望值,由於計算量較大,所以我們也 借助了 maple 來幫助我們計算出結果。

(3)

Preface

The trie is a data structure of fundamental importance in Computer Science. This is reflected by the fact that tries have found numerous applications, such as in searching, sorting, contention tree algorithms, retrieving IP addresses and satellite data, internet routing, etc.

In this master’s thesis, our primary target is to analyze some properties of tries using renewal theory. First, we will give a brief, self-contained intro-duction into renewal theory. Then, we will introduce some results of a recent paper of S. Jason in which the application of renewal theory to the analysis of tries was pioneered. Finally, we will add some new results.

The following is an outline of the structure of the thesis.

In Chapter 1, we will give some basics from Computer Science. More pre-cisely, we will give the definitions of some data structures (including tries) and discuss their advantages and disadvantages. Moreover, the aim of this thesis will be stated in Chapter 1.

In Chapter 2, we give a detailed review of renewal theory. The main focus in this chapter will be on limit laws and we will discuss both the elementary and the key renewal theorem in details. In particular, the latter will turn out to be of key importance for the analysis of trie parameters. At the end of the chapter, we will also briefly discuss results for the delayed renewal process.

In Chapter 3, the renewal theory from Chapter 2 will be applied to tries. First we will introduce some results from a recent paper of S. Jason and prove them. Next, we will propose other interesting results which can also be han-dled by S. Janson’s tools.

In Chapter 4, we use the method from Chapter 3 to calculate the asymp-totic mean of 2-protected and 3-protected nodes in tries. These kind of nodes

(4)

have been recently introduced and have already been studied in many papers. Parts of the extensive computations in this chapter will be done with the help of Maple.

(5)

致謝

這篇論文能夠完成,首先要感謝我的指導教授 Michael Fuchs 教授。感謝 老師在指導論文上的時間與用心,也讓我在長時間的學習與研究期間學習到 老師做研究的認真態度與嚴謹的精神,而在完成後的修改更是感謝老師在周 末或是出國期間依然抽空與我討論與修訂我沒注意到的錯誤與細節。 另外要非常感謝我的女朋友,由於健康因素,我無法使用電腦太長的時 間,以至於不能用電腦來完成我的論文,所以我的論文完全是我手寫再交由 我女朋友使用 latex 來完成,而她原是完全沒接觸過 latex 的人也必非數學 相關系所的學生,一路從頭學起,中間會遇到的困難絕非文字能夠敘述,而 她一一克服且期間還必須包容我因為壓力而亂發的脾氣,最終完成了這篇論 文,實在是讓我非常的感動,沒有她就沒有這篇論文,若這篇論文能有任何 貢獻,都應該與她共享。 再來要感謝我的研究室室友、同屆的很多好朋友和很多的學長姐學弟妹, 陪伴我度過研究生的生涯,也在我遇到困難時對我適時地伸出援手,與我討 論並一起解學論文或課業上的困難,我們也一起把數學的專業應用在生活、 興趣之中,讓我的碩士生涯能多采多姿。 最後我要感謝我的家人,長年來對我的照顧與支持才能讓我無後顧之憂 的專注在課業與研究之中。所有的喜悅與成果我希望能和所有人分享!

(6)

Contents

前言 1

1 Introduction 6

2 更新理論的介紹 11

3 更新理論在 trie 上的應用 28

4 2-Protected Nodes 和 3-Protected Nodes 41

5 結論 48

(7)

Chapter 1

Introduction

這篇論文的主要目的,是介紹更新理論 (renewal theory) 和了解更新理 論在資料結構 trie 上的應用並分析其優缺點。首先我們先從資料結構 (data structure) 開始介紹,在電腦科學 (computer science) 中,資料結構是電腦中 儲存、組織資料的方式,一個設計良好的資料結構,應該在盡可能使用較少 的時間與空間資源的前提下,來儲存、刪除、插入或是找尋資料。不同種類 的資料結構適合於不同種類的應用,基本的資料結構有陣列 (array)、串列 (list)、堆疊 (stack)、佇列 (queue)、樹 (tree) 和圖 (graph),而我們要討論 的是樹這種類型的資料結構。 先給出樹的定義,任意兩個點間只有一條路徑連接的圖就稱作” 樹”,所 以一個樹的圖是沒有迴路 (loop) 的,因此可以看出一些等價的定義,如在 樹裡任意加一條邊就會形成迴路,在樹裡任意拿掉一條邊,則就不在是連通 (connect) 圖、樹中的任意兩個頂點都能被唯一的路徑連通。如果我們指一 個點叫做根,則這個圖稱為有根樹。 而一般樹圖的畫法,是在最上面先畫一個點,而這個特殊的點稱為根 (root),接著在下一層畫出數個點稱為節點 (node),並把節點與根用分支 (branch) 連接,再把這層的節點當作原本樹裡的子樹 (subtree) 的根,用前 述的方式繼續畫下去直到所有的點畫完為止,像圖一 A C G D H I J M B F E K L 圖一

(8)

而一個節點與子樹連接的分支數目稱為分支度 (degree),像圖一的 A 分 支度為 3,C 的分支度為 1,F 的分支度為 0。所有分支度為 0 的節點我 們稱為樹葉 (leaf) 或是終節點 (external node),而不是終節點的稱為中間節 點 (internal node),我們又將節點的子樹樹根都稱做孩子 (children),像圖一 H、I、J 就是 D 的孩子。另外我們定義階度 (level) 表示節點所在第幾層, 樹根的階度就是 0,最後我們定義一棵樹的高度 (height) 為此樹的最大階 度,像圖一的高度為 3。 再來我們要介紹其中一種樹的型態 — 二元樹 (binary tree),二元樹的 定義為: 每個節點最多只可以有兩個分支,也就是節點的分支度最多只有 2,二元樹也可以是空集合,另外每個節點左邊的子樹稱之為左子樹 (left subtree),另一邊則稱做右子數 (right subtree)。而二元樹的孩子是有順序 的,像圖二左右兩個圖示不同的。 A B A B 圖二 這裡我們不難看出,一個二元樹如果階度為 i 則第 i 層的最大節點數為 2i,而一個二元樹如果高度為 k,則樹的最大節點數為 2k+1− 1。這裡補充 一個樹葉的數目與分支度為 2 的節點之間的關係: 如果一個非空的二元樹有 n 個樹葉,m 個分支度為 2 的節點,則 n = m + 1。最後介紹一個詞作為二 元樹介紹的收尾,如果一個深度為 k 的二元樹且有 2k+1− 1 個節點,則此樹

稱為完滿二元樹 (full binary tree or complete tree),而我們也可以看出一個

有 n 個節點的完滿二元樹深度為 log2(n + 1)− 1。 再介紹二元搜尋樹之前,我們先把樹與資料結構 (data structure) 的關 係做連接,資料結構主要是在討論如何把原始的資料 (data) 來作組織、安 排儲存到電腦中的一門學問,而樹圖就是組織資料的一種方式,其中節點 通常代表資料或是指標 (suffix),而資料的種類有很多種,如數字或是字 串 (string),這篇論文討論的資料主要都是由 0,1 組成的字串且長度是無限 (infinite) 的。

我們再來介紹 -二元搜尋樹 (binary search tree) 或是有序二元樹 (ordered binary tree),定義是有以下性質的二元樹就稱為二元搜尋樹,注意這裡討論 的資料是數字且所有的資料都儲存在節點中:

1. 若任意節點的左子樹不空,則左子樹上所有節點的值均小於它的根的值。 2. 任意節點的右子樹不空,則右子樹上所有節點的值均大於它的根的值。 3. 任意節點的左、右子樹也分別為二元搜尋樹。

(9)

4 沒有鍵值相等的節點(no duplicate nodes)。

接者要介紹的是一個特殊的資料結構 —trie,又稱做前綴樹或是字典樹, Trie 這個詞源自於 retrieval,trie 的發明者 Edward Fredkin 把它讀做〝tree〞, 但其後大部分的人都讀做〝try〞。就如同他的名字,可以像字典一樣依照字 母找尋資料或是搜尋資料,當字串的量很大的時候這個資料結構就顯的非常 有效,因為接下來討論的資料都是字串,而 Trie 的特性是利用每個共同前 綴 (common prefix) 當作指標來搜尋或是插入資料,所以可以大量節省搜尋 時間。接下來就來正式定義 trie 的排列方式: 如果沒有資料則不用討論,如 果資料只有一筆,則資料會存在根裡,而資料如果超過二筆,首先樹根的部 分是沒有任何資料,再來把所有資料是由 0 開頭的放在樹根左邊的孩子節 點,1 開頭的放在右邊的孩子節點,接者把第二階的節點當作子樹的樹根, 把資料第二個數字是 0 開頭的放在左邊節點,1 開頭的放在右邊,以這樣的 分析法,直到每個資料都恰好分在不同的葉子為止,也就是說每個葉子只會 有一筆資料,依此類推直到把所有資料分類完成,最後所有的資料都會被儲 存在終節點裡,而中間節點只是指標裡面並不會有任何資料。所以 trie 跟其 他的二元樹有些不同。 舉例來說 {a = 101 · · · , b = 1100101 · · · , c = 010101 · · · , d = 1000 · · · } 則 trie 的圖為 c b d a 圖三 如果我們在插入一個資料 e=001…則 trie 的圖為 b a d c e 圖四

(10)

再舉第二個例子,如果資料為 {a = 010101 · · · , b = 1000 · · · , c = 1100100 · · · , d = 1100101 · · · } 則 trie 的圖為 a b c d 圖五 由這幾張圖我們可以輕易的看出 trie 這種資料結構的優缺點,這樣的資 料結構可以以最快的速度找到資料,且插入資料的順序與最後的圖無關,不 會受到插入的順序而改變圖的樣子,但缺點就是多了很多沒有用的空間 (看 最後一張圖可以看到很多多餘的節點)。 另外 trie 還有不少種類,首先是 b-trie: 每個節點最多可以儲存 b 個資 料,也就是說如果有個點是中間節點,那就表示至少有 b+1 個點是由這個 中間節點的指標作為開頭的。另外一個是 patricia trie: 跟原本的 trie 很類 似,但是要刪掉所有只有一個孩子的節點,也就是說所有的中間節點都剛好 有兩個孩子,舉例來說,如果把上面第二個例子的資料用 patricia trie 來儲 存圖就會變成圖六。 a b c d 圖六

(11)

從這個圖也可以看出 patricia trie 跟 trie 比起來在儲存空間上是節省很 多的,但也可以看出 patricia trie 的缺點,就是不再和 trie 一樣,儲存資料 時,必須為資料另外編寫指標的難度變高了,因為每個節點不一定是完整的

指標,像圖六的兩個節點指標分為 10· · · 和 110010· · · ,這在建構一個搜尋

樹時會變得困難,這也是 patricia trie 無法取代 trie 的原因。

最後我們先給出一個簡單的隨機模型(random model),假設我們的資料 Ξ = ξ1ξ2· · · 是 i.i.d 的隨機無窮字串,而 ξi ∈ {0, 1} 且 ξi 也是 i.i.d 其中 ξi ∼ Be(p), p ∈ (0, 1),也就是 P(ξi = 1) = p andP(ξi = 0) = 1− p = q。 所以 P(ξ1· · · ξn) = ni=1 P(ξi) = ni=1 pξiq1−ξi. 有了這個我們就可以來看這篇論文要討論的問題。 主要的問題就是如何看出一個 trie 的圖的走向,哪些地方會有多餘的節 點? 多出來的節點的部分如何? 一個圖裡有多少特殊條件的節點等等問題。 分析上述問題已經有一些方法了,此篇是要介紹一個數學工具: 隨機過程中 的更新定理。後面的章節會先介紹更新定理的原理與證明、用方法與優缺 點,有哪些已經可以應用的證明。很快會發現更新定理在計算節點數量的期 望值時非常的好用與快速,但算變異數時則不是個好方法,也會在證明中看 到為何不好用在變異數上。

(12)

Chapter 2

更新理論的介紹

更新理論最早是用來研究一些物品用壞後需要更換的問題,這些問題裡有 不少機率的部份牽扯在其中,例如我們固定使用某牌生產的電池,只要沒電 了就立即更換新的,而更換的每個時刻蒐集起來就是一個更新過程。 後來發現在機率理論裡有許多應用問題和更新理論研究的問題相關,而 近年來更新理論已經不只在研究更換的問題,在很多領域都有很多有用的 發展,像是我們假設某個商店只賣一種商品,並假設顧客每次來買的量為 i.i.d,若存貨少於一定量就補滿,沒少於定量則不補貨,則補貨次數也能看 成一個更新過程。 另外在保險的領域研究生與死的過程或是平均壽命和剩餘壽命等問題也 有廣泛的發展,而我們這篇文章主要是要研究更新理論在電腦科學裡的應 用。 再介紹更新理論之前,我們先介紹更新過程 (renewal process) 的定義和 一些相關的結果。 Definition 2.1.{Xn; n ∈ N} 是獨立且分佈相同的非負隨機變數數列,分佈函數為 F (x), F (0) =P(Xn= 0) < 1, (1) Sn= ni=1 Xi, (2) v(t) = sup {n; Sn ≤ t}. 則我們稱{v(t); t ≥ 0} 為一個更新過程。

(13)

我們用換燈泡的問題來看更新過程裡 Xi、Sn 和 v(t) 的意義,假設在時 間 t = 0 的時候我們裝上了一個新的燈泡,使用到 t = X1 的時候燈泡壞了, 我們在此時立刻更換一個新的,第二個燈泡在 t = X1+ X2 時壞掉則再換上 一個新的,依此類推,第 n 個燈泡會在 Sn 時壞掉且更換一個新的,如果沒 有外力的影響且燈泡的品質很穩定,則我們就可以假設燈泡的使用期限是獨 立且有共同的分佈,而{v(t); t ≥ 0} 就表示時間 t 內更換了多少燈泡的過程。 另外我們也可以看一下 Sv(t) 和 Sv(t)+1 的意義,如果 v(t) 是一個更新過 程,則 Sv(t)就代表更新過程在時間 t 以前最後一次的更新時間。所以 Sv(t)+1 就是時間 t 以後第一次更新的時間,也有 Sv(t) ≤ t < Sv(t)+1 的關係。 接著我們來看 v(t) 的分佈,首先根據強大數法則我們知道 Sn n → E(X1) =: µ, as n → ∞. 且因為 µ > 0,所以當 n 趨近無限大時,Sn 也會趨近於無限大,所以我 們知道只有有限個 n 可以使得 Sn≤ t,而 v(t) = sup{n|Sn≤ t} 所以我們有 了以下的結論。 Lemma 2.2.

P(v(t) < ∞) = 1,所以 v(t) 是一個 proper random variable。

另外我們由定義可以知道對所有的 n≥ 0,則 v(t)≥ n ⇔ Sn ≤ t. 所以如果 t≥ 0 且 n ∈ N, P(v(t) = n) = P(v(t) ≥ n) − P(v(t) ≥ n + 1) =P(Sn≤ t) − P(Sn+1 ≤ t) = Fn(t)− Fn+1(t). 這裡 Fn 是 Sn 的分佈函數且對所有的 t≥ 0 時 F0(t) = 1。 現在我們給出一個重要的定義。

(14)

Definition 2.3.

U (t) =Ev(t),我們稱 U(t) 為更新函數 (renewal funtion)。

更新函數 U (t) 是接下來要討論的重點之一,我們先從一些比較直觀的性 質來了解更新函數。 Lemma 2.4. 對所有的 0≤ t < ∞,則 (1) U (t) = n=1 Fn(t), (2) U (t) <∞. Proof. 首先證明第一部分,由定義就可以得到 U (t) = Ev(t) = n=1 nP(v(t) = n) = n=1 P(v(t) ≥ n) = n=1 P(Sn≤ t) = n=1 Fn(t). 再來我們要證明更新函數是有限的,因為 P(Xn = 0) < 1且 Fn 是右連續 的函數,所以存在一個 α > 0 便得 P(Xn ≥ α) > 0。 現在我們定義一個新的更新過程。 { eXn, n≥ 1}其中 eXn= { 0, if Xn< α; α, if Xn ≥ α. 再來我們定義ev(t) = sup{n :n i=1 e Xi ≤ t}。

(15)

在這可以很容易看出新的更新過程只在 t = nα 的時候更新,這裡 n 是整 數,且更新次數是 i.i.d 的幾何分佈,它的期望值為 1 P(Xn ≥ α) . 所以 Eev(t) ≤ t α + 1 P(Xn ≥ α) <∞. 又因為 eXn≤ Xn,所以我們就得到了 U (t) =Ev(t) ≤ Eev(t) < ∞。 接著我們來介紹何謂更新方程式 (renewal equation)。 Definition 2.5. 如果 K(t) 為一個函數且 a(t) 為一個已知的函數,F 是一個在 (0,∞) 上 的分佈函數,則 K(t) = a(t) +t 0 K(t− s)dF (s), 稱為更新方程式。 現在我們要把更新方程式與更新函數作連接,之後很多定裡都會使用到 這個性質。 Proposition 2.6. U (t)為更新方程式的解。 Proof. 在更新理論裡,大多先給定第一個更新的時間 X1,因為過了 X1 以 後一切就像重新開始。 另外 E(v(t) | X1 = x) = { 0, if x > t; 1 + U (t− x), if x ≤ t. 這個式子的意義是如果 X1 > t,則時間 t 內還沒更新,而 X1 ≤ t 則是表 示在時間 0 到 t 之間平均更新了 x 那次加上 U (t− x) 次。 加上總機率法則 E(E(X | Y )) = E(X),

(16)

我們得到 U (t) = E(v(t)) = E(E(v(t) | X1 = x)) =t 0 E(v(t) | X1 = x)dF (x) = ∫ t 0 (1 + U (t− x)) dF (x) = F (x)|t0+ ∫ t 0 U (t− x)dF (x) = F (t) +t 0 U (t− x)dF (x). U (t)滿足更新方程式的條件。 接下來我們要開始介紹一些極限的定理,在研究的過程中,我們發現當 時間 t 趨近無限大時,有很多很好的性質,所以接著要先看更新過程中的極 限定理,最後來看更新定理作為這章的收尾。

接著我們要介紹一些證明基本更新定理(elementary renewal theorem)的 工具,我們要從更新方程式著手。 Theorem 2.7. 假設 a(t) 為一個有界函數,K(t) = a(t) +0tK(t− s)dF (s) 是一個更新 方程式,則滿足上述更新方程式且在任意區間中皆為有界的唯一解為 K(t) = a(t) +t 0 a(t− x)dU(x). Proof. 因為 U (t) 是一個非遞減的函數,又因為 a(t) 是有界限的,所以對所 有的 M > 0,我們有 sup 0≤t≤M| K(t) | ≤ sup0≤t≤M | a(t) | +M 0 sup

0≤y≤M | a(y) | dU(t)

= sup 0≤t≤M| a(t) | (1 + U(M)) < ∞. 由上述不等式我們得到 K(t) = a(t) +t 0 a(t− x)dU(x)在有限區間中有界 —(1)

(17)

另外,我們知道 Fk(t) = (F ∗ Fk−1)(t),所以 K(t) = a(t) + (U ∗ a)(t) = a(t) + ( k=1 Fk(t) ) ∗ a(t) = a(t) + F (t)∗ a(t) + ( k=2 Fk(t) ) ∗ a(t) = a(t) + F (t)∗ ( a(t) + ( k=1 Fk(t) ) ∗ a(t) ) = a(t) + (F ∗ K)(t). 所以 K(t) = a(t) +t 0 a(t− x)dU(x). 為滿足更新方程式的解 —(2) 最後我們假設J(t) 也是滿足條件的解,我們令 L(t) := J(t)− K(t),L(t) =t 0 L(t− x)dF (x) = (F ∗ L)(t), 所以 L(t) = (Fn∗ L)(t),對所有的 n ≥ 1。 因為J(t) 和 K(t) 在有限區間中有界,所以 L(t) 在有限區間中也有界, 且根據 Lemma 2.4 中U (t) < ∞,我們可以得到當 n 趨近於無限大時 Fn 會 趨近於 0,所以 | (Fn∗ L)(t) |≤ ( sup 0≤u≤t| L(u) |)F n(t)→ 0, ∀t ≥ 0. 所以 L(t) = 0 也就是 J(t) = K(t)—(3) 結合 (1),(2) 和 (3),我們證明了 K(t) = a(t) +t 0 a(t− x)dU(x). 為滿足更新方程式且在所有有限區間裡皆為有界的唯一解。

(18)

有了以上的定理,我們就可以證明一個重要的結果和特例 —Wald’s Equation。 另外,如果以下的定理如果沒有別表示,則我們都令{Xn, n ≥ 1} 為一更 新過程,E(X1) 都用 µ 表示且 0 < µ <∞,而 Xn 的共同分佈函數為 F (t), U (t) 為更新函數,就不再列入定理的條件裡。 Corollary 2.8. 對所有的 t≥ 0,則

E(Sv(t)+1) =E(X1)(U (t) + 1).

Proof. 我們要證明 E(Sv(t)+1) 滿足更新方程式的條件,首先令 E(Sv(t)+1) =

K(t) E(Sv(t)+1 | X1 = x) = { x, if x > t; x + K(t− x), if x ≤ t. 應用總機率法則我們可以得到 E(Sv(t)+1) = ∫ 0 E(Sv(t)+1 | X1 = x)dF (x) = ∫ t 0 (x + K(t− x))dF (x) + t xdF (x) = ∫ 0 xdF (x) +t 0 K(t− x)dF (x) =E(X1) + ∫ t 0 K(t− x)dF (x). 所以 K(t) 滿足更新方程式的條件,所以可以使用 Theorem 2.7 得到 K(t) = a(t) +t 0

a(t− x)dU(x), 其中a(t) = E(X1)

=E(X1) + ∫ t 0 E(X1)dU (x) =E(X1)(U (t) + 1). 我們就證完了 Wald’s Equation。

(19)

再來我們來看一些 v(t) 的性質,很直觀的我們就能看出如果一家工廠 出產的燈泡壽命不是無限大的話,如果我們希望維持一個地方一直是亮的, 就必須無限多次的更換燈泡,所以我們有下述的引理。 Lemma 2.9. 當 t 趨近於無限大時,v(t)−→ ∞。a.s Proof. 如果 limt→∞v(t) <∞,則至少在一個 XK 使得 XK =∞, 所以 P( lim t→∞v(t) <∞) = P(存在{XK} K=1使得XK =∞) =P(∪∞K=1(XK =∞)) k=1 P(XK =∞) = 0. 我們得到當 t 趨近無限大時,v(t)→ ∞。 有了這個引理,那我們就要接著關心 v(t) 趨近到無限大的速率為何? 我 們透過下面的極限定理可以得知。 Theorem 2.10. 當 t 趨近無限大時,v(t) t a.s −→ 1 µProof. 由定義我們知道 Sv(t) ≤ t < Sv(t)+1 所以我們也能得到 Sv(t) v(t) t v(t) < Sv(t)+1 v(t) . 接下來我們要用夾擠來證明 t v(t) → µ。 因為 Sv(t) v(t) = ∑v(t) i=1Xi v(t) . 根據強大數法則且當 t→ ∞ 時 v(t)−→ ∞,a.s 所以 v(t) i=1 v(t) a.s −→ µ.

(20)

另外 Sv(t)+1 v(t) = Sv(t)+1 (v(t) + 1) (v(t) + 1)v(t) = Sv(t)+1 v(t) + 1· v(t) + 1 v(t) → µ. 所以根據夾擠定理我們得到 t v(t) a.s −→ µ ⇒ v(t) t a.s −→ 1 µ. 完成了證明。 最後我們從看更新函數的速率來進入本章的重點之一 —基本更新定理。

Theorem 2.11. (Elementary renewal theorem)

lim t→∞ U (t) t = 1 µ. Proof. 因為 Sv(t)+1 > t,根據 Corollary 2.8 我們得到, µ(U (t) + 1) > t, 也就有以下不等式, lim inf t→∞ U (t) t 1 µ.———(1) 另一個方向,我們先定義一個新的更新過程{ eXn, n∈ N}, 而 e Xn= { Xn , if Xn ≤ M; M , if Xn > M. 其中 M 是我們固定的一個常數。 我們使用類似的符號來看新的更新過程, e Sn= ni=1

Xi, ev(t) = sup{n | eSn ≤ t}, eU (t) =Eev(t).

因為

e

Sv(t)+1 ≤ t + M,

所以根據 Corollary 2.8,

(21)

也就有以下的不等式 lim sup t→∞ e U (t) t 1 E( eX1) , 又因為 eSn≤ Sn,所以ev(t) ≥ v(t) 且 eU (t)≥ U(t). 也就得到 lim sup t→∞ U (t) t 1 E( eX1) . 如果 M 趨近於無限大,則 lim sup t→∞ U (t) t 1 µ, ———(2) 結合 (1) 和 (2),我們得到 limt→∞ U (t)t = 1µ

在進入關鍵更新定理 (key renewal theorem) 前,我們要先介紹一些工具 與定理才能證明關鍵更新定理,然後透過此定理來看更多更新函數的有用性 質,並在下一章節把這些性質應用在資料結構 trie 的分析上。 首先我們先給出一些隨機變數的型態分類的定義。 Definition 2.12. 存在一個d ∈ R+ 使得 X0 d ∈ N,我們取可能的 d 裡最大的,稱 X0 為 d− 算術型 (d-arithmetic),若 d 不存在,則稱為 X0 為非算術型的。 Definition 2.13. 設 f 是一個定義在 (−∞, ∞) 區間中的一個非負的函數,對所有的 δ > 0, n ∈ Z, 又設 mn = inf {f(t) | (n − 1)δ ≤ t ≤ nδ}, mn = sup{f(t) | (n − 1)δ ≤ t ≤ nδ}. σ(δ) = δ n=−∞ mn, σ(δ) = δ n=−∞ mn.

(22)

如果∀δ > 0,σ(δ) 和 σ(δ) 收斂,且如果 δ → 0 時 σ(δ) − σ(δ) 趨近於 0, 則稱 f 為直接 Riemann 可積函數 (directly Riemann integrable function),簡

寫為 f ∈ D。

另外,我們再給出一個有用的定理,我們也將使用此定理來證明關鍵更 新定理。

Theorem 2.14. (Blackwell theorem).

若對所有的 h 大於 0,則

(i) 如果 X1 為非算術型,則 limt→∞(U (t + h)− U(t)) = hµ

(ii) 如果 X1 為 d− 算術型的,則 limt→∞(U (t + kd)− U(t)) = kdµ, k ∈ N。

有關 Blackwell theorem 的證明,就不附在此篇文章裡,可以參考 D. Black-well (1948). A renewal theorem, Duke Math. J., 15, 145-151。

現在我們要介紹本章的重點 —關鍵更新定理。

Theorem 2.15. (Key renewal theorem).

設 f (t)∈ D,則 (i) 如果 X1 是非算術型的,則 limt→∞ 0 f (s− t)dU(s) = 1 µ −∞f (s)ds(ii) 如果 X1 是 d− 算術型的,則limt→∞ 0 f (s− t)dU(s) = 1 µψ(t) + o(1)其中 ψ(t) = d k=−∞ f (kd− t)。 Proof. 因為我們知道 U (t)∗ (1 − F (t)) = F (t), ∀t ≥ 0,所以對所有在 0 到 t 中間的 b,我們有 1≥ F (t) =t 0 (1− F (s − t))dU(s) t t−b (1− F (s − t))dU(s) ≥ (1 − F (b))(U(t) − U(t − b)). 若任取一個 δ 在 (0, t) 之間使得 F (δ) < 1,則根據上述的不等式,我們 得到 sup t (U (t)− U(t − δ)) < ∞, ———(1)

(23)

我們另其為p(δ), 也因為任何一個區間我們都可以分成有限個小區間,所 以對所有的 δ > 0,p(δ) <∞。 我們先假設 F 為非算術型的,對所有的 δ > 0 和 n∈ Z,我們令 in(x) = { 1, if x∈ [(n − 1)δ, nδ]; 0, if x /∈ [(n − 1)δ, nδ]. 0

in(s− t)dU(s) = U(t − (n − 1)δ) − U(t − nδ).

而根據 Theorem 2.14,上述式子的極限為 lim t→∞ 0 in(s− t)dU(s) = δ µ.———(2) 現在我們取一組常數數列 Cn ≥ 0 使得 n=−∞ Cn < ∞,然後設 u(t) = n=−∞ Cnin(t)。 由於(1) 的關係我們知道 ∫0∞in(s− t)dU(s) ≤ p(δ), 所以 kn=−∞ Cn 0 in(s− t)dU(s) ≤ 0 u(s− t)dU(s)(t) kn=−∞ Cn 0 in(s− t)dU(s) + p(δ) n=−∞ Cn. 因為 (2) 的關係,如果 t→ ∞,則 lim t→∞ 0 u(s− t)dU(s) = δ µ n=−∞ Cn. 我們現在要用 f 是直接 Riemann 可積的性質來完成證明。 先令uδ(t) = n=−∞ mnin(t), uδ(t) = n=−∞ mnin(t),其中 mn 與 mn 是 來自於 Definition 2.13,則 ∫ 0 uδ(s− t)dU(s) ≤ 0 f (s− t)dU(s) ≤ 0 uδ(s− t)dU(s).———(3)

(24)

根據 (2) 的等式,我們得到 limt→∞ 0 uδ(s− t)dU(s) = µδ n=−∞ mn = µ1σ(δ). limt→∞ 0 uδ(s− t)dU(s) = δ µ n=−∞ mn = µ1σ(δ).        ———(4) 由於 f ∈ D,所以 limδ→0σ(δ) = limδ→0σ(δ) = −∞f (t)dt.———(5) 所以結合 (3),(4),(5),我們就證明了 lim t→∞ 0 f (s− t)dU(s) = 1 µ −∞ f (s)ds. 而如果 F 為 d− 算術型 的,則把前述證明的 δ = d,且在 {x + nd, n ∈ N} 上取極限即可。 有了關鍵更新定理,就可以找出很多有用的工具來分析 trie 的一些性 質,接下來就介紹一些下一章節要使用的定理。 Theorem 2.16.EX2 1 <∞,則當 t → ∞ 時, (i) 如果 X1 是非算術型, Ev(t) = t µ + EX2 1 2 + o(1). (ii) 如果 X1 是 d− 算術型的, Ev(t) = t µ+ EX2 1 2 + d µ ( 1 2 { t d }) + o(1). Proof. 假設 X1 是非算術型的,我們另 K(t) = U (t) + 1− µt,首先我們要證 明 K(t) 滿足更新方程式。 K(t) = U (t) + 1− t µ = E(Sv(t)+1) µ t µ (根據 Corollary 2.8) = E(rt) µ , (另rt= Sv(t)+1− t).

(25)

我們給定第一次更新的時刻 X1 = x,則我們有 E(rt| X1 = x) = { x− t, if x ≥ t; µK(t− x), if x < t. 所以根據總機率法則 µK(t) = 0 E(rt| X1 = x)dF (x) = ∫ t (x− t)dF (x) + µt 0 K(t− x)dF (x), 且其中 ∫ t (x− t)dF (x) = 0 ydF (t + y) = ∫ 0 (1− F (t + y)) dy, 另a(t) = 1 µ 0 (1− F (t + y))dy, 則我們得到 K(t) = a(t) +t 0 K(t− x)dF (x) 滿足更新方程式。

又因為 a(t) 是單調 (monotonic) 函數且 1− F (t + y) =t+y dF (z), 所以 ∫ 0 (∫ 0 (1− F (t + y)) dy ) dt = ∫ 0 ∫ 0 ∫ t+y dF (z)dydt = ∫ 0 ∫ t (∫ z−t 0 dy ) dF (z)dt = ∫ 0 ∫ t (z− t)dF (z)dt = ∫ 0 ∫ z 0 (z− t)dtdF (z) =1 2 ∫ 0 z2dF (z) = 1 2EX 2 1 <∞.

(26)

根據 Theorem 2.7 a(t) 為更新方程式 K(t) 的解,現在根據關鍵更新定理, lim t→∞(U (t) + 1− t µ) = 1 µ 0 a(x)dx = 1 2EX 2 1. 另外如果 X1 為 d− 算術型的,用類似的證法可得證。

接著我們透過中央極限定理 (central limit theorem) 來證明 v(t) 在 t 趨 近無限大時有常態分佈。 Theorem 2.17. 設 σ2 = Var(X 1)且 0 < σ2 <∞,則 lim t→∞P  v(t) µt 2 µ3 < x = Φ(x), 其中 Φ(x) = 1 x −∞e −y2 2 dyProof. 首先我們設 rt= µt + yσt µ3,因為 v(t) < rt⇔ Srt > t,所以 P  v(t)− µt σt µ3 < y = P (v(t) < rt) =P (Srt > t) =P ( Srt− rtµ σ√rt > t− rtµ σ√rt ) =P ( Srt − rtµ σ√rt >−y ( 1 + √yσ )1 2 ) . 而根據中央極限定裡,當 t → ∞ 時, Srt − rtµ σ√rt → N(0, 1). 另外如果 t→ ∞, −y ( 1 + √yσ )1 2 → −y,

(27)

所以 p  v(t)− µt σt µ3 < y → 1 −y e−x2 2 dx. 又因為 −y e−x2 2 dx =y −∞ e−x2 2 dx, 所以完成了證明。 現在我們來推廣更新過程,實際的生活應用中,第一個間距可能與其它 的間距不同分佈,以前面換燈泡的例子來說,我們從 t0 這個時間開始觀察 燈泡且 t0 時沒有更新的行為,直到 t1 才開始第一次更新,則後面更新的分 佈就可能與一開始的分佈不同,如下圖, t0 t1 t2 t3 X0 X1 X2 圖七

所以我們在這定義一個延遲更新過程 (delayed renewal process)。

Definition 2.18. 設X0 是獨立在 X1,X2· · · 之外,且 X0 可能與 X1,X2 不同分佈,則 Sn := n=0 Xn = X0 + Sn,而 v(t) = sup{n | Sn ≤ t} 稱為延遲更新過程 且U (t) = Ev(t)。 延遲更新過程也有類似上述那些定理的性質,由於證明手法類似,我們 將在下面列出結果來結束這個章節。 Remark 2.19. (1) 當 t 趨近無限大時,v(t) t a.s −→ 1 µ。 (2) 設 E | X0 |< ∞,則 limt→∞ U (t) t = 1 µ。 (3) 設 EX2 1 <∞,E | X0 |< ∞,則當 t 趨近於無限大時。

(28)

(i) 若 X1 是非算術型的, Ev(t) = t µ+ EX2 1 2 EX0 µ + o(1). (ii) 若 X1 是 d− 算術型的, Ev(t) = t µ + EX2 1 2 + d µ ( 1 2− E { t− X0 d }) −EX0 µ + o(1). (4) 設 σ2 =: VarX 1 <∞,則當 t 趨近於無限大時, v(t)− µt t d → N(0,σ2 µ3). 另外,若 EX2 0 <∞,則 Var (v(t)) = σ 2 µ3t + o(t); E ( v(t)− t µ )2 = σ 2 µ3t + o(t). 另外我們之後有些地方允許 X0 的分佈是跟 t 有關的,所以如果要使用 之前的定理則需要加上一些條件。 Remark 2.20. (1) 若 X0 = X (t) 0 ,則當 t→ ∞ 時, v(t) t P −→ 1 µ (2) 若 X0 = X (t) 0 ,設 E | X (t) 0 |< ∞,則 limt→∞ U (t)t = µ1 (3) 若 X0 = X (t) 0 且 X (t)

0 是均勻可積的 (uniformly integrable),則有 Remark

2.19(3) 的性質。 (4) 若 X0 = X

(t)

0 ,則我們依然有 Remark 2.19(4) 的結果。而證明可以參考

S. Janson (2012). Renewal theory in the analysis of tries and strings, Theor.

Comput. Sci., 416, 33-54.

(29)

Chapter 3

更新理論在 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, EX2 i = p ln 2p + q ln2q =: H 2, 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)。

(30)

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 ki=1 P(ξi) )n−1 =(1− e−X1−X2···−Xk)n−1 = (1− e−Sk)n−1,其中我們令S k= ki=1 Xi. 現在我們令 X0(n) 是個獨立於 Ξ 之外的隨機變數,且有以下的分佈。 P(X(n) 0 > x) = ( 1 e x n )n−1 = (1− ex−ln n)n−1, x∈ (−∞, ∞). 所以當 n→ ∞ 時會收斂到 e−ex,則 X0(n) → X−d 0,其中 −X0 有 Gumbel distribution。

接下來,我們來看延遲更新過程 (delayed renewal process),因為我們允

許第一項 X0(n) 可以與後項不同分佈,所以我們先在這定義一些要使用的符 號: Sn:= ni=0 Xi = X (n) 0 + ni=1 Xi = X0∗+ Sn, v(t) := min{n | Sn> t} 結合以上的觀點,我們得到了一個結果。 Proposition 3.2. Dn d = v(ln n).

(31)

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 d = v(ln n)。 有了 Proposition 3.2 這個結果,我們就可以用更新理論裡的一些定理來 看關於深度的性質。 Theorem 3.3. 若 p∈ (0, 1) 則 Dn ln n P −→ 1 H,其中 H = EXi =−p ln p − q ln q。 Proof. 因為 Dn d = v(ln n),所以根據 Remark 2.20(1),令 t = ln n 則 v(t) t = Dn ln n P −→ 1 H。 更進一步應用 Remark 2.20,我們就有以下深度的期望值和分佈的定理。 在接下去之前,我們先給一個判斷 X1 是否為非算術型的方法, • d − 算術型 : ln p ln q 是有理數且 d = gcd(ln p, ln q),則 X1 為 d− 算術型。 • 非算術型:ln p ln 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 Hk̸=0 Γ ( −2πik d ) e2πik ln nd + γ H + o(1).

(32)

Proof. 根據 Theorem 3.3 和 Remark 2.20,把X0(n) 換成 X0,我們就能得到 (1) EDn = ln nH + 2HH22 EX∗ 0 H + o(1). (2) EDn = ln nH + 2HH22 + d H ( 1 2 − E { ln n−X0 d }) −EX0 H + o(1).

因為 Gumbel distribution −X0 的特徵函數 (characteristic function) 為 Ee−itX∗ 0 = Γ(1− it) 所以我們得到EX∗ 0 = Γ (1) =−γ,而 (2) 中的 E { ln n d X0 d } = 1 2 k̸=0 Γ(1−2πikd ) 2πki e 2πik ln n d = 1 2 + 1 dk̸=0 Γ ( −2πik d ) e2πik ln nd .

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

Theorem 3.5. 設 p∈ (0, 1),當 n → ∞,則 Dn−ln nH ln n d → N(0, σ2 H3), 其中 σ2 = H 2− H2 = pq(ln p− ln q)2。 在接下去之前,我們先來看上述的每個定理,由於 X0(n) 是由 n 來決定 的,雖然根據 Remark 2.20,有些更新理論中的定理還是可以應用,只是計 算比較麻煩,所以我們使用另一種方法來計算,就是把隨機的資料數量波松 化 (Poissonization)。

我們假設有 1 + Po(λ) 個資料,其中 Po(λ) 為波松數 (Poisson random variable),所有 ξ1· · · ξk 開頭的資料數量有波松分佈 Po(λP(ξ1· · · ξk)),我們 令 e = D1+Po(λ),設 trie 的深度為 e,則 P( e ≤ k | Ξ) = e−λP(ξ1···ξk) = e−λe −Sk = e−e−(Sk−ln λ) =P(−X0 < Sk− ln λ | Ξ) =P(Sk+ X0 > ln λ| Ξ),

(33)

所以我們有 P( e ≤ k) = P(Sk + X0 > ln λ) = P(v(ln λ) ≤ k),其中 X0 := X0∗,不再是由 n 決定的了,我們得到 eDλ d = v(ln λ)。 所以前述的定理和之後要介紹的定理都可以波松化來看,而只要使 λ 等 於適當的 n 就能作逆波松化 (depoissonization),舉例來說根據定理 2.17 我 們有 e Dλ− ln λH ln λ d → N ( 0, σ 2 H3 ) , 現在我們取 λ = n± n23,因為 ln λ− ln n = O(n− 1 3),所以 e D n±n23 ln n H ln n d → N ( 0, σ 2 H3 ) . 又因為當 n→ ∞ 時, { P(Po(n + n2 3) > n)→ 1, P(Po(n − n2 3) < n)→ 1. 有了以上的結果,我們就能在機率為1− o(1) 的同一個機率空間中比較, 且 eD n−n23 ≤ Dn ≤ eDn+n23,所以我們得到 Dn−ln nH ln n d → N(0,Hσ23 ) ,接下來要討 論的理論,我們都假設有1 + Po(λ) 個資料來證明,再取適當的 n 來逆波松 化。 現在我們要來討論 trie 的大小之期望值,一個有 n 個資料的 trie,根據 trie 的生成方式我們知道會剛好有 n 個終節點 (external node),但是資料是 隨機的,所以中間節點 (internal node) 的數量也是隨機的,所以 trie 的大小 之期望值也就是中間節點數量的期望值。 Note 若有 n 個資料,則中間節點的數量為 Wn,若有 1 + Po(λ) 個資料,則 中間節點的數量為 f。 在找出EWn 之前,我們先給兩個要用到的工具,第一個定理是用來判斷 函數是否為直接 Riemann 可積函數。

(34)

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]ffn+(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) 組成的字串,則

(35)

(1) 若 ln pln q 是非算術型的,當 λ→ ∞ 時, F (λ) λ 1 H 0 f (x) x2 dx. (2) 若 ln pln q 是 d− 算術型的,當 λ → ∞ 時, F (λ) λ = 1 Hψ(ln λ) + o(1), 其中 ψ(t) 可由基本的傅立葉分析 (Fourier analysis) 得到 ψ(t)∼ m=−∞ b ψ(m)e2πimtd , b ψ(t) = 0 f (x)x−2−2πimd dx. Proof. 對所有的非負函數 h(α),若 k ≥ 0 則α12··· ,αk h(α1α2· · · αk) = ∑ α12··· ,αk h(α1· · · αk) P(α1· · · αk) P(α1· · · αk) =Eh(ξ1· · · ξk) P(ξ1· · · ξk) =E(eSkh(ξ 1· · · ξk)). 我們另 h(α) = f (λP(α)),則 F (λ) =α f (λP(α)) =α h(α) = k=0 E(eSkf (λe−Sk)) = 0 f (λe−x)exdU (x). 又另 g(t) = etf (e−t) F (λ) = λ0∞g(x− ln λ)dU(x)。 又因為 f 是 a.e continuous,所以 g 也是,因為 { f (x) = O(x2) , 0 < x < 1, f (x) = O(1) , 1 < x <∞, 所以 g(t) ≤ Me−|t|,其中 M 是個常數,有了以上的條件,根據定理 3.8 我們得到 g 是直接 Riemann 可積定義在 (−∞, ∞),所以應用關鍵更新定理 並另 x = e−t,我們得到若是非算術型,則 F (λ) λ 1 H −∞ g(t)dt = 1 H −∞ etf (et)dt = 1 H 0 f (x)x−2dx,

(36)

而 d− 算術型 根據關鍵更新定理和 b ψ(m) = −∞ e−2πimtd etf (e−t) = ∫ 0 f (x)x−2−2πimd dx, 我們能得到證明的結果。 有了上面的定理,我們就可以來算出中間節點數量的期望值。 Theorem 3.8. (1) 若 ln pln q 是非算術型的,當 λ→ ∞ 時, Ef λ 1 H. (2) 若 ln pln q 是 d− 算術型的,當 λ → ∞ 時, Ef λ = 1 H + 1 HψW(ln λ) + o(1), 其中 ψW(t) =m̸=0 −χmΓ(−1 + χm)e−χmt,其中χm = 2πim dProof. 若 α = α1· · · αk 為一個有限的字串,我們訂一個指示 (indicator) 函 數, I(α) = { 1 , α為中間節點, 0 , α非中間節點. 我們知道 α 為中間節點的充要條件為: 至少有二個資料由 α 開頭,而在 波松模型裡,由 α 開頭的資料有波松分佈 Po(λP(α)),所以 Ef = ∑ α EI(α) =α P(Po(λP(α)) ≥ 2). 我們另 f (x) = P(Po(x) ≥ 2) = 1 − (1 + x)e−x,所以 Ef = ∑ α f (λP (α)). 可以輕易看出 f 在 (0,∞) 是非負的且 { f (x) = O(x2) , 0 < x < 1, f (x) = O(1) , 1 < x <∞.

(37)

接著利用 Theorem 3.7 和分部積分 (integration by parts) ∫ 0 f (x)x−2dx = 0 f′(x)x−1dx = 0 xe−xx−1dx = 0 e−xdx = 1. 所以根據 Theorem 3.7 Ef λ 1 H 0 f (x)x−2dx = 1 H. 而 d− 算術型 也是一樣的證明手法且 0 f (x)x−2−2πikd dx = ( 1 + 2πik d )−1 0 f′(x)x−1−2πikd dx = Γ(1 2πik d ) 1 + 2πikd = 2πik d Γ ( −1 − 2πik d ) . 故完成了證明。 現在我們可以使用之前用過的手法逆波松化來得到一般情況的中間節點 數量。 Theorem 3.9. (1) 若 ln pln q 是非算術型的,當 n→ ∞ 時, EWn n 1 H. (2) 若 ln pln q 是 d− 算術型的,當 n → ∞ 時, EWn n = 1 H + 1 HψW(ln n) + o(1), Proof. 首先我們要證明P(Po(2n) ≥ n) ≥ 1 2。 根據 Chebyshev’s inequality: 對所有實數 k,P(|X − µ| ≥ kσ) ≤ 1 k2。 我們令µ = 2n,σ2 = 2n,kσ = n, 所以

(38)

P(|Po(2n) − 2n| ≥ n) ≤ 2 n。

由此推論 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 時, Ef+ o(n)≤ EWn≤ EfWλ+ + o(n), 根據 Chebyshev’s inequality, (n−13 + n− 2 3)≥ P(|Po(n + n 2 3)− n − n 2 3| ≥ n 2 3) =P ( {Po(n + n23)≥ n + n 4 3} ∪ {Po(n + n 2 3)≤ 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 − (n− 1 3 + n 2 3) = 1 + o(1). 所以 Ef+ = ∑ k EkP(Po(n + n 2 3) = k)≥ EWn ∑ k≥n+1 P(Po(n + n23) = k) =EWnP(Po(n + n 2 3) > n)≥ EWn(1 + o(1)) =EWn+ o(n).

(39)

同樣的作法我們也能得到 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 .

(40)

Proof. 我們先證明波松化的 case,首先,一個節點 α 為沒有左邊孩子的節 點之充要條件是: 至少有兩項資料是由 α1 開頭的且沒有 α0 開頭的。所以類 似前面定理的方法,我們先找出f 。 令 f (x) := P(Po(px) ≥ 2)P(Po(qx) = 0) = (1− e−px− pxe−px)e−qx.{ f (x) = O(x2) , 0 < x < 1, f (x) = O(1) , 1 < x <∞. 我們先計算一般解, ∫ 0 f (x)xs−1dx = 0 (1− e−px− pxe−px)e−qxxs−1dx = ∫ 0 (e−qx− e−x− pxe−x)xs−1dx = q−sΓ(s)− Γ(s) − pΓ(s + 1) = Γ(s)(q−s− 1 − ps). 而 s =−1 是非算術型的,s = −1 −2πim d =−1 + χm 是 d− 算術型的。 當 s =−1 + χm 時 m̸= 0, Γ(s)(q−s− 1 − ps) = Γ(−1 + χm) ( q−(−1+χm)− 1 − p(−1 + χ m) ) = Γ (−1 + χm)(q− 1 − p(−1 + χm)) =−pΓ(−1 + χm)χm. 當 s = −1 時,因為 Γ(−1) 是發散的,所以根據 Gamma function 的泰勒展 開式 lim s→−1Γ(s)(q −s− 1 − ps) = lim s→−1 q−s− 1 − ps s + 1 =−(−q ln q− p) = p + q ln q, 所以根據 Theorem 3.7 我們得到非算數型的結果為 E e λ 1 H 0 f (x) x2 dx = 1 H(p + q ln q). 而 d− 算術型的結果為 E e λ = 1 H(p + q ln q) + 1 HψR(ln n) + o(1),

(41)

其中 ψ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 時有一樣的結果。

(42)

Chapter 4

2-Protected Nodes 和

3-Protected Nodes

這個章節主要是要來討論 2-protected nodes 和 3-protected nodes,由於 trie 的特殊生成方式,雖然在搜尋資料時能達到最快的速度,但卻容易佔據 大量的儲存空間,這是因為每個中間節點都是一個指標而被儲存起來,例如 A :{a = 10000001 · · · , b = 10000000 · · · },則圖形為 b a 圖八 中間有一長串的指標,儲存起來很占空間,所以透過研究一些特殊的中 間節點,可以看出 trie 的走向或是哪些節點的數量過多來刪除以節省空間。 我們先定義何謂 k-protected nodes。 Definition 4.1. 一個中間節點與每個終結點的距離都大於或等於 k,就稱此中間節點為 k-protected nodes。

(43)

N ote (1) 設資料的數是為 n,則 Kn(k): k-protected nodes 的數量。 而在波松分佈下,設資料的數量為 1 + Po(λ),則 eKλ(k) = KPo(λ)(k)(2) 若k1 < k2,則 K (k1) n ≥ Kn(k2)。 (3) 設資料的數量為n,則

Mn(k): 是 k-protected nodes 但不是 k+1 protected nodes 的數量。

另外若資料的數量為1 + Po(λ),則 f

Mλ(k) = MPo(λ)(k)

有了這些定義與符號,我們就可以進入這章的重點了,首先我們討論有

1 + Po(λ) 個資料時,k-protected nodes 數量的期望值,我們發現若要直接給

出 k-protected nodes 的充要條件會相當複雜,所以我們用的手法為全部的中 間節點減去不是 k-protected nodes 的中間節點,並使用排容原理 (principle of inclusion and exclusion) 來幫助計算,而算 2-protected nodes 時要減去的 節點就像是下圖的 α, α α α 圖九 而 α 為這些點的充要條件為” 至少有一個點是 α1 開頭和恰好只有一個點 是 α0 開頭” 或” 至少一個點是 α0 開頭和恰好一個點是 α1 開頭”。 所以我們的目標是算出下列的式子, E eKλ(2) =EfWλ− EfM (1) λ . Theorem 4.2. (1) 若 ln pln q 為非算術型,當 λ→ ∞ 時, EfMλ(1) λ → 1 − pq H, (2) 若 ln pln q 為 d− 算術型,當 λ → ∞ 時, EfMλ(1) λ = 1 pq H + 1 HψM(1)(t) + o(1),

(44)

其中 ψM(1)(t) =m̸=0 Γ(χm)(qp− qpχm)e−χmt, χm = 2πim d . Proof. 根據對圖九中 α 的充要條件,我們得到EfMλ(1) =∑αI(α) =αf (λP(α)), 其中

f (x) :=P(Po(px) ≥ 1)P(Po(qx) = 1) + P(Po(px) = 1)P(Po(qx) ≥ 1) − P(Po(px) = 1)P(Po(qx) = 1). 所以 f (x) = (1− e−px)e−qxqx + (1− e−qx)e−pxpx− e−qxqxe−pxpx. 因為f 是非負的且 { f (x) = O(x2) , 0 < x < 1, f (x) = O(1) , 1 < x <∞, 所以根據 Theorem 3.7,非算術型的解為 EfMλ(1) λ 1 H 0 f (x)x−2dx = q H 0 e−qx− e−x x dx + p H 0 e−px − e−x x dx− pq H 0 e−xdx = −q ln q H + −p ln p H pq H = 1 pq H. 而 d− 算術型的解法我們先算出一般解, 0 f (x)xs−1dx = 0 (−e−xx + e−qxqx + e−pxpx− e−xqpx2)xs−1dx =−Γ(s + 1) + q−sΓ(s + 1) + p−sΓ(s + 1)− qpsΓ(s + 1) = Γ(s + 1)(q−s+ p−s− 1 − qps). 我們另s = −1 − 2πim d =−1 + χm,因為 q−s 和 p−s = 1,所以代入 s 並根據 Theorem 3.7 即可得到結果 EfMλ(1) λ = 1 pq H + 1 HψM(1)(ln n) + o(1). 故完成了證明。

(45)

有了上述的結果,就能算出 2-protected nodes 的期望值。 Theorem 4.3. (1) 若 ln pln q 為非算術型,當 n→ ∞ 時, EK(2) n = n H(1− H + pq) + o(n). (2) 若 ln pln q 為 d− 算術型,當 n → ∞ 時, EK(2) n = n ( 1− H + pq H ) + n H (ψW(ln n)− ψM(1)(ln n)) + o(n). 其中 ψM(1)(t) =m̸=0Γ(χm)(qp− qpχm)e−χ mt

Proof. 我們根據 2-protected nodes 的定義知道

e Kλ(2) = fWλ− fMλ(1), 所以 E eKλ(2) =EfWλ− EM (1) λ . 結合 Theorem 3.8 和 Theorem 4.2 的非算術型,我們得到 E eKλ(2) = λ H − λ(1 − pq H) + o(λ) = λ ( 1− H + pq H ) + o(λ). 而我們可以使用Theorem 3.9 證明裡的手法來逆波松化, 所以得到 EK(2) n = n ( 1− H + pq H ) + o(n). d− 算術型也使用一樣的證明手法,故完成了證明。 接著我們要來看更為複雜的 3-protected nodes 的期望值,我們用和前面 相同的方法,先找出一個節點為 3-protected nodes 的充要條件;所有的中間 節點減去 fMλ(1) 和 fMλ(2),所以我們先把要減去的節點列出來,分別是

(46)

α A α B α C α D α E α F 圖十 而這 6 種節點在波松分佈下的機率分別為 P(A) := P(Po(αq2) = 1)P(Po(αqp) ≥ 1) = e−q2x

q2x(1− e−pqx), P(B) := P(Po(αqp) = 1)P(Po(αq2)≥ 1) = e−qpxqpx(1− e−q2x ), P(C) := P(Po(αqp) = 1)P(Po(αp2)≥ 1) = e−qpxqpx(1− e−p2 x), P(D) := P(Po(αp2) = 1)P(Po(αqp) ≥ 1) = ep2x p2x(1− e−qpx),

P(E) := P(Po(αq) = 1)P(Po(αp) ≥ 1) = e−qxqx(1− e−px),

P(F ) := P(Po(αp) = 1)P(Po(αq) ≥ 1) = e−pxpx(1− e−qx).

接著我們利用排容原理找出 f,

f (x) :=P(A) + P(B) + P(C) + P(D) + P(E) + P(F )

− P(A ∩ B) − P(A ∩ C) − P(A ∩ D) − P(A ∩ E) − P(A ∩ F ) − P(B ∩ C) − P(B ∩ D) − P(B ∩ E) − P(B ∩ F ) − P(C ∩ D) − P(C ∩ E) − P(C ∩ F ) − P(D ∩ E) − P(D ∩ F ) − P(E ∩ F )

+P(A ∩ B ∩ C) + P(A ∩ B ∩ D) + P(A ∩ B ∩ E) + P(A ∩ B ∩ F ) +P(A ∩ C ∩ D) + P(A ∩ C ∩ E) + P(A ∩ C ∩ F ) + P(A ∩ D ∩ E) +P(A ∩ D ∩ F ) + P(A ∩ E ∩ F ) + P(B ∩ C ∩ D) + P(B ∩ C ∩ E) +P(B ∩ C ∩ F ) + P(B ∩ D ∩ E) + P(B ∩ D ∩ F ) + P(B ∩ E ∩ F ) +P(C ∩ D ∩ E) + P(C ∩ D ∩ F ) + P(C ∩ E ∩ F ) + P(D ∩ E ∩ F )

− P(A ∩ B ∩ C ∩ D) − P(A ∩ B ∩ C ∩ E) − P(A ∩ B ∩ C ∩ F ) − P(A ∩ B ∩ D ∩ E) − P(A ∩ B ∩ D ∩ F ) − P(A ∩ B ∩ E ∩ F ) − P(A ∩ C ∩ D ∩ E) − P(A ∩ C ∩ D ∩ F ) − P(A ∩ C ∩ E ∩ F ) − P(A ∩ D ∩ E ∩ F ) − P(B ∩ C ∩ D ∩ E) − P(B ∩ C ∩ D ∩ F ) − P(B ∩ C ∩ E ∩ F ) − P(B ∩ D ∩ E ∩ F ) − P(C ∩ D ∩ E ∩ F )

+P(A ∩ B ∩ C ∩ D ∩ E) + P(A ∩ B ∩ C ∩ D ∩ F ) + P(A ∩ B ∩ C ∩ E ∩ F ) +P(A ∩ B ∩ D ∩ E ∩ F ) + P(A ∩ C ∩ D ∩ E ∩ F ) + P(B ∩ C ∩ D ∩ E ∩ F )

(47)

有了這個 f ,我們就能算出需要減掉的節點之期望值,而用所有中間節

點的期望值減去這個期望值就是 3-protected nodes 的期望值,其中 A∩ E、

B ∩ E、C ∩ F 和 D ∩ F 都是空集合,我們列出一些不易化簡的機率來看。 P(A ∩ B) : = P(Po(αq2 ) = 1)P(Po(αpq) = 1) = e−q2xq2xe−qpxqpx, P(A ∩ F ) : = P(Po(αq2 ) = 1)P(Po(αqp) ≥ 1)P(Po(αp) = 1) = e−q2xq2x(1− e−qpx)e−pxpx,

P(B ∩ F ) : = P(Po(αqp) = 1)P(Po(αq2)≥ 1)P(Po(αp) = 1)

= e−pqxpqx(1− e−q2x)(e−pxpx),

P(C ∩ D) : = P(Po(αp2) = 1)P(Po(αpq) = 1) = e−p2x

p2xe−pqxpqx,

P(C ∩ E) : = P(Po(αq) = 1)P(Po(αqp) = 1)P(Po(αp2

)≥ 1) = e−qxqxe−qpxqpx(1− e−p2x),

P(D ∩ E) : = P(Po(αq) = 1)P(Po(αqp) ≥ 1)P(Po(αp2

) = 1) = e−qxqx(1− e−qpx)e−p2xp2x,

P(E ∩ F ) : = P(Po(αq) = 1)P(Po(αp) = 1) = e−pxpxe−qxqx.

另外三項以上的交集就不列出來了,依此類推並結合 maple 的計算就能 得到。 Theorem 4.4. (1) 若ln pln q 為非算術型,當 n→ ∞ 時, EK(3) n = Hn(1− C(p)) + o(n). 其中C(p) = 2p 4q4 1− 3pq + 2p2q2 1 2 q2p2(1 + 2pq) 9pq(q2+ p2) + 2[(q2+ p2) + 5p2q2]+ qp +p 4q4(2− pq) (1− pq)2 + 2pq (p2+ q2)2 + 4pq(1− pq) + q 2ln q + p2ln p + pq ln q + pq ln p− q ln1 q − p ln 1 p+ q 2p + p2q p4(p + 2q)q2 (q + 2p)(1− pq)− q4(q + 2p)p2 (p + 2q)(1− pq) + q3p (q + 1)(q2+ pq + p) + p 3q (p + 1)(p2+ pq + q) p3q2 (q + pq + p2)2 q3p (p + pq + q2)2 +q 2p4(1 + 2pq + q2) (q + 2p)2 + p2q4(1 + 2pq + p2) (p + 2q)2 .

(48)

(2) 若 ln pln q 為 d− 算術型,當 n → ∞ 時, EK(3) n = n H(1− C(p)) + n H(ψW(ln n)− ψM(1,2)(ln n)) + o(n), 其中 C(p) 與 (1) 相同,而 ψM(1,2)(t) =m̸=0 f∗(−1 + χm)e−χmt, χm = 2πim d . 由於 f∗ 所佔的篇幅過大,所以我們把計算結果放在附錄。

參考文獻

相關文件

Achievement growth in children with learning difficulties in mathematics: Findings of a two-year longitudinal study... Designing vocabulary instructio n

數學上有很多的定義,也有很多定理,定理是必須經過證明才能確立的事

就知識及相關理論的最新發展,體育教師可運用他們的專業知識,把新元素例如資訊素養、企 業家精神、人文素養,以及

韓愈〈師說〉系統地提出了「師道」的理論,以及論證「從師」的必要,期

義)與。 zm 且(對象)的意思。清辨在他的《中論》註解書裡'相當一致地都採用了。立而且的意 思,而月稱則採用

最佳解裡面如果沒有greedy choice的話, 則想辦法 把最佳解裡面的一些東西和greedy choice互換. 結 果發現這個新解跟greedy choice一樣好

在強化道德的懲戒功能的時候,客觀上,也減低了對信徒的吸 引力。這是一方面。然而,若換一個角度論之,五種姓理論在 心性論方面也有足於啟示後學者,最突出的是將眾生本身的根

 不過以上所提的內容幾乎都會被現在的智慧型手機取 代,因此我們覺得這些功能能夠運用在一個沒有網路