MapSets: Visualizing Embedded and Clustered Graphs Sergey Pupyrev - - PowerPoint PPT Presentation

mapsets visualizing embedded and clustered graphs
SMART_READER_LITE
LIVE PREVIEW

MapSets: Visualizing Embedded and Clustered Graphs Sergey Pupyrev - - PowerPoint PPT Presentation

MapSets: Visualizing Embedded and Clustered Graphs Sergey Pupyrev University of Arizona Joint work with Alon Efrat, Yifan Hu and Stephen Kobourov Euler diagrams [Simonetto Auber Archambault, CGF09] BubbleSets [Collins Penn Carpendale,


slide-1
SLIDE 1

MapSets: Visualizing Embedded and Clustered Graphs

Sergey Pupyrev University of Arizona

Joint work with Alon Efrat, Yifan Hu and Stephen Kobourov

slide-2
SLIDE 2
slide-3
SLIDE 3
slide-4
SLIDE 4
slide-5
SLIDE 5

Euler diagrams

[Simonetto Auber Archambault, CGF’09]

slide-6
SLIDE 6

BubbleSets

[Collins Penn Carpendale, TVCG’09]

slide-7
SLIDE 7

LineSets

[Alper Riche Ramos Czerwinski, TVCG’11]

slide-8
SLIDE 8

KelpFusion

[Meulemans Riche Speckmann Alper Dwyer, TVCG’13]

slide-9
SLIDE 9

GMap (Graph-to-Map)

[Hu Gansner Kobourov, CGA’10]

slide-10
SLIDE 10

a better solution

slide-11
SLIDE 11

a better solution all regions are contiguous and disjoint

slide-12
SLIDE 12

There is always a solution...

slide-13
SLIDE 13

There is always a solution...

slide-14
SLIDE 14

There is always a solution...

slide-15
SLIDE 15

There is always a solution...

slide-16
SLIDE 16

...but not all look the same!

slide-17
SLIDE 17

...but not all look the same!

How to construct disjoint contigous regions, that are as convex as possible? Main Question

slide-18
SLIDE 18

...but not all look the same!

MapSets – such a technique, available at How to construct disjoint contigous regions, that are as convex as possible? Main Question Result MapSets: – available at http://gmap.cs.arizona.edu – guarantees non-fragmented non-overlapping regions – based on a novel geometric problem aiming at

  • ptimizing convexity
slide-19
SLIDE 19

How to measure convexity?

slide-20
SLIDE 20

How to measure convexity?

how many points “see” each other Def.(visibility-based):

slide-21
SLIDE 21

How to measure convexity?

how many points “see” each other Def.(visibility-based): Def.(ink-based): length of the shortest spanning tree inside the polygon

slide-22
SLIDE 22

How to measure convexity?

how many points “see” each other Def.(visibility-based): Def.(ink-based): length of the shortest spanning tree inside the polygon

slide-23
SLIDE 23

How to measure convexity?

how many points “see” each other Def.(visibility-based): Def.(ink-based): length of the shortest spanning tree inside the polygon

slide-24
SLIDE 24

How to measure convexity?

how many points “see” each other Def.(visibility-based): Def.(ink-based): length of the shortest spanning tree inside the polygon

slide-25
SLIDE 25

How to measure convexity?

how many points “see” each other Def.(visibility-based): Def.(ink-based): length of the shortest spanning tree inside the polygon

slide-26
SLIDE 26

MapSets http://gmap.cs.arizona.edu

Input

slide-27
SLIDE 27

MapSets http://gmap.cs.arizona.edu

Step 1: Tree Construction

(optimizing ink-based convexity)

slide-28
SLIDE 28

MapSets http://gmap.cs.arizona.edu

Step 2: Force-directed Adjustment

slide-29
SLIDE 29

MapSets http://gmap.cs.arizona.edu

Step 3: Edge Augmentation

(optimizing visibility-based convexity)

slide-30
SLIDE 30

MapSets http://gmap.cs.arizona.edu

Step 4: Adding Dummy Points

(borrowed from GMap)

slide-31
SLIDE 31

MapSets http://gmap.cs.arizona.edu

Step 5: Computing Regions

(borrowed from GMap)

slide-32
SLIDE 32

Examples

MapSets Dataset: genetic similarities between individuals in Europe 50 vertices, 7 clusters BubbleSets

slide-33
SLIDE 33

Examples

MapSets Dataset: genetic similarities between individuals in Europe 50 vertices, 7 clusters KelpFusion

slide-34
SLIDE 34

Examples

MapSets Dataset: genetic similarities between individuals in Europe 50 vertices, 7 clusters GMap

slide-35
SLIDE 35

Examples

MapSets w/o optimizing ink

slide-36
SLIDE 36

Examples

MapSets w/o optimizing ink

ink = 1023 ink = 1512

slide-37
SLIDE 37

Colored (Euclidean) Spanning Trees

Input k-colored point set in R2

slide-38
SLIDE 38

Colored (Euclidean) Spanning Trees

Input k-colored point set in R2 Output k non-crossing Steiner trees

slide-39
SLIDE 39

Colored (Euclidean) Spanning Trees

Input k-colored point set in R2 Output k non-crossing Steiner trees CST: Minimize total length!

slide-40
SLIDE 40

Colored (Euclidean) Spanning Trees

Observation 1 CST is NP-hard

slide-41
SLIDE 41

Colored (Euclidean) Spanning Trees

Observation 1 CST is NP-hard, even if k = 1

slide-42
SLIDE 42

Colored (Euclidean) Spanning Trees

Observation 1 CST is NP-hard, even if k = 1 Observation 2 CST is NP-hard, even if – Steiner points are not allowed – every cluster consists of two points

[Bastert Fekete, TR’96]

slide-43
SLIDE 43

Colored (Euclidean) Spanning Trees

Observation 1 CST is NP-hard, even if k = 1 Observation 2 CST is NP-hard, even if – Steiner points are not allowed – every cluster consists of two points

[Bastert Fekete, TR’96]

slide-44
SLIDE 44

Colored (Euclidean) Spanning Trees

Observation 1 CST is NP-hard Observation 3 CST (with k = n/2) is equivalent to , even if k = 1 Observation 2 CST is NP-hard, even if – Steiner points are not allowed – every cluster consists of two points

  • Min. Length Embedding of Matchings at Fixed Vertex Locations

[Chan Hoffmann Kiazyk Lubiw, GD’13] [Bastert Fekete, TR’96]

slide-45
SLIDE 45

Colored (Euclidean) Spanning Trees

Observation 1 CST is NP-hard Observation 3 CST (with k = n/2) is equivalent to , even if k = 1 Observation 2 CST is NP-hard, even if – Steiner points are not allowed – every cluster consists of two points

  • Min. Length Embedding of Matchings at Fixed Vertex Locations

[Chan Hoffmann Kiazyk Lubiw, GD’13] [Bastert Fekete, TR’96]

Theorem

(Chan et al.)

CST (with k = n/2) admits an O( √ k log k)-approximation

slide-46
SLIDE 46

Colored (Euclidean) Spanning Trees

Theorem

CST (with k colors) admits a (kρ)-approximation

slide-47
SLIDE 47

Colored (Euclidean) Spanning Trees

Theorem

CST (with k colors) admits a (kρ)-approximation 1.15 < ρ < 1.22 Steiner ratio, that is, inf { |Steiner Tree|

|Spanning Tree|}

slide-48
SLIDE 48

Colored (Euclidean) Spanning Trees

Theorem

CST (with k colors) admits a (kρ)-approximation

Proof

Algorithm (k = 2): Analysis:

slide-49
SLIDE 49

Colored (Euclidean) Spanning Trees

Theorem

CST (with k colors) admits a (kρ)-approximation

Proof

– construct red and blue minimum spanning trees

Algorithm (k = 2): Analysis:

slide-50
SLIDE 50

Colored (Euclidean) Spanning Trees

Theorem

CST (with k colors) admits a (kρ)-approximation

Proof

– construct red and blue minimum spanning trees – take the shorter one

Algorithm (k = 2): Analysis:

slide-51
SLIDE 51

Colored (Euclidean) Spanning Trees

Theorem

CST (with k colors) admits a (kρ)-approximation

Proof

– construct red and blue minimum spanning trees – take the shorter one , add a “shell” around it of another color

Algorithm (k = 2): Analysis:

slide-52
SLIDE 52

Colored (Euclidean) Spanning Trees

Theorem

CST (with k colors) admits a (kρ)-approximation

Proof

– construct red and blue minimum spanning trees – take the shorter one , add a “shell” around it of another color – remove crossings

Algorithm (k = 2): Analysis:

slide-53
SLIDE 53

Colored (Euclidean) Spanning Trees

Theorem

CST (with k colors) admits a (kρ)-approximation

Proof

– construct red and blue minimum spanning trees – take the shorter one , add a “shell” around it of another color – remove crossings and cycles

Algorithm (k = 2): Analysis:

slide-54
SLIDE 54

Colored (Euclidean) Spanning Trees

Theorem

CST (with k colors) admits a (kρ)-approximation

Proof

– construct red and blue minimum spanning trees – take the shorter one , add a “shell” around it of another color – remove crossings and cycles, shortcut

Algorithm (k = 2): Analysis:

slide-55
SLIDE 55

Colored (Euclidean) Spanning Trees

Theorem

CST (with k colors) admits a (kρ)-approximation

Proof

– let OPTB, OPTR be optimal non-crossing trees – construct red and blue minimum spanning trees – take the shorter one , add a “shell” around it of another color – remove crossings and cycles, shortcut

Algorithm (k = 2): Analysis:

slide-56
SLIDE 56

Colored (Euclidean) Spanning Trees

Theorem

CST (with k colors) admits a (kρ)-approximation

Proof

– let OPTB, OPTR be optimal non-crossing trees Since the trees connect points OPTB ≥ |Steiner TreeB| OPTR ≥ |Steiner TreeR| – construct red and blue minimum spanning trees – take the shorter one , add a “shell” around it of another color – remove crossings and cycles, shortcut

Algorithm (k = 2): Analysis:

slide-57
SLIDE 57

Colored (Euclidean) Spanning Trees

Theorem

CST (with k colors) admits a (kρ)-approximation

Proof

– let OPTB, OPTR be optimal non-crossing trees Since the trees connect points OPTB ≥ |Steiner TreeB| OPTR ≥ |Steiner TreeR| – construct red and blue minimum spanning trees – take the shorter one , add a “shell” around it of another color – remove crossings and cycles, shortcut

Algorithm (k = 2): Analysis:

– let ALGB, ALGR be the resulting trees

slide-58
SLIDE 58

Colored (Euclidean) Spanning Trees

Theorem

CST (with k colors) admits a (kρ)-approximation

Proof

– let OPTB, OPTR be optimal non-crossing trees Since the trees connect points OPTB ≥ |Steiner TreeB| OPTR ≥ |Steiner TreeR| – construct red and blue minimum spanning trees – take the shorter one , add a “shell” around it of another color – remove crossings

Algorithm (k = 2): Analysis:

– let ALGB, ALGR be the resulting trees Before removing cycles/shortcutting ALGB = | MSTB | ALGR = | MSTR | + 2| MSTB |

slide-59
SLIDE 59

Colored (Euclidean) Spanning Trees

Theorem

CST (with k colors) admits a (kρ)-approximation

Proof

– let OPTB, OPTR be optimal non-crossing trees Since the trees connect points OPTB ≥ |Steiner TreeB| OPTR ≥ |Steiner TreeR| – construct red and blue minimum spanning trees – take the shorter one , add a “shell” around it of another color – remove crossings

Algorithm (k = 2): Analysis:

– let ALGB, ALGR be the resulting trees Before removing cycles/shortcutting ALGB = | MSTB | ALGR = | MSTR | + 2| MSTB |

ALG OPT ≤ | MSTR |+3| MSTB | |Steiner TreeR |+|Steiner TreeB |

slide-60
SLIDE 60

Colored (Euclidean) Spanning Trees

Theorem

CST (with k colors) admits a (kρ)-approximation

Proof

– let OPTB, OPTR be optimal non-crossing trees Since the trees connect points OPTB ≥ |Steiner TreeB| OPTR ≥ |Steiner TreeR| – construct red and blue minimum spanning trees – take the shorter one , add a “shell” around it of another color – remove crossings

Algorithm (k = 2): Analysis:

– let ALGB, ALGR be the resulting trees Before removing cycles/shortcutting ALGB = | MSTB | ALGR = | MSTR | + 2| MSTB |

ALG OPT ≤ | MSTR |+3| MSTB | |Steiner TreeR |+|Steiner TreeB | ≤ ρ | MSTR |+3| MSTB | | MSTR |+| MSTB |

slide-61
SLIDE 61

Colored (Euclidean) Spanning Trees

Theorem

CST (with k colors) admits a (kρ)-approximation

Proof

– let OPTB, OPTR be optimal non-crossing trees Since the trees connect points OPTB ≥ |Steiner TreeB| OPTR ≥ |Steiner TreeR| – construct red and blue minimum spanning trees – take the shorter one , add a “shell” around it of another color – remove crossings

Algorithm (k = 2): Analysis:

– let ALGB, ALGR be the resulting trees Before removing cycles/shortcutting ALGB = | MSTB | ALGR = | MSTR | + 2| MSTB |

ALG OPT ≤ | MSTR |+3| MSTB | |Steiner TreeR |+|Steiner TreeB | ≤ ρ | MSTR |+3| MSTB | | MSTR |+| MSTB | ≤ ρ · 2

slide-62
SLIDE 62

Colored (Euclidean) Spanning Trees

Theorem

CST (with k colors) admits a (kρ)-approximation

Proof

– let OPTB, OPTR be optimal non-crossing trees Since the trees connect points OPTB ≥ |Steiner TreeB| OPTR ≥ |Steiner TreeR| – construct red and blue minimum spanning trees – take the shorter one , add a “shell” around it of another color – remove crossings

Algorithm (k = 2): Analysis:

– let ALGB, ALGR be the resulting trees Before removing cycles/shortcutting ALGB = | MSTB | ALGR = | MSTR | + 2| MSTB |

ALG OPT ≤ | MSTR |+3| MSTB | |Steiner TreeR |+|Steiner TreeB | ≤ ρ | MSTR |+3| MSTB | | MSTR |+| MSTB | ≤ ρ · 2

slide-63
SLIDE 63

Colored (Euclidean) Spanning Trees

Theorem

CST (with k colors) admits a (kρ)-approximation

Proof

– let OPTB, OPTR be optimal non-crossing trees Since the trees connect points OPTB ≥ |Steiner TreeB| OPTR ≥ |Steiner TreeR| – construct red and blue minimum spanning trees – take the shorter one , add a “shell” around it of another color – remove crossings

Algorithm (k = 2): Analysis:

– let ALGB, ALGR be the resulting trees Before removing cycles/shortcutting ALGB = | MSTB | ALGR = | MSTR | + 2| MSTB |

ALG OPT ≤ | MSTR |+3| MSTB | |Steiner TreeR |+|Steiner TreeB | ≤ ρ | MSTR |+3| MSTB | | MSTR |+| MSTB | ≤ ρ · 2

slide-64
SLIDE 64

Colored (Euclidean) Spanning Trees

Theorem

CST (with k colors) admits a (kρ)-approximation

Proof

– let OPTB, OPTR be optimal non-crossing trees Since the trees connect points OPTB ≥ |Steiner TreeB| OPTR ≥ |Steiner TreeR| – construct red and blue minimum spanning trees – take the shorter one , add a “shell” around it of another color – remove crossings

Algorithm (k = 2): Analysis:

– let ALGB, ALGR be the resulting trees Before removing cycles/shortcutting ALGB = | MSTB | ALGR = | MSTR | + 2| MSTB |

ALG OPT ≤ | MSTR |+3| MSTB | |Steiner TreeR |+|Steiner TreeB | ≤ ρ | MSTR |+3| MSTB | | MSTR |+| MSTB | ≤ ρ · 2

slide-65
SLIDE 65

Colored (Euclidean) Spanning Trees

Theorem

CST (with k colors) admits a (kρ)-approximation

Proof

– let OPTB, OPTR be optimal non-crossing trees Since the trees connect points OPTB ≥ |Steiner TreeB| OPTR ≥ |Steiner TreeR| – construct red and blue minimum spanning trees – take the shorter one , add a “shell” around it of another color – remove crossings

Algorithm (k = 2): Analysis:

– let ALGB, ALGR be the resulting trees Before removing cycles/shortcutting ALGB = | MSTB | ALGR = | MSTR | + 2| MSTB |

ALG OPT ≤ | MSTR |+3| MSTB | |Steiner TreeR |+|Steiner TreeB | ≤ ρ | MSTR |+3| MSTB | | MSTR |+| MSTB |

(1 + ε)-approx. Steiner

≤ ρ · 2

slide-66
SLIDE 66

Colored (Euclidean) Spanning Trees

Theorem

CST (with k colors) admits a (kρ)-approximation

Proof

– let OPTB, OPTR be optimal non-crossing trees Since the trees connect points OPTB ≥ |Steiner TreeB| OPTR ≥ |Steiner TreeR| – construct red and blue minimum spanning trees – take the shorter one , add a “shell” around it of another color – remove crossings

Algorithm (k = 2): Analysis:

– let ALGB, ALGR be the resulting trees Before removing cycles/shortcutting ALGB = | MSTB | ALGR = | MSTR | + 2| MSTB |

ALG OPT ≤ | MSTR |+3| MSTB | |Steiner TreeR |+|Steiner TreeB | ≤ ρ | MSTR |+3| MSTB | | MSTR |+| MSTB |

(1 + ε)-approx. Steiner

(k + ε)

≤ ρ · 2

slide-67
SLIDE 67

Conclusions

new visualization method MapSets demo is at http://gmap.cs.arizona.edu source code is at GitHub (C++, javascript)

slide-68
SLIDE 68

Conclusions

new visualization method MapSets demo is at http://gmap.cs.arizona.edu new geometric problem CST source code is at GitHub (C++, javascript) (k + ε)-approximation

slide-69
SLIDE 69

Conclusions What is next?

quantitative/qualitative evaluation of the different methods improve approximation factors for CST visualizing graphs rather than sets new visualization method MapSets demo is at http://gmap.cs.arizona.edu new geometric problem CST source code is at GitHub (C++, javascript) (k + ε)-approximation

slide-70
SLIDE 70

Conclusions What is next?

quantitative/qualitative evaluation of the different methods improve approximation factors for CST

Thank you!

visualizing graphs rather than sets new visualization method MapSets demo is at http://gmap.cs.arizona.edu new geometric problem CST source code is at GitHub (C++, javascript) (k + ε)-approximation