Download presentation
Presentation is loading. Please wait.
Published byKenneth Benson Modified over 8 years ago
1
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 1 Parallel Computation and Algorithms by Raymond Greenlaw Armstrong Atlantic State University Parallel Computation and Algorithms by Raymond Greenlaw Armstrong Atlantic State University Joint work with: Larry Ruzzo Department of Computer Science University of Washington Pilar de la Torre Department of Computer Science University of New Hampshire Magnus Halldorsson Decode Genetics Teresa Przytycka Department of Biophysics John Hopkins University Medical School Alex Schaffer National Institute of Health Jim Hoover Computer Science Department University of Alberta Rossella Petreschi Department of Computer Science University of Rome La Sapienza
2
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 2 Parallel Computation and Algorithms by Raymond Greenlaw Armstrong Atlantic State University Parallel Computation and Algorithms by Raymond Greenlaw Armstrong Atlantic State University Part I (a): An Introduction to Parallel Computation Part I (b): P-Complete Problems Part II (a): Rankings Part II (b): Prüfer Codes
3
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 3 Part I (a): An Introduction to Parallel Computation
4
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 4 Part I: Outline Introduction Parallel Models of Computation Basic Complexity Evidence that NC Ρ Ρ-Complete Problems Comparator Circuit Class Open Problems
5
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 5 Part I: Outline Introduction Parallel Models of Computation Basic Complexity Evidence that NC Ρ Ρ-Complete Problems Comparator Circuit Class Open Problems
6
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 6 Introduction Sequential computation: Feasible ~ n O(1) time (polynomial time). Parallel computation: Feasible ~ n O(1) time and ~ n O(1) processors.
7
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 7 Introduction Goal of parallel computation: Develop extremely fast ((log n) O(1) ) time algorithms using a reasonable number of processors. Speedup equation: (best sequential time) (number of processors) Allow a polynomial number of processors. (parallel time).
8
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 8 Introduction Roughly, A problem is feasible if it can be solved by a parallel algorithm with worst case time and processor complexity n O(1). A problem is feasible highly parallel if it can be solved by an algorithm with worst case time complexity (log n) O(1) and processor complexity n O(1). A problem is inherently sequential if it is feasible but has no feasible highly parallel algorithm for its solution.
9
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 9 Part I: Outline Introduction Parallel Models of Computation Basic Complexity Evidence that NC Ρ Ρ-Complete Problems Comparator Circuit Class Open Problems
10
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 10 Parallel Models of Computation Parallel Random Access Machine Model Boolean Circuit Model Circuits and PRAMs
11
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 11 Parallel Random Access Machine RAM Processors Global Memory Cells P0P0 P1P1 P2P2 C0C0 C1C1 C2C2
12
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 12 Boolean Circuit Model 1 01 1 0 ANDOR AND OR NOT
13
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 13 Circuits and PRAMS Theorem: A function f from {0,1}* to {0,1}* can be computed by a logarithmic space uniform Boolean circuit family { n } with depth ( n ) є (logn) O(1) and size ( n ) є n O(1) if and only if f can be computed by a CREW-PRAM M on inputs of length n in time t(n) є (logn) O(1) using p(n) є n O(1).
14
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 14 Part I: Outline Introduction Parallel Models of Computation Basic Complexity Evidence that NC Ρ Ρ-Complete Problems Comparator Circuit Class Open Problems
15
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 15 Basic Complexity Decision, Function, and Search Problems Complexity Classes Reducibility Completeness
16
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 16 Decision, Function, and Search Problems 44 44 33366 Spanning Tree-D Given: An undirected graph G = (V,E) with weights from N labeling edges in E and a natural number k. Problem: Is there a spanning tree of G with cost less than or equal to k ? Spanning Tree-F Given: Same (no k ). Problem: Compute the weight of a minimum cost spanning tree. Spanning Tree-S Given: Same. Problem: Find a minimum cost spanning tree.
17
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 17 Complexity Classes Definitions: P is the set of all languages L that are decidable in sequential time n O(1). NC is the set of all languages L that are decidable in parallel time (logn) O(1) and processors n O(1). FP is the set of all functions from {0,1}* to {0,1}* that are computable in sequential time n O(1). FNC is the set of all functions from {0,1}* to {0,1}* that are computable in parallel time (logn) O(1) and processors n O(1). NC k, k 1, is the set of all languages L such that L is recognized by a uniform Boolean circuit family { n } with size( n ) = n O(1) and depth ( n ) = O((logn) k ).
18
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 18 Definitions: A language L is many-one reducible to a language L’, written L P L’, if there is a function f such that x є L if and only if f(x) є L’. L is P many-one reducible to L’, written L P L’, if the function f is in FP. For k 1, L is NC k many-one reducible to L’, written L NC k L’, if the function f is in FNC k. L is NC many-one reducible to L’, written L NC L’, if the function f is in FNC. Many-One Reducibility mm mm mm mm
19
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 19 Many-One Reducibility mm Lemma: The reducibilities m, P, NC k (k 1), and NC are transitive. –If L’ є P and L P L’, L NC k L’ (k > 1), or L NC L’ then L є P. –If L’ є NC k (k > 1), and L NC k L’ then L є NC k. –If L’ є NC and L NC L’ then L є NC. mm mm mm mm mm mm mm
20
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 20 Turing Reducibility Definition: L is NC Turing reducible to L’, written L NC L’, if and only if the L’-oracle PRAM on inputs of length n uses time (logn) O(1) and processors n O(1). Lemma: The reducibility NC is transitive. –If L NC L’ then L NC L’. –If L NC L’ and L’ є NC then L є NC. –If L NC L’ and L’ є P then L є P. TT TT mm TT TT TT
21
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 21 Completeness Definitions: A language L is P-hard under NC reducibility if L’ NC L for every L’ є P. A language L is P-complete under NC reducibility if L є P and L is P-hard. Theorem: If any P-complete problem is in NC then NC equals P. TT
22
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 22 Part I: Outline Introduction Parallel Models of Computation Basic Complexity Evidence that NC Ρ Ρ-Complete Problems Comparator Circuit Class Open Problems
23
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 23 Evidence That NC P General Simulations Are Not Fast Fast Simulations Are Not General Natural Approaches Provably Fail
24
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 24 Evidence That NC P Gaps in Simulations Model Resource 1 Resource 2 Max R2 C NC Min R2 C P DTM DTM ATM PDA UC PRAM Time = n O(1) 2 Space = n O(1) 2 Space = n O(1) Size = n O(1) Procs = n O(1) Space Reversals log(Treesize) log(Time) Depth Time log n (log n) O(1) (log n) O(1) (log n) O(1) (log n) O(1) (log n) O(1) n O(1) n O(1) n O(1)
25
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 25 Part I (b): Ρ-Complete Problem
26
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 26 Part I: Outline Introduction Parallel Models of Computation Basic Complexity Evidence that NC Ρ Ρ-Complete Problems Comparator Circuit Class Open Problems
27
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 27 P-Complete Problems There are approximately 175 P-complete problems (500 with variations). Categories: –Circuit complexity –Graph theory –Searching graphs –Combinatorial optimization and flow –Local optimality –Logic –Formal languages –Algebra –Geometry –Real analysis –Games –Miscellaneous
28
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 28 Circuit Value Problem Given: An encoding of a Boolean circuit , inputs x 1,…,x n, and a designated output y. Problem: Is output y of TRUE on input x 1,…,x n ? Theorem: [Ladner 75] The Circuit Value Problem is P-complete under NC 1 reductions. mm
29
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 29 P-Complete Variations of CVP –Topologically Ordered [Folklore] –Monotone [Goldschlager 77] –Alternating Monotone Fanin 2, Fanout 2 [Folklore] –NAND [Folklore] –Topologically Ordered NOR [Folklore] –Synchronous Alternating Monotone Fanout 2 CVP [Greenlaw, Hoover, and Ruzzo 87] –Planar [Goldschlager 77]
30
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 30 NAND Circuit Value Problem Given: An encoding of a Boolean circuit that consists solely of NAND gates, inputs x 1,…,x n, and a designated output y. Problem : Is output y of TRUE on input x 1,…,x n ? Theorem: The NAND Circuit Value Problem is P-complete.
31
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 31 NAND Circuit Value Problem Proof: Reduce AM2CVP to NAND CVP. Complement all inputs. Relabel all gates as NAND. 01001 1 1 OR AND OR 1 1 10110 1 1 NAND 1 0
32
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 32 Graph Theory –Lexicographically First Maximal Independent Set [Cook 85] –Lexicographically First ( + 1)-Vertex Coloring [Luby 84] –High Degree Subgraph [Anderson and Mayr 84] –Nearest Neighbor Traveling Salesman Heuristic [Kindervater, Lenstra, and Shmoys 89]
33
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 33 Lexicographically First Maximal Independent Set Theorem: [Cook 85] LFMIS is P-complete. Proof: Reduce TopNOR CVP to LFMIS. Add new vertex 0. Connect to all false inputs. 12345 NOR 9 8 7 6 11000 0 1 12345 67 0 8 9 0 0 X X X X
34
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 34 Searching Graphs –Lexicographically First Depth-First Search Ordering [Reif 85] –Stack Breadth-First Search [Greenlaw 92] –Breadth-Depth Search [Greenlaw 93]
35
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 35 Context-Free Grammar Empty Given: A context-free grammar G = (N,T,P,S). Problem: Is L(G) empty? Theorem: [Jones and Laaser 76], [Goldschlager 81], [Tompa 91] CFGempty is P-complete. Proof: Reduce Monotone CVP to CFGempty. Given construct G = (N,T,P,S) with N, T, S, and P as follows:
36
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 36 Context-Free Grammar Empty N = {i | v i is a vertex in } T = {a } S = n, where v n is the output of . P as follows: 1. For input v i, i a i f value of v i is 1, 2. i jk i f v i v j Λ v k, and 3. i j | k if v i v j V v k. Then the value of v i is 1 if and only if i , where є {a } +. *
37
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 37 CFGempty Example x 1 = 0, x 2 = 0, x 3 = 1, and x 4 = 1. G = (N, T, S, P ), where N = {1, 2, 3, 4, 5, 6, 7 } T = {a } S = 7 P = {3 a, 4 a, 5 1 | 2, 6 34, 7 56} 1234 56 7 x3x3 x4x4 x1x1 x2x2 OR AND
38
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 38 Part I: Outline Introduction Parallel Models of Computation Basic Complexity Evidence that NC Ρ Ρ-Complete Problems Comparator Circuit Class Open Problems
39
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 39 Comparator Circuit Class Definition: [Cook 82] Comparator Circuit Value Problem (CCVP) Given: An encoding of a circuit composed of comparator gates, plus inputs x 1,…,x n, and a designated output y. Problem: Is output y of TRUE on input x 1,…,x n ? Definition: CC is the class of languages NC reducible to CCVP.
40
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 40 CC-Complete Problems –Lexicographically First Maximal Matching [Cook 82] –Telephone Connection [Ramachandran and Wang 91] –Stable Marriage [Mayr and Subramanian 92]
41
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 41 Part I: Outline Introduction Parallel Models of Computation Basic Complexity Evidence that NC Ρ Ρ-Complete Problems Comparator Circuit Class Open Problems
42
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 42 Open Problems Find an NC algorithm or classify as P-complete. –Edge Ranking –Edge-Weighted Matching –Restricted Lexicographically First Maximal Independent Set –Integer Greatest Common Divisor –Modular Powering
43
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 43 Part II (a): Rankings
44
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 44 Part II: Outline Introduction Parallel Preliminaries Node Ranking Edge Ranking Prüfer Codes Open Problems Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
45
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 45 Part II: Outline Introduction Parallel Preliminaries Node Ranking Edge Ranking Prüfer Codes Open Problems Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
46
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 46 Trees Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
47
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 47 Part II: Outline Introduction Parallel Preliminaries Node Ranking Edge Ranking Prüfer Codes Open Problems Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
48
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 48 Parallel Random Access Machine Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw RAM Processors Global Memory Cells P0P0 P1P1 P2P2 C0C0 C1C1 C2C2
49
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 49 Preliminary Parallel Algorithms Brent’s Scheduling Principle Parallel Prefix Computation Euler Tour List Ranking Parallel Tree Contraction Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
50
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 50 Brent’s Scheduling Principle (Brent 1974) If processor allocation is not a problem then a t(n) time parallel algorithm that requires w(n) computational operations can be simulated using w(n)/p(n) + t(n) time and p(n) processors. Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
51
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 51 Example of Brent’s Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
52
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 52 Parallel Prefix Computation (Ladner & Fisher 1980) The Parallel Prefix Problem can be solved in O(log n) time using n/log n processors on an EREW-PRAM. Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
53
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 53 Example of Parallel Prefix Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
54
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 54 Euler Tour (Tarjan & Vishkin 1985) An Euler tour of an n-node tree can be computed in O(log n) time using n/log n processors on an EREW-PRAM. Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
55
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 55 Example of Euler Tour Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
56
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 56 List Ranking (Anderson & Miller 1988) Given a list with n nodes, the List Ranking Problem can be solved in O(log n) time using n/log n processors on an EREW-PRAM. Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
57
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 57 Example of List Ranking Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
58
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 58 Parallel Tree Contraction (He 1986; Miller & Teng 1987; Abrahamson, Dadoun, Kirkpatrick & Przytycka 1989) Let T be an n-leaf regular binary expression tree. Then all of the algebraic expressions associated with the internal nodes (one per node) of T can be evaluated in O(log n) time using n/log n processors on an EREW-PRAM. Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
59
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 59 Example of Tree Contraction Scrunched tree Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
60
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 60 Part II: Outline Introduction Parallel Preliminaries Node Ranking Edge Ranking Prüfer Codes Open Problems Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
61
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 61 Node Ranking A node ranking is a labeling of the nodes of a tree with natural numbers such that if nodes u and v have the same label then there exists another node with a greater label on the path between them. An optimal node ranking is a node ranking in which the largest label assigned to any node is as small as possible among all node rankings. The node ranking problem is to compute an optimal node ranking. Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
62
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 62 Node Ranking Example Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
63
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 63 Node Ranking: Sequential Results Node Ranking Problem O(n log n) time (Iyer, Ratliff & Vijayan 1988) O(n) time (Schaffer 1989) Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
64
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 64 Example of Sequential Node Ranking Algorithm Critical list at * is {3,4} Label 3 at ** covers values 1 and 2 Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
65
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 65 Example of Sequential Node Ranking Algorithm Critical list at * is {3,4} Label 3 at ** covers values 1 and 2 Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
66
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 66 Node Ranking: Parallel Results Approximate Optimal Tree Ranking O(log 2 n) time, n processors EREW-PRAM (Liang, Dhall & Lakshmivarahan 1990) Optimal Tree Ranking O(log n) time, n 2 /log n procs CREW-PRAM (de la Torre & Greenlaw 1991) (Przytycka 1991) Super Critical Tree Numbering O(log n) time, n 2 /log n procs CREW-PRAM (de la Torre, Greenlaw & Przytycka 1992) Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
67
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 67 Part II: Outline Introduction Parallel Preliminaries Node Ranking Edge Ranking Prüfer Codes Open Problems Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
68
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 68 Edge Ranking An edge ranking is a labeling of the edges of a tree with natural numbers such that if edges u and v have the same label then there exists another edge with a greater label on the path between them. An optimal edge ranking is an edge ranking in which the largest label assigned to any edge is as small as possible among all edge rankings. The edge ranking problem is to compute an optimal edge ranking. Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
69
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 69 Edge Ranking Example Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
70
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 70 Edge Ranking: Sequential Results Approximate Edge Ranking O(n log n) time (Iyer, Ratliff & Vijayan 1991) Optimal Edge Ranking O(n 3 log n) time (de la Torre, Greenlaw & Schaffer 1995) O(n 2 log n) time (Zhou, Kashem & Nishizeki 1996) O(n log n) time, O(n) time (Lam & Ling 1996, 1997) Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
71
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 71 From Local to Global Optimality Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
72
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 72 Greedy Cover Labeling L c > L c-1 > … > L 1 is a greedy cover labeling if and only if cover(L i, crit(v j )) lex cover(L i, crit(v i )) for all i and for all j < i. Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
73
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 73 Example of Edge Ranking Algorithm Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
74
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 74 Example of Edge Ranking Algorithm Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
75
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 75 Example of Edge Ranking Algorithm Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
76
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 76 Edge Ranking: Parallel Results Approximate Edge Ranking O(log 2 n) time, n 2 /log n processors CREW-PRAM (de la Torre, Greenlaw & Schaffer 1995) Optimal Edge Ranking of Constant Degree Trees NC (de la Torre, Greenlaw & Schaffer 1995) Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
77
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 77 Motivation for Studying Rankings Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
78
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 78 Motivation for Studying Rankings Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
79
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 79 Part II (b): Prüfer Codes
80
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 80 Part II: Outline Introduction Parallel Preliminaries Node Ranking Edge Ranking Prüfer Codes Open Problems Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
81
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 81 Definition of Prüfer Code A Prüfer code of a labeled free tree with n nodes is a sequence of length n – 2 constructed by the following sequential process: for i ranging from 1 to n – 2 do insert the label of the neighbor of the smallest remaining leaf into the i-th position of the sequence; delete the leaf; Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
82
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 82 Example of a Prüfer Code (9,6,5,6,1,6,1,1) Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
83
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 83 Related Work Prüfer code to tree EREW-PRAM O(log n) time, n processors proposed as an open problem the reverse direction (Wang, Chen & Liu 1997) Tree to Prüfer code EREW-PRAM O(log n) time, n processors (Chen & Wang 1998, Greenlaw & Petreschi 1998) Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
84
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 84 Related Work Continued Chain to Prüfer code EREW-PRAM O(log n) time, n/log n (Greenlaw & Petreschi 1998) Used Prüfer codes for random tree generation (Kumar, Deo & Kumar 1998) Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
85
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 85 Can Sequential Algorithm Prüfer Code Be Parallelized? Initial intuition suggests no. What type of running time do we want? How do we proceed? Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
86
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 86 Parallel Algorithm Prüfer Chain The Prüfer code of this chain is (2,8,3,7,5,6) Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
87
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 87 Parallel Algorithm Prüfer Chain Step 1: /* Compute the position of each node in the chain. */ 1.Use parallel list ranking to construct the array Position such that Position[i] = v, 1 i n, where node v has a ranking of i in T 43756821 12345678 Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
88
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 88 Parallel Algorithm Prüfer Chain Step 2: /* Compute the maximum nodes encountered thus far in left-to-right and right-to-left traversals over the chain. */ 2. Use parallel prefix computation to construct the arrays LRMax and RLMax LRMax[i] = max{Position[j] | 1 j i} RLMax[i] = max{Position[j] | n – i + 1 j n} 0447778889 0128888889 Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
89
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 89 Parallel Algorithm Prüfer Chain Step 3: /* Compute when a node becomes a maximum (if it does) for both left- to-right and right-to-left traversals. */ 3. For 1 i n in parallel do if LRMax[i-1] LRMax[i] then LRStart[LRMax[i]] = i; if RLMax[i-1] RLMax[i] then RLStart[RLMax[i]] = i; 00010036 12000003 Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
90
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 90 Parallel Algorithm Prüfer Chain Step 4: /* Compute when a node is no longer a maximum (if it was) for both left-to-right and right-to-left traversals. */ 4. For 1 i n in parallel do if LRMax[i] LRMax[i+1] then LREnd[LRMax[i]] = i; if RLMax[i] RLMax[i+1] then RLEnd[RLMax[i]] = i; 00020058 12000008 Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
91
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 91 Parallel Algorithm Prüfer Chain Step 5: /* Compute how many positions a node was maximum for. */ 5. For 1 i n in parallel do if LRStart[i] 0 then LRSpan[i] = LREnd[i] - LRStart[i] + 1; if RLStart[i] 0 then RLSpan[i] = RLEnd[i] - RLStart[i] + 1; 000020033 011000006 Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
92
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 92 Parallel Algorithm Prüfer Chain Step 6: /* Compute how many nodes a given node is greater than from the left. Similiarly for the right. */ 6.Use parallel prefix to construct the array LeftClear and RightClear, where 1 i n LeftClear[i] = LRSpan[0] + … + LRSpan[i-1]; RightClear[i] = RLSpan[0] + … + RLSpan[i-1]; 00002225 01222222 Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
93
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 93 Parallel Algorithm Prüfer Chain Step 7: /* Removal[i] denotes when the node in Position[i] is removed. */ 7. For 1 i n in parallel do if RLMax[n-i] > LRMax[i-1] then k = LRMax[i]; Removal[i] = i + RightClear[k]; else k = RLMax[n-i+1]; Removal[i] = (n – i) + 1 + LeftClear[k]; 34567821 Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
94
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 94 Theorem on Chains (Greenlaw & Petreschi 1998) The Prüfer code of an n-node labeled chain can be computed in O(log n) time using n/log n processors on an EREW-PRAM. Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
95
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 95 Parallel Algorithm Prüfer Tree Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
96
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 96 Parallel Algorithm Prüfer Tree Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
97
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 97 Theorem on Trees (Greenlaw, Halldorsson & Petreschi 1999) The Prüfer code of an n-node labeled free tree can be computed in O(log n) time using n/log n processors on an EREW-PRAM. In the other direction we show Given the Prüfer code of an n-node labeled chain we can output the corresponding chain in O(log n) time using n/log n processors on an EREW-PRAM. Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
98
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 98 Prüfer Code Summary Tree to P-codeP-code to Tree sequentialO(n) folkloreO(n) (K 78) parallelO(log n) time, n processors EREW-PRAM (CW 98, GP 98) O(log n) time, n processors EREW-PRAM (WCL 97) For a chain O(log n) time, n/log n processors EREW-PRAM (GHP 99) For a chain O(log n) time, n/log n processors EREW-PRAM (GHP 99) For a tree O(log n) time, n/log n processors EREW-PRAM (GHP 99) Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
99
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 99 Part II: Outline Introduction Parallel Preliminaries Node Ranking Edge Ranking Prüfer Codes Open Problems Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
100
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 100 Open Problems Can an optimal parallel algorithm be developed for building a tree given its Prüfer code? Can the Element Distinctness Problem be solved on a CREW-PRAM in O(log n) time using n/log n processors? Is the edge ranking problem on trees P-complete? Can all n-node trees be labeled with the values 1 through n such that neighors receive pairwise relatively prime labels? Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
101
Parallel Computation and Algorithms, Part I: An Introduction to Parallel Computation and Ρ-Completeness Theory Raymond Greenlaw 101 References See www.cs.armstrong.edu/greenlaw Parallel Computation and Algorithms, Part II: Sequential and Parallel Algorithms for Tree Problems Raymond Greenlaw
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.