Tree Pattern Matching to Subset Matching in Linear Time

Slides:



Advertisements
Similar presentations
Exercise 1 EECS, Peking University Exercise in Query Processing.
Advertisements

Chapter 2 Combinatorial Analysis 主講人 : 虞台文. Content Basic Procedure for Probability Calculation Counting – Ordered Samples with Replacement – Ordered.
第 1 章第 1 章 新生命的誕生 1-3 有性生殖. 阿德的眼睛長得像爸爸、臉型長得像媽媽, 而阿德的妹妹嘴型長得像爸爸、鼻子長得 像媽媽。請問:為什麼會這樣? Warm Up 參考解答 爸爸的睪丸及媽媽的卵巢分別藉由減 數分裂產生含半數染色體(遺傳物質)的 精子及卵子,所以經受精作用誕生的阿德.
Author : Hyesook Lim, Changhoon Yim, and Earl E. Swartzlander, Jr., Fellow Publisher : IEEE TRANSACTIONS ON COMPUTERS, VOL. 59, NO. 6, JUNE 2010 Presenter.
第九章 認識勞退新制及因應之道 大葉大學 助理教授 邱祈豪.
算法分析(3) 重要的数据结构.
尊重价值规律.
11010: Tic-Tac-Tough ★★★★☆ 題組: Problem Set Archive with Online Judge
散文選及習作 [墨池記] 曾鞏 國二甲 S 洪國勛 指導教授:胡翰平 老師.
避開鳥事、走好運! 懂卜卦的人,一輩子不吃虧!
第五章 面试方法及应用.
師資培育中心外埠教育參觀.
面向海量数据的 高效天文交叉证认的研究 答辩人:赵青 指导老师:孙济洲 教授 天津大学计算机学院
Chap. 4 Techniques of Circuit Analysis
-Artificial Neural Network- Hopfield Neural Network(HNN) 朝陽科技大學 資訊管理系 李麗華 教授.
XI. Hilbert Huang Transform (HHT)
Minimum Spanning Trees
Linear Programming: Introduction and Duality
! 温故知新 上下文无关文法 最左推导 最右推导 自上而下 自下而上 句柄 归约 移进-归约冲突 移进-归约分析 递归下降预测分析
Chap4 Tree.
Tree(樹) 什麼是「樹」? 「樹」的範例 「樹」的定義 「樹」的表示法.
Chapter 4 歸納(Induction)與遞迴(Recursion)
樹狀結構 陳怡芬 2018/11/16 北一女中資訊專題研究.
講師:郭育倫 第3章 基本資料結構 講師:郭育倫
SAT and max-sat Qi-Zhi Cai.
On Some Fuzzy Optimization Problems
Chapter 6 Graph Chang Chi-Chung
The Greedy Method.
演算法方式總覽 The Divide-and-Conquer Strategy (個各擊破)(binary Searching、Quick Sort…. ) The Greedy Method(貪婪演算法) (Prim MST、Kruskal MST、Djikstra's algorithm) Dynamic.
第4章 网络互联与广域网 4.1 网络互联概述 4.2 网络互联设备 4.3 广域网 4.4 ISDN 4.5 DDN
Graph 2 Michael Tsai 2012/5/1 連載: 學生上課睡覺姿勢大全
1. It only takes a spark to get a fire going 圍在火旁的人
第二十九單元 方向導數與梯度.
Course 9 NP Theory序論 An Introduction to the Theory of NP
Simulated Annealing 報告者:李怡緯 OPLAB in NTUIM.
生涯軌跡.
子博弈完美Nash均衡 我们知道,一个博弈可以有多于一个的Nash均衡。在某些情况下,我们可以按照“子博弈完美”的要求,把不符合这个要求的均衡去掉。 扩展型博弈G的一部分g叫做一个子博弈,如果g包含某个节点和它所有的后继点,并且一个G的信息集或者和g不相交,或者整个含于g。 一个Nash均衡称为子博弈完美的,如果它在每.
SPATIAL DESIGN NETWORK ANALYSIS 空间设计网络分析:三维步行网络建模、可达性及流量分析
樹 2 Michael Tsai 2013/3/26.
Chapter 2 Basic Concepts in Graph Theory
Advisor : Prof. Frank Y.S. Lin Presented by Yen-Yi, Hsu
感謝同學們在加分題建議. 我會好好研讀+反省~
Chapter 5 Recursion.
資料結構 優點 缺點 1 陣列 (Array) 沒有額外變量 (例head, next,...) 運作/操作較簡單 更新資料時,若要保持順序,需要移動較大量資料 靜態結構Static (宣告時已決定了陣列元素多少,不能在程式執行期間增減元素) 2 隊列Queue (FIFO) 容易更新 加入enqueue:
為什麼要考教育會考 學生:了解自己的學習品質,並為下一學習階段作準備。
主講人:陳鴻文 副教授 銘傳大學資訊傳播工程系所 日期:3/13/2010
计算机问题求解 – 论题 算法方法 2016年11月28日.
資料結構使用Java 第9章 樹(Tree).
Course 10 削減與搜尋 Prune and Search
生成树.
Disjoint Sets Michael Tsai 2013/05/14.
最短通路问题.
唐常杰 四川大学计算机学院 计算机科学技术系
為什麼要考教育會考 學生:了解自己的學習品質,並為下一學習階段作準備。
Chapter 7 Relations (關係)
赵才荣 同济大学,电子与信息工程学院,智信馆410室
计算机问题求解 – 论题 图的连通度 2018年11月13日.
103年國中教育會考簡介 國中教育會考是十二年國民基本教育實施計畫中「落實國中教學正常化、適性輔導及品質提升方案」的重要配套措施之一。
批次請(休)假單 功能路徑:[請假作業專區]→[批次請(休)假單] 功能說明:提供使用者線上申請/維護 多天、不連續請(休)假
1753: Need for Speed ★★☆☆☆ 題組:Problem Set Archive with Online Judge
计算机问题求解 – 论题 串匹配 2017年5月3日.
一點星星之火,可以將火點燃起, 圍在火旁的人,立時便感到暖意﹔ 真神慈愛極豐富,你經歷過之後, 也必願意將這慈愛,向每個人傳開。
Introduction to Computer Security and Cryptography
Maximum Flow.
演講綱要 1. 簡介資料結構 2. Hashing (赫序) 模式 3. 如何存取小群的文字資料 4. 如何存取大群的文字資料
Graph 1 Michael Tsai 2012/4/24 連載: 學生上課睡覺姿勢大全
JAVA 程式設計與資料結構 第十七章 Tree.
JAVA 程式設計與資料結構 第二十一章 Graph.
Presentation transcript:

Tree Pattern Matching to Subset Matching in Linear Time R. Cole and R. Hariharan

Tree Pattern Matching Input: An ordered binary tree T, |T| = n. An ordered binary tree P, |P| = m. Output: All nodes in T where P matches. p t

Subset Matching Input: A set-string T and a set-string P . Output: All occurrences of P in T. a b c a c b c a c c e f b f b T = a c c b P =

History Hoffman and O’Donell, 1982, O(nm). Kosaraju, 1989, O(nm0.75logm). Dubiner, Galil, and Magen, 1994,O(nm0.5logm). Cole and Hariharan, 1997, randomized O(nlog3m). Indyk, 1998, randomized O(nlogn). Cole, Hariharan, and Indyk, 1999, O(nlog3m). Cole and Hariharan, 2002, O(nlog2m).

Period Def : The period of a string s is the smallest number j such that s[i]=s[i+j]. S = 0 0 1 0 0 1 0 0 1 0 0 1 j = 3

非正式用語 (1) 後面的投影片如果說週期為 θ,意思是以 θ `` 開頭 ”,並且週期為 | θ |。 | θ | 有時會省略為 θ 。 Let θ = 0 0 1, |θ| = 3. S = 0 0 1 0 0 1 0 0 1 0 0 1 Yes θ S = 0 1 0 0 1 0 0 1 0 0 1 0 No

Classical Lemma (1) s: a string with period θ s = 把s切兩半,如果切的地方距離開頭不是 θ的整數倍, 則後面那一半的開頭不會是θ。 Ex: s = 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1

Period in linear time Exercise 1: Design an algorithm to compute the period in linear time.

θ-Path Def: A path p is a θ-path if its string representation has period θ. Let θ = 0 0 1. p s = 0 0 1 0 0 1 p is a θ-path.

Maximalθ-Path Def: A θ-path p is maximal if it can not be extended. θ = 0 0 1. not not

Maximalθ-Paths in linear time Exercise 2: Design an linear time algorithm to find all maximalθ-Paths in a tree.

非正式用語 (2) 一個node的大小 = 以這個node為root的subtree的大小。 7 4 2 1 2 1 1

Centroid of a tree m = 19 m/2 = 9

Spine of a Tree Spine = centroid 加強版

Spine of a Tree 1 1 1 Link node = Centroid 的最後一個node 1 1 1 Link node = Centroid 的最後一個node = Spine上最後一個 ≥ m/2的點 < m/2 ≥ m/2

A Special Case of Tree Pattern Matching Input: An ordered binary tree T, |T| = n. An ordered binary tree P, |P| = m. Output: All nodes in T where P matches Additional constraint: T has only one maximal θ-path, where θ is the period of the spine of P.

A Special Case of Tree Pattern Matching

Reduce to Subset Matching (1) P 1 1 B2 B6

Reduce to Subset Matching (2) f a b c e 1 1 1 a b d e f

Reduce to Subset Matching (3) 肋2 1 1 1 肋5 肋6

Reduce to Subset Matching (4) 肋2 a a b e b e f c f c d a b c e f 1 1 1 Time: O( min{ m, 肋2} )

Reduce to Subset Matching (5) Total Time: ∑i O( min{m, 肋i} ) = O(n)

How about the general case? 如果找出來的 maxima θ-paths不只一條該怎麼 reduce呢? 暴力法: 對每一條maximal θ-paths都用剛才的方法reduce成subset matching problem。 Time?

Where is the intuition come from? Truncation lemma: If the first |θ| edges of each maximal θ-paths are removed, then those truncated paths are disjoint。

Truncation Lemma (1) 重疊開始的地方和u 的距離不可能是θ的整數倍。 u p p’ θ θ θ θ θ

Truncation Lemma (2) By Classical Lemma: p p’ < |θ|

Warm up is over! 接下來要做的事: Part 1: 證明 truncated maximal θ-paths 可以在linear time reduce 成 subset matching。 Part 2: 考慮被砍掉的部分該如何解決。

Step 1: Find all maximal θ-paths Link node

Step 2: Filtering(1) 把不符合以下三個property的maximal θ-pahts 過濾掉。 Property 1:

Step 2: Filtering (2) Propety 2: ∵ P ≥ m/2 ≥ m/2

Step 2: Filtering (3) Propety 3: ∵ P ≥θ ≥θ ≥ m/2 ≥ m/2

Step 3: Truncation 將過濾後每一條maximal θ-paths開頭的θ條edges去掉。

Step 4: Filtering again 把 truncated maximal θ-paths 再過濾一遍,剩下的這些paths在之後將簡稱為truncated paths.

Step 5: 一條一條reduce成 subset matching Time: ∑truncated paths ∑i O( min{m, 肋i} )

Analysis of Step 5 (1) ∑truncated paths ∑i O( min{m, 肋i} )

Analysis of Step 5 (2) ∑O( min{m, 肋} ) (大肋 = 大於或等於 m 的肋骨,小肋 = 小於m的肋骨) =∑O( min{m, 大肋} ) + ∑O( min{m, 小肋} ) = O(m * (#大肋)) + ∑O(小肋)

Analysis of Step 5 (3) O(m * (#大肋)) + ∑O(小肋) 剩下只需證明 Part 1. (#大肋) = O( n/m ) Part 2. ∑O(小肋) = n

Analysis of Step 5 (4) Part 2: ∑O(小肋) = n < m ∵小肋骨 are disjoint 大 小

Marked nodes Def: A node in t is marked if its left and right subtrees both contain ≥ m nodes.

# marked nodes is O(n/m)

# marked nodes is O(n/m) ∵(# external nodes) * m ≤ n ∴ # external nodes ≤ n/m ⇒ # marked nodes = # internal nodes ≤ n/m - 1

Analysis of Step 5 (5) Part 1. (#大肋) = O( n/m ) 一條truncated path上如果有k > 1根大肋骨, 則有k-1 個maked nodes。 大 大 大 大 大

Analysis of Step 5 (6) 擁有 k > 1根大肋骨的truncated paths上的大肋骨全部加起來是O(n/m)。 剩下的問題: 有多少條擁有 k = 1根大肋骨的truncated paths?

Analysis of Step 5 (7) O(n/m) 條 小 小 ≥ m/2 小 小 大

An observation 擁有 k > 1根大肋骨的truncated paths只有O(n/m)條。

Disjoint Lemma Let C be a set of disjoint θ-paths and these θ-paths satisfy property 1~3. Then there are O(n/m) θ- paths in C. Pf: 擁有 k > 1根大肋骨的θ-paths只有O(n/m)條。 擁有 k = 1根大肋骨的θ-paths只有O(n/m)條。 擁有 k = 0根大肋骨的θ-paths只有O(n/m)條。

Review Step 1: Finding all maximal θ-paths Step 2: Filtering Step 3: Truncation Step 4: Filtering again Step 5: Reduce to subset mathching

How about the removed parts? θ θ θ θ Time: O(m)

The Last Job Step 1: Finding all maximal θ-paths Step 2: Filtering only O(n/m) paths left. Step 3: Truncation Step 4: Filtering again Step 5: Reduce to subset mathching

Tail Lemma path的尾巴不會被其他path碰到。

Chains . . .

Chain Lemma 一條chain上 (1) 編號 1, 3, 5 , 7 , … 的paths會是disjoint。 1 1 2 2 3 3

Truncated-Chains Lemma(1) Truncated-Chains lemma: If the first two paths of each chains are removed, then those truncated chains are disjoint。

Truncated-Chains Lemma(2) ρ ρ’

Truncated-Chains Lemma(3) ρ ρ’ Case 1: ≥ θ

Truncated-Chains Lemma(4) ρ ρ’ Case 2: ≥ θ

Truncated-Chains Lemma(5) ρ ρ’ Case 3: ≥ θ

Truncated-Chains Lemma(6) ρ ρ’ Case 4: ≥ θ

Almost Over (1) Chain lemma: 在一條chain上 (1) 編號 1, 3, 5, 7 , … 的paths會是disjoint。 (2) 編號 0, 2, 4, 6 , … 的paths會是 disjoint。 Truncated-Chains lemma 去掉編號 0, 1的 paths 後的chains會是disjoint ⇒(1) 編號 3, 5, 7, … 的paths會是disjoint (2)編號 2, 4, 6 , … 的paths會是disjoint

Almost Over (2) (1)編號 3, 5, 7, … 的paths會是disjoint By Disjoint Lemma: (1)編號 3, 5, 7, … 的paths共 O(n/m)條 (2)編號 2, 4, 6, … 的paths共 O(n/m)條

Almost Over (3) If #chains = O(n/m), then 編號0與1的 paths共 O(2n/m) = O(n/m)條。

Over (1) Maximal Connected chains Maximal Connected Maximal chains

Over (2) maximal conneted chains中如果有 k > 1條 chains則有 k – 1 個 marked nodes。

Over (3) 擁有 k > 1條chains的maximal connected chains 的chains 全部加起來是O(n/m)。

Over(4) By Disjont Lemma: 擁有 k = 1條chains的maximal connected chains 共O(n/m)個。

Unproved Lemma Maximal θ-paths in linear time. (Lemma 2.2 in M. Dubiner, Z. Galil, and E. Magen. Fast Tree Pattern Matching, J. ACM, 1994. ) Chain Lemma. (Lemma 5.5 in R. Cole and R. Hariharan. Tree Pattern Matching to Subset Matching in Linear Time, SIAM J. Computing, 2003.)