dynamic connectivity algorithms for feynman diagrams
DESCRIPTION
Dynamic connectivity algorithms for Feynman diagrams. Rubao Ji. Advisor: Dr. Robert W. Robinson Committee: Dr. E. Rodney Canfield Dr. Daniel M. Everett. 2002.11 . Outline of Thesis . Introduction - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/1.jpg)
Rubao Ji
Advisor: Dr. Robert W. Robinson
Committee: Dr. E. Rodney Canfield
Dr. Daniel M. Everett
2002.11
Dynamic connectivity algorithms for Feynman diagrams
![Page 2: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/2.jpg)
Introduction
Algorithm design and time complexity analysis
Data structure and implementation
Experimental results and discussions
Outline of Thesis
![Page 3: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/3.jpg)
52
01
4
3
G line V line
A Feynman diagram with order of n can be viewed as a matching on 2n nodes (edges in the matching are undirected and called V-lines) along with a permutation of the 2n nodes (represented by directed edges called G-lines)
[ Introduction ]
Feynman Diagram
![Page 4: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/4.jpg)
5
2
01
4
3
G line V line
A Feynman diagram with order of n can be viewed as a matching on 2n nodes (edges in the matching are undirected and called V-lines) along with a permutation of the 2n nodes (represented by directed edges called G-lines)
[ Introduction ]
Feynman Diagram
![Page 5: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/5.jpg)
3
2
01
4
5
G line V line
A Feynman diagram with order of n can be viewed as a matching on 2n nodes (edges in the matching are undirected and called V-lines) along with a permutation of the 2n nodes (represented by directed edges called G-lines)
[ Introduction ]
Feynman Diagram
![Page 6: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/6.jpg)
a a´
b b´
Switch(a,b)
a a´
b b´
52
01
4
3
Switch(2,4)
Switch(4,0)
52
01
4
3
52
01
4
3
Connected
NotConnected
[ Introduction ]
Switching and Connectivity
![Page 7: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/7.jpg)
a a’
b b’
Switch(a,b)
a a’
b b’
Switch(2,4)
[ Introduction ]
Switching and Connectivity
3
2
01
4
5
52
34
0
1
![Page 8: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/8.jpg)
Dynamic graph problem:
Answer queries on graphs that are undergoing a sequence of updates (e.g. insertions and deletions of edges and vertices)
[ Introduction ]
• Fully-dynamic
• Semi-dynamic (incremental, decremental)
Dynamic algorithm:
Update the solution of a problem more efficiently after dynamic changes rather than having to re-compute it from scratch each time (static).
Dynamic vs. Static
![Page 9: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/9.jpg)
[ Introduction ]
Running time of one single operation averaged over a
sufficiently long sequence of operations
Amortized Time any sequence long enough worst case bond
Expected Time sequence has some distribution or is random probabilistic worst case
Amortized & Expected
![Page 10: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/10.jpg)
[ Introduction ]
A Brief History
Deterministic algorithms
Frederickson, 1985. O(m1/2) O(1)Epstein et al., 1992. O(n1/2) O(1)Henzinger&King, 1997. O(n1/3 log n) O(log n/loglog n)Holm et al., 1998. O(log2 n) O(log n/loglog n)Randomized algorithms
Henzinger&King, 1995. O(log3 n) O(log n/loglog n)Henzinger&Thorup, 1997. O(log2 n) O(log n/loglog n)Thorup, 2000. O(log n(loglog n)3) O(log n/logloglog n)
Update Query
Update Query
![Page 11: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/11.jpg)
1. Number of G-cycles
2. Update time3. Query time
[ Algorithm design and time complexity analysis ]
O (log n)
O (log n)
O (log? n)
Features that matter
![Page 12: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/12.jpg)
[ Algorithm design and time complexity analysis ]
For a randomly generated Feynman diagram of order n, the expected number of G-cycles is O(log n).
Cl: G-cycle containing vertex v has length l
Pr [C1]= 1/2n
Pr [C2]=(2n-1)/2n * 1/(2n-1) = 1/2n
Pr [C3]=(2n-1)/2n * (2n-2)/(2n-1)*1/(2n-2) =1/2n
:
vProve: Pr [Cl]= 1/2n
Lemma 2.1
![Page 13: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/13.jpg)
[ Algorithm design and time complexity analysis ]
Xi : the size of the G-cycle containing node iS: total number of G-cycles
Lemma 2.1 (cont’d)
![Page 14: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/14.jpg)
[ Algorithm design and time complexity analysis ]
1. Splay Tree (Self-Adjusting BST)
2. Treap (BST + Heap)
Update
G-cycle: In-order traversalV-line: Implicit numbering
![Page 15: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/15.jpg)
[ Algorithm design and time complexity analysis ]
Update
1. Splay Tree (Self-Adjusting BST)
2. Treap (BST + Heap)
G-cycle: In-order traversalV-line: Implicit numbering
![Page 16: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/16.jpg)
[ Algorithm design and time complexity analysis ]
Lemma 2.2 Each splay operation has an amortized time of O(log n) over (n) operations such that the tree size is always O(n). (From Sleator&Tarjan,1985)Lemma 2.3 Each treap operation has an expected time of O(log n) averaged over all permutations of the nodes for the priority attribute. (From Seidel & Aragon, 1996)
Update
![Page 17: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/17.jpg)
[ Algorithm design and time complexity analysis ]
x
x
Splay(x)
t1
x
Join(t1,t2)t2
xt1 t2
xSplit(x,t)
x
t1 t2
Update: Splay Tree
![Page 18: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/18.jpg)
[ Algorithm design and time complexity analysis ]
xdelete(x)
t1
x
Join(t1,t2)t2 t1 t2
x Split(x,t)
xt1 t2
Insert(x)
x
ba Rotate left
Rotate right
b
ay
Update: Treap
delete(x)
xy
![Page 19: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/19.jpg)
SCQ (Simplified Connectivity Query)
ACQ (Advanced Connectivity Query)
IDQ (Integrated DFS Connectivity Query)
[ Algorithm design and time complexity analysis ]
Query
![Page 20: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/20.jpg)
Straightforward approach
Simple DFS or pre-order traversal
Linear
[ Algorithm design and time complexity analysis ]
Query: SCQ
![Page 21: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/21.jpg)
More complicated than SCQ
Start from smallest component
O(log2 n)
[ Algorithm design and time complexity analysis ]
Query: ACQ
![Page 22: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/22.jpg)
[ Algorithm design and time complexity analysis ]
ACQ algorithm has an expected cost of O(log2 n) time to query the connectivity of Feynman diagram.
Si The probability that at least i attempts will be needed to find another component.
D1 > 1/2, D2 > 1/2 + 1/4 …
Dn > 1/2 + 1/4 + ··· +1/2(n-1)
Di The probability that, in examing vertices in the smallest component, a V -edge joining it to another component will be found in i attempts.
Si > 1 - Di
Ex[Steps] < 1 + 1/2 + 1/4 + …= 2
O(log n) expected component, O(log n) expected joins, after each join, take O(log n) expected time to find the smallest component.
Lemma 2.4
![Page 23: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/23.jpg)
Integrated with update process
Maintain a G-cycle graph
O(log n)
[ Algorithm design and time complexity analysis ]
Query: IDQ
![Page 24: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/24.jpg)
[ Algorithm design and time complexity analysis ]
a
b
a
b
Case 1 Case 2
Switch(a,b)
IDQ (cont’d)
![Page 25: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/25.jpg)
[ Algorithm design and time complexity analysis ]
a
b
a
b
Case 1 Case 2
Switch(a,b)
IDQ (cont’d)
![Page 26: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/26.jpg)
[ Algorithm design and time complexity analysis ]
a
b
a
b
Case 1 Case 2
Switch(a,b)
IDQ (cont’d)
![Page 27: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/27.jpg)
DFS (Linear in number of G-cycles)
Chance of disconnected O(1/n)
If connected, O(1) to update the edge
[ Algorithm design and time complexity analysis ]
IDQ (cont’d)
IDQ algorithm has an expected cost of O(log n) time to query the connectivity of Feynman diagram.
![Page 28: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/28.jpg)
[ Algorithm design and time complexity analysis ]
Using a splay forest data structure for Feynman diagram update combined with ACQ for connectivity queries gives an amortized expected time per operation of O(log2 n).
Using a treap forest data structure for Feynman diagram update combined with ACQ for connectivity queries gives an expected time per operation of O(log2 n).
Lemma 2.5
![Page 29: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/29.jpg)
[ Algorithm design and time complexity analysis ]
Using a splay forest data structure for Feynman diagram update combined with IDQ for connectivity queries gives an amortized expected time per operation of O(log n). Using treap a forest data structure for Feynman diagram update combined with IDQ for connectivity queries gives an expected time per operation of O(log n).
Lemma 2.6
![Page 30: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/30.jpg)
[ Data structures and implementations ]
ASF (Array-based Splay Forest)
i lc[i] rc[i]
012345
##0#2#
##5#13
0
3
4
52 1
p[i]
~24
~4542
s[i]
114162
Update -ASF
![Page 31: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/31.jpg)
T1 T2
a a´ b b´
a´ b´
b´
Splay(a) Splay(b)
Switch
a´
a b
a b
[ Data structures and implementations ]
Splay(w)
w
b a´w
b´
aw
b a´
Join
ASF: Switch(a,b) { a T1, b T2}
aa´ b
b´
Switch (a,b)
ab´
ba´
![Page 32: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/32.jpg)
a a´ b b´Splay(a)
b b’a’Splay(b)
a’ b’
a
b
a
b’
Reattach
b
a a’b b’
Splay(a)
b b’ a’Splay(b)
b’
a
b
a
b’
Reattach
b
a’
T T
[ Data structures and implementations ]
ASF: Switch(a,b) {a ,b T}
ab´ b
a´
Switch (a,b)
aa´
bb´
a’
![Page 33: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/33.jpg)
[ Data structures and implementations ]
ATF (Array-based Treap Forest)
i lc[i] rc[i]
012345
##0#2#
##5#13
0
3
4
52 1
p[i]
~24
~4542
s[i]
114162
prio[i]
124053
Update -ATF
![Page 34: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/34.jpg)
T1 T2
a a’ b b’
Split(a) Split(b)
Switch
[ Data structures and implementations ]
a’ b’
w w
a b
b’
w
a
Delete(w)
a’
w
ba b’
Join
x
a b’ b a’
Delete (x)
a b’ b a’
Delete(w)
b a’
ATF: Switch(a,b) { a T1, b T2}
![Page 35: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/35.jpg)
a a’ b b’
Split(a)
b b’a’Split(b)
a’ b’
w
ww
b’
Reattach
a a’b b’
Split(a)
b b’ a’Split(b)
b’
w
w Reattachw
a’
aa
b ba
a’ b
a b’ ab
Delete(w)
T T
Delete(w)
a b’ b a’
ATF: Switch(a,b) {a ,b T}
[ Data structures and implementations ]
![Page 36: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/36.jpg)
2 1
34
0
0 1 2 3 4
2
4
3
1
0
2 0 0
node down nextType A node
node p1 linkType B node p2 adj_next
visited
visited
[ Data structures and implementations ]
IDQ: Adjacency list
![Page 37: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/37.jpg)
0 1 2 3 4
2
4
3
1
0
2 0 0
[ Data structures and implementations ]
IDQ: Switch(a,b) { a T1, b T2}
5
5
5
5
2 1
34
0
15
4
0
![Page 38: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/38.jpg)
0 1 5 3 4
2
4
3
1
0
2 0 0
[ Data structures and implementations ]
IDQ: Switch(a,b) {a ,b T}
2 1
34
0
61
34
0
5
6
5 6 1
0 1 2 3 4
2
4
3
1
0
2 0 0
![Page 39: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/39.jpg)
[ Experimental results and discussion ]
n: 10-100,000 5000 switches ACQ random
Exp 1: ASF vs. ATF
![Page 40: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/40.jpg)
[ Experimental results and discussion ]
Exp 2: Update vs. Query
![Page 41: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/41.jpg)
[ Experimental results and discussion ]
Exp 3: Frequency of Dis-connection
![Page 42: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/42.jpg)
[ Experimental results and discussion ]
Exp 4: Time per Switching
![Page 43: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/43.jpg)
[ Experimental results and discussion ]
Exp 5: IDQ/ACQ/SCQ
![Page 44: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/44.jpg)
[ Experimental results and discussion ]
Splay tree vs. Treap
IDQ vs. ACQ vs. SCQ
Further study
Discussion
![Page 45: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/45.jpg)
Thanks !
Animation downloaded from: http://www.egglescliffe.org.uk/physics/particles/parts/parts1.html
![Page 46: Dynamic connectivity algorithms for Feynman diagrams](https://reader035.vdocuments.site/reader035/viewer/2022062411/56816841550346895dde1141/html5/thumbnails/46.jpg)
20
0Insert(2) 2
0Rotate(2) 2
0Insert(5)
5
Insert(3)
20
35
Insert(4)20
35
4
Rotate(4)20
3
54
Rotate(4)
20
3
45
0
3
4
5Rotate(4) 2
0
3
4
5Insert(1) 2 1
i W[i] P[i]
012345
205413
324051
[ Data structures and implementations ]
ATF: Insert