+ All Categories
Home > Documents > Experiments on Union-Find Algorithms for the Disjoint-Set Data...

Experiments on Union-Find Algorithms for the Disjoint-Set Data...

Date post: 09-Jul-2020
Category:
Upload: others
View: 7 times
Download: 0 times
Share this document with a friend
71
Introduction Variations of Classical Algorithms Implementation Enhancements The Fastest Algorithms Experiments on Union-Find Algorithms for the Disjoint-Set Data Structure Md. Mostofa Ali Patwary* Jean Blair** Fredrik Manne* *Department of Informatics, University of Bergen, Norway **Department of EE and CS,United States Military Academy, USA May 20-22, 2010 SEA 2010, Italy. Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms
Transcript
Page 1: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Experiments on Union-Find Algorithms for theDisjoint-Set Data Structure

Md. Mostofa Ali Patwary* Jean Blair** Fredrik Manne*

*Department of Informatics, University of Bergen, Norway

**Department of EE and CS,United States Military Academy, USA

May 20-22, 2010SEA 2010, Italy.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 2: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Overview

I Extensive experimental study comparing 55 differentvariations of Union-Find algorithm.

I The study includes:I All the classical algorithms.I Several recently suggested enhancements.I Different combinations and optimizations of these.

I Main Result: A somewhat forgotten simple algorithmdeveloped by Martin Rem in 1976 is the fastest algorithm.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 3: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Related Experimental Studies

Reference Application Computing # of Algorithms

[Liu, 1990] Sparse matrix Factorization 2

[Gilbert et al., 1994] Sparse matrix Factorization 6

[Wassenberg et al., 2008] Image processing Labeling 8

[Wu et al., 2009] Image processing Labeling 3

[Hynes, 1998] Graphs Connected components 18

[Osipov et al., 2009] Graphs Minimum spanning tree 2

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 4: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Outline

IntroductionApplications and DefinitionsMain Operations (Union-Find)

Variations of Classical AlgorithmsUnion TechniquesCompression TechniquesInterleaved Algorithms

Implementation Enhancements1. Immediate Parent Check [Osipov et al., 2009]2. Better Interleaved Algorithms [Manne and Patwary, 2009]3. Memory Efficient Algorithms

The Fastest Algorithms

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 5: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Applications and DefinitionsMain Operations (Union-Find)

Disjoint-Set Data Structure: Definitions

I U ⇒ set of n elements and Si ⇒ a subset of U.

I S1 and S2 are disjoint if S1 ∩ S2 = ∅.I Maintains a dynamic collection S1, S2, . . . Sk of disjoint sets

which together cover U.

I Each set is identified by a representative x .

I A set of algorithms that operate on this data structure isoften referred to as a Union-Find algorithm.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 6: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Applications and DefinitionsMain Operations (Union-Find)

Main Operations

I Each set is represented by a rootedtree, pointer towards root.

I The element in the root node isthe representative of the set.

I Parent pointer p(x) denotes theparent of node x .

I Two main operations.I Find(x).I Union(x , y).

b

ce

d

a

Figure: Si = {a, b, c , d , e}.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 7: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Applications and DefinitionsMain Operations (Union-Find)

Find(x)

I To which set does a given elementx belong ⇒ Find(x).

I Returns the root (representative)of the set that contain x .

a

b

c

d

e

Figure: Find(d).

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 8: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Applications and DefinitionsMain Operations (Union-Find)

Union(x , y)

I Create a new set from the union oftwo existing sets containing x andy ⇒ Union(x , y).

I Change the parent pointer of oneroot to the other one.

a

b

ce

dg

f

Figure: Union(c , g).

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 9: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Applications and DefinitionsMain Operations (Union-Find)

Union(x , y)

I Create a new set from the union oftwo existing sets containing x andy ⇒ Union(x , y).

I Change the parent pointer of oneroot to the other one.

a

b

ce

dg

f

Figure: Union(c , g).

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 10: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Applications and DefinitionsMain Operations (Union-Find)

Use of Union-Find for Computing Connected Components: G = (V ,E )

1: S ← ∅2: for each x ∈ V do3: Makeset(x)4: for each (x , y) ∈ E do5: if Find(x) 6= Find(y) then6: Union(x , y)7: S ← S ∪ {(x , y)}

I Note that if the edges areprocessed by increasingweight then this algorithm isKruskal’s algorithm.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 11: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

Union Techniques

I Naive-Link (nl)

I Link-by-Size (ls)

I Link-by-Rank (lr)

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 12: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

Union Techniques : Link-by-Rank (lr)

I Each set maintains arank value, intially 0.

I Lowest ranked root⇒ higher ranked root.

I Equal ranked roots ⇒root of the combinedtree is increased by 1.

a

b

ce

dg

f2 1

Figure: Union.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 13: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

Union Techniques : Link-by-Rank (lr)

I Each set maintains arank value, intially 0.

I Lowest ranked root⇒ higher ranked root.

I Equal ranked roots ⇒root of the combinedtree is increased by 1.

a

b

ce

dg

f2 1

Figure: Union.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 14: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

Union Techniques : Link-by-Rank (lr)

I Each set maintains arank value, intially 0.

I Lowest ranked root⇒ higher ranked root.

I Equal ranked roots ⇒root of the combinedtree is increased by 1.

a

b

ce

dg

f2 2

ih

Figure: Union.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 15: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

Union Techniques : Link-by-Rank (lr)

I Each set maintains arank value, intially 0.

I Lowest ranked root⇒ higher ranked root.

I Equal ranked roots ⇒root of the combinedtree is increased by 1.

a

b

ce

dg

f2 2

ih

3

Figure: Union.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 16: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

Compression Techniques

I Naive-Find (nf)

I Path-Compression (pc)

I Path-Splitting (ps)

I Path-Halving (ph)

I Type-0-Reversal (r0)

I Type-1-Reversal (r1)

I Collapsing (co)

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 17: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

Compression Techniques

I Reduce the height of the treeduring the Find operation.

I Subsequent Find operationsrequire less time.

I Find-path of a node x is the pathof parent pointers from x upto theroot of the tree.

a

b

c

d

e

Figure: Find-path(d).

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 18: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

Compression Techniques : Path-Compression (pc)

I Set the parentpointers of all nodesin the find path tothe root.

I Need to traverse thefind-path twice.

a

b

c

d

e

Figure: Find(e) with pc

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 19: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

Compression Techniques : Path-Compression (pc)

I Set the parentpointers of all nodesin the find path tothe root.

I Need to traverse thefind-path twice.

a

b

c

d

e

a

b

c

d

e

Figure: Find(e) with pc

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 20: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

Compression Techniques : Path-Halving (ph)

I Set the parentpointers of everyother nodes in thefind-path to itsgrandparent.

I Traverse the find-pathonce.

a

b

c

d

e

Figure: Find(e) with ph

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 21: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

Compression Techniques : Path-Halving (ph)

I Set the parentpointers of everyother nodes in thefind-path to itsgrandparent.

I Traverse the find-pathonce.

a

b

c

d

e

a

b

c

d

e

Figure: Find(e) with ph

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 22: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

Compression Techniques : Collapsing (co)

I Every node pointsdirectly to the root.

I Find operation takesconstant time.

I In a Unionoperation, all nodesof one tree point tothe root of other tree.

e

fg

a

bc

d

Figure: co

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 23: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

Compression Techniques : Collapsing (co)

I Every node pointsdirectly to the root.

I Find operation takesconstant time.

I In a Unionoperation, all nodesof one tree point tothe root of other tree.

e

fg

a

bc

d

e

fg

a

bc

d

Figure: co

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 24: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

Worst Case Complexity

I For any combination of m Makeset, Union and Findoperations on n elements.

Union Compression Complexity

nl nf O(mn)

nl pc, ph, ps O(m log(1+m/n) n)

nl co O(m + n2)

nl, lr, ls r0, r1 O(n +m log n)

lr, ls co O(m + n log n)

lr, ls pc, ph, ps O(m · α(m, n))

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 25: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

Interleaved (Int) Algorithm

I During a Union operation, the two Find are performed as asingle interleaved operation.

I The first Int algorithm is Rem’s algorithm [Dijkstra, 1976].

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 26: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

The rem Algorithm [Dijkstra, 1976]

I Each node has a unique identifier ⇒ index of the node.

I Lowered numbered node points to higher numbered node orto itself (if it is a root).

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 27: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

The rem Algorithm: Example - Edge (x , y)

x yu v

x

ry

r

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 28: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

The rem Algorithm: Different Sets - Compare ID of Parents

x yu v

p(u) < p(v)

x

ry

r

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 29: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

The rem Algorithm: Different Sets - Compare ID of Parents

x yv

u

x

ry

r

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 30: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

The rem Algorithm: Different Sets - Compare ID of Parents

y

p(u) > p(v)

vx

u

x

ry

r

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 31: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

The rem Algorithm: Different Sets - Compare ID of Parents

u

yx

v

x

ry

r

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 32: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

The rem Algorithm: Different Sets - Compare ID of Parents

uvp(u) < p(v)

x y

x

ry

r

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 33: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

The rem Algorithm: Different Sets - Compare ID of Parents

uv

x y

x

ry

r

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 34: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

The rem Algorithm: Different Sets - Compare ID of Parents

uv

x y

x

ry

r

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 35: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

The rem Algorithm: Same Set - Edge (x , y)

yx

r

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 36: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

The rem Algorithm: Same Set - Edge (x , y)

yx

u v

r

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 37: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

The rem Algorithm: Same Set - Edge (x , y)

yx

u v

r

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 38: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

The rem Algorithm: Compression

Splicing (sp)

I Set parent pointer to a highervalued node ⇒ compressing thetree.

I Intuition: Higher valued nodeshould be closer to the root.

I The running time of remsp isO(m log(2+m/n) n).

vu13 12

18

17

15

14

20

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 39: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

The rem Algorithm: Compression

Splicing (sp)

I Set parent pointer to a highervalued node ⇒ compressing thetree.

I Intuition: Higher valued nodeshould be closer to the root.

I The running time of remsp isO(m log(2+m/n) n).

v13 12

18

17

15

14

20

u

p(u) < p(v)

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 40: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

The rem Algorithm: Compression

Splicing (sp)

I Set parent pointer to a highervalued node ⇒ compressing thetree.

I Intuition: Higher valued nodeshould be closer to the root.

I The running time of remsp isO(m log(2+m/n) n).

v13 12

18

17

15

14

20

u

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 41: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

The rem Algorithm: Compression

Splicing (sp)

I Set parent pointer to a highervalued node ⇒ compressing thetree.

I Intuition: Higher valued nodeshould be closer to the root.

I The running time of remsp isO(m log(2+m/n) n).

v13 12

18

17

15

14

20

u

p(u) < p(v)

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 42: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

The rem Algorithm: Compression

Splicing (sp)

I Set parent pointer to a highervalued node ⇒ compressing thetree.

I Intuition: Higher valued nodeshould be closer to the root.

I The running time of remsp isO(m log(2+m/n) n).

v13 12

18

17

15

14

20

u

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 43: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

A Variation of rem: “tvl” [Tarjan and van Leeuwen, 1984]

I Uses ranks rather than identifier.

I This algorithms is slightly more complicated than rem.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 44: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

Test Sets and Experimental Setup

I Dell computer, Intel Core 2 CPU (2.40 GHz), Fedora 10,C++ and GCC (-O3).

I Three test sets.1. rw: 9 real world graphs.

I Linear programming, Medical science.I Structural engineering, Civil engineering.I Automotive industry.

2. sw: 5 synthetic small world graphs .3. er: 6 synthetic Erdos-Renyi random graphs.

I For each graph: 5 runs with 5 different random orderings ofedges.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 45: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

Structural Properties of the Input Graphs

Graph |V | |E | Comp Max Deg Avg Deg# Edges

Processed

rw1 (m t1) 97,578 4,827,996 1 236 99 692,208rw2 (crankseg 2) 63,838 7,042,510 1 3,422 221 803,719rw3 (inline 1) 503,712 18,156,315 1 842 72 5,526,149rw4 (ldoor) 952,203 22,785,136 1 76 48 7,442,413rw5 (af shell10) 1,508,065 25,582,130 1 34 34 9,160,083rw6 (boneS10) 914,898 27,276,762 1 80 60 11,393,426rw7 (bone010) 986,703 35,339,811 2 80 72 35,339,811rw8 (audikw 1) 943,695 38,354,076 1 344 81 10,816,880rw9 (spal 004) 321,696 45,429,789 1 6,140 282 28,262,657

sw1 50,000 6,897,769 17,233 6,241 276 6,897,769sw2 75,000 12,039,043 9,467 8,624 321 12,039,043sw3 100,000 16,539,557 34,465 10,470 331 16,539,557sw4 175,000 26,985,391 43,931 14,216 308 26,985,391sw5 200,000 34,014,275 68,930 16,462 340 34,014,275

er1 100,000 453,803 24 25 9 453,803er2 100,000 1,650,872 1 61 33 603,141er3 500,000 2,904,660 8 30 12 2,904,660er4 1,000,000 5,645,880 31 31 11 5,645,880er5 500,000 9,468,353 1 70 38 3,476,740er6 1,000,000 20,287,048 1 76 41 7,347,376

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 46: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

Relative performance of the classical algorithms

CL Compression Technique

Union nf pc ph ps co r0 r1 sp

nl lrpc1 lrph2 remsp3 remsp3 lrpc1 lrpc1 lrpc1

lr lrpc1 Ê Ëremsp3 remsp3 remsp3 lrpc1 lrpc1

ls lrpc1 lrpc1 remsp3 remsp3 remsp3 lrpc1 lrpc1

rem lrpc1 remsp3 undom. Ì undom.

tvl lrpc1 lrpc1 remsp3 lrph2

Table: 29 variations of classical algorithms. Each cell is an algorithm.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 47: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

X dominates Y

I An algorithm X dominates another algorithm Y if X performsat least as well as Y .

I Since lrpc and lrph are generally accepted as best, webegin by examining these.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 48: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

Relative performance of the classical algorithms

CL Compression Technique

Union nf pc ph ps co r0 r1 sp

nl lrpc1 lrph2 remsp3 remsp3 lrpc1 lrpc1 lrpc1

lr lrpc1 Ê lrph2 Ëremsp3 remsp3 remsp3 lrpc1 lrpc1

ls lrpc1 lrpc1 remsp3 remsp3 remsp3 lrpc1 lrpc1

rem lrpc1 remsp3 undom. Ì undom.

tvl lrpc1 lrpc1 remsp3 lrph2

Table: 29 variations of classical algorithms.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 49: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

Relative performance of the classical algorithms

CL Compression Technique

Union nf pc ph ps co r0 r1 sp

nl lrpc1 lrph2 remsp3 remsp3 lrpc1 lrpc1 lrpc1

lr lrpc1 Ê lrph2 Ëremsp3 remsp3 remsp3 lrpc1 lrpc1

ls lrpc1 lrpc1 remsp3 remsp3 remsp3 lrpc1 lrpc1

rem lrpc1 remsp3 undom. Ì undom.

tvl lrpc1 lrpc1 remsp3 lrph2

Table: lrpc dominates 14 algorithms.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 50: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

Relative performance of the classical algorithms

CL Compression Technique

Union nf pc ph ps co r0 r1 sp

nl lrpc1 lrph2 remsp3 remsp3 lrpc1 lrpc1 lrpc1

lr lrpc1 Ê lrph2 Ëremsp3 remsp3 remsp3 lrpc1 lrpc1

ls lrpc1 lrpc1 remsp3 remsp3 remsp3 lrpc1 lrpc1

rem lrpc1 remsp3 undom. Ì undom.

tvl lrpc1 lrpc1 remsp3 lrph2

Table: lrph dominates 3 additional, including lrpc - Total 17.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 51: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

Relative performance of the classical algorithms

CL Compression Technique

Union nf pc ph ps co r0 r1 sp

nl lrpc1 lrph2 remsp3 remsp3 lrpc1 lrpc1 lrpc1

lr lrpc1 Ê lrph2 Ëremsp3 remsp3 remsp3 lrpc1 lrpc1

ls lrpc1 lrpc1 remsp3 remsp3 remsp3 lrpc1 lrpc1

rem lrpc1 remsp3 undom. Ì undom.

tvl lrpc1 lrpc1 remsp3 lrph2

Table: remsp dominates 10 of remaining, including lrph - Total 27.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 52: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Union TechniquesCompression TechniquesInterleaved Algorithms

Relative performance of the classical algorithms Figure

CL Compression Technique

Union nf pc ph ps co r0 r1 sp

nl lrpc1 lrph2 remsp3 remsp3 lrpc1 lrpc1 lrpc1

lr lrpc1 Ê lrph2 Ëremsp3 remsp3 remsp3 lrpc1 lrpc1

ls lrpc1 lrpc1 remsp3 remsp3 remsp3 lrpc1 lrpc1

rem lrpc1 remsp3 undom. Ì undom.

tvl lrpc1 lrpc1 remsp3 lrph2

Table: Only 2 algorithms are undominated.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 53: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

1. Immediate Parent Check [Osipov et al., 2009]2. Better Interleaved Algorithms [Manne and Patwary, 2009]3. Memory Efficient Algorithms

Implementation Enhancements

I Ways to make the classical algorithms faster.I Enhancements:

1. Immediate parent check [Osipov et al., 2009].2. Better interleaved algorithms [Manne and Patwary, 2009].3. Memory efficient algorithms, Reduce memory usage.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 54: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

1. Immediate Parent Check [Osipov et al., 2009]2. Better Interleaved Algorithms [Manne and Patwary, 2009]3. Memory Efficient Algorithms

Enhancement 1: Immediate Parent Check (ipc) [Osipov et al., 2009]

I ipc applies to any classical algorithm (rem alreadyimplements ipc).

I {ipc} X {lr, ls} X {pc, ph, ps}I {ipc} X {tvl} X {pc, ps, sp}I 9 more variations.

I remsp dominates all 9 variations.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 55: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

1. Immediate Parent Check [Osipov et al., 2009]2. Better Interleaved Algorithms [Manne and Patwary, 2009]3. Memory Efficient Algorithms

Enhancement 2: Better Interleaved Algorithms (Int) [Manne and Patwary, 2009]

I Better interleaved algorithms than tvl ⇒ etvl, zz.

I {etvl} X {pc, ps, sp}I {zz} X {pc, ps}I 5 more variations.

I remsp dominates all 5 variations.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 56: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

1. Immediate Parent Check [Osipov et al., 2009]2. Better Interleaved Algorithms [Manne and Patwary, 2009]3. Memory Efficient Algorithms

Enhancement 3: Memory Efficient (ms) Algorithms

I Reduce memory used by each algorithm.

I {ms} X {nl} X {pc, ps}.I {ms} X {lr, ls} X {pc, ps, co}.I {ms} X {ipc} X {lr, ls} X {pc, ps}.I 12 more variations.

I Note that rem does not use size or rank, so it isautomatically an ms algorithm.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 57: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

1. Immediate Parent Check [Osipov et al., 2009]2. Better Interleaved Algorithms [Manne and Patwary, 2009]3. Memory Efficient Algorithms

Enhancement 3: ms relative performance

ms-Union Compression TechniqueMethod pc ps co sp

nl remsp3 remsp3

lr remsp3↑ undom.↑ undom.↑

ls remsp3↑ undom.↑ undom.↑

ipc-lr undom.↑ undom.

ipc-ls remsp3 remsp3

rem remsp3≡ undom.≡ Ì undom.≡

Table: 12 more variations. Shaded row has already been considered.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 58: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

1. Immediate Parent Check [Osipov et al., 2009]2. Better Interleaved Algorithms [Manne and Patwary, 2009]3. Memory Efficient Algorithms

Enhancement 3: ms relative performance

ms-Union Compression TechniqueMethod pc ps co sp

nl remsp3 remsp3

lr remsp3↑ undom.↑ undom.↑

ls remsp3↑ undom.↑ undom.↑

ipc-lr undom.↑ undom.

ipc-ls remsp3 remsp3

rem remsp3≡ undom.≡ Ì undom.≡

Table: remsp dominates 6 algorithms - Total 47 of 55.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 59: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

1. Immediate Parent Check [Osipov et al., 2009]2. Better Interleaved Algorithms [Manne and Patwary, 2009]3. Memory Efficient Algorithms

Enhancement 3: ms relative performance Figure

ms-Union Compression TechniqueMethod pc ps co sp

nl remsp3 remsp3

lr remsp3↑ undom.↑ undom.↑

ls remsp3↑ undom.↑ undom.↑

ipc-lr undom.↑ undom.

ipc-ls remsp3 remsp3

rem remsp3≡ undom.≡ Ì undom.≡

Table: 6 algorithms are undominated - Total 8 undominated of 55.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 60: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

The Fastest Algorithms

I Different metric than the dominates technique.

I Fictious algorithm (Global-Min) ⇒ run-time equal to thebest of any algorithm for each graph.

I For each algorithm

1. Compute average relative time for each graph.2. Compute average relative time for each type of graph (rw, sw

and er).3. Compute average of the three types ⇒ final average.

I Rank the order of the algorithms based on final averages.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 61: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Rank order of the fastest algorithms Figure

AlgorithmRank based on graphs of type

All graphs Real-World Small-World Erdos-Renyi

remsp 1 1 1 1remps 2 5 2 4ms-ipc-lrpc 3 6 3 7ms-lsps 4 2 10 2ms-ipc-lspc 5 8 4 8ms-lrps 6 4 13 3ms-ipc-lrps 7 3 11 5ms-lsco 8 9 6 9ms-lrco 9 10 5 10ms-ipc-lsps 10 7 15 6

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 62: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

The Fastest Algorithms: Observations

I All the top 10 algorithms use msenhancement.

I 8 out of top 10 are one pass algorithms.

I Out of the top 5 algorithms, 2 uses pc.

I lrpc, lrph are not in top 10.

1. remsp

2. remps

3. ms-ipc-lrpc

4. ms-lsps

5. ms-ipc-lspc

6. ms-lrps

7. ms-ipc-lrps

8. ms-lsco

9. ms-lrco

10. ms-ipc-lsps

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 63: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Related Experimental Studies: Improvement

Reference # of Recommended remspAlgorithms Algorithm improves by

[Liu, 1990] 2 nlpc 56%

[Gilbert et al., 1994] 6 nlph 45%

[Wassenberg et al., 2008] 8 lrco 24%

[Wu et al., 2009] 3 lipc 48%

[Hynes, 1998] 18 lico, lsco 28%, 24%

[Osipov et al., 2009] 2 ipc-lrpc 29%

- - lrpc 52%

- - lrph 28%

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 64: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Future Works

I Extend to other application areas.

I Consider arbitrary sequences of intermixed Makeset,Union, and Find operations.

I More formal profiling including cache misses, pointer jumps,number of comparisons etc.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 65: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Thank you.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 66: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Best Enhanced Classical Algorithm

I Best enhancedclassical algorithm isms-ipc-lrpc.

I remsp improved overms-ipc-lrpc : 12%

(-3%-18%) rw1 rw2 rw3 rw4 rw5 rw6 rw7 rw8 rw9 sw1sw2sw3 sw4sw5 er1 er2 er3 er4 er5 er680

85

90

95

100

105

110

Graphs

Per

cent

of M

S−

IPC

−LR

PC

tim

e

MS−IPC−LRPC

RemPS

RemSP

Figure: Improvement over ms-ipc-lrpc.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 67: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

How much improvement

I remsp substantially outperforms lrpc even thoughtheoritically inferior.

I lrpc ⇒ real world, algorithm courses, libraries.

I remsp improved over lrpc: 52% (38%-66%)

I remsp improved over lrph: 28% (15%-45%)

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 68: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Bibliography I

Dijkstra, E. W. (1976).A Discipline of Programming.Prentice-Hall.

Gilbert, J. R., Ng, E. G., and Peyton, B. W. (1994).An efficient algorithm to compute row and column counts forsparse Cholesky factorization.SIAM J. Matrix Anal. Appl., 15(4):1075–1091.

Hynes, R. (1998).A new class of set union algorithms.Master’s thesis, Department of Computer Science, Universityof Toronto, Canada.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 69: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Bibliography II

Liu, J. W. H. (1990).The role of elimination trees in sparse factorization.SIAM J. Matrix Anal. Appl., 11:134–172.

Manne, F. and Patwary, M. M. A. (2009).A scalable parallel union-find algorithm for distributed memorycomputers.To appear in the proceedings of PPAM 2009, LNCS.

Osipov, V., Sanders, P., and Singler, J. (2009).The filter-Kruskal minimum spanning tree algorithm.In ALENEX, pages 52–61.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 70: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Bibliography III

Tarjan, R. E. and van Leeuwen, J. (1984).Worst-case analysis of set union algorithms.J. ACM, 31(2):245–281.

Wassenberg, J., Bulatov, D., Middelmann, W., and Sanders,P. (2008).Determination of maximally stable extremal regions in largeimages.In From Proceeding of Signal Processing, Pattern Recognition,and Applications (SPPRA). Acta Press.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms

Page 71: Experiments on Union-Find Algorithms for the Disjoint-Set Data …users.eecs.northwestern.edu/~mpatwary/sea2010-slides.pdf · Use of Union-Find for Computing Connected Components:

IntroductionVariations of Classical Algorithms

Implementation EnhancementsThe Fastest Algorithms

Bibliography IV

Wu, K., Otoo, E., and Suzuki, K. (2009).Optimizing two-pass connected-component labelingalgorithms.Pattern Anal. Appl., 12(2):117–135.

Md. Mostofa Ali Patwary, Jean Blair, and Fredrik Manne Experiments on Union-Find Algorithms


Recommended