Cluster Minimization in Geometric Graphs Jakob Geiger Motivation - - PowerPoint PPT Presentation

cluster minimization in geometric graphs
SMART_READER_LITE
LIVE PREVIEW

Cluster Minimization in Geometric Graphs Jakob Geiger Motivation - - PowerPoint PPT Presentation

Cluster Minimization in Geometric Graphs Jakob Geiger Motivation Motivation Cluster Minimization Given: Geometric graph G = ( V , E ) Cluster Minimization Given: Geometric graph G = ( V , E ) Goal: Find a subgraph H = ( V , E ) of G


slide-1
SLIDE 1

Cluster Minimization in Geometric Graphs

Jakob Geiger

slide-2
SLIDE 2

Motivation

slide-3
SLIDE 3

Motivation

slide-4
SLIDE 4

Cluster Minimization

Given: Geometric graph G = (V , E)

slide-5
SLIDE 5

Cluster Minimization

Given: Geometric graph G = (V , E) Goal: Find a subgraph H = (V , E ′) of G such that no two edges in E ′ cross and the number of connected components in H is minimized.

slide-6
SLIDE 6

Cluster Minimization

Given: Geometric graph G = (V , E) Goal: Find a subgraph H = (V , E ′) of G such that no two edges in E ′ cross and the number of connected components in H is minimized.

slide-7
SLIDE 7

Edge Maximization

Given: Geometric graph G = (V , E)

slide-8
SLIDE 8

Edge Maximization

Given: Geometric graph G = (V , E) Goal: Find a subgraph H = (V , E ′) of G such that no two edges in E ′ cross and |E ′| is maximized.

slide-9
SLIDE 9

Edge Maximization

Given: Geometric graph G = (V , E) Goal: Find a subgraph H = (V , E ′) of G such that no two edges in E ′ cross and |E ′| is maximized.

slide-10
SLIDE 10

State of the art

Problem Quality Runtime Cluster Minimization exact ? – Greedy ? polynomial – 1-plane graphs exact polynomial Edge Maximization exact NP-hard

all results by [Akitaya et al. 2019]

slide-11
SLIDE 11

My contribution

Problem Quality Complexity Cluster Min. exact NP-hard – Greedy no const. factor n + k + m log m – Rev. Greedy no const. factor n + k log k + m log m – 1-plane graphs exact n log n Edge Max. exact NP-hard

slide-12
SLIDE 12

NP-Hardness

Independent Set ≤p Cluster Minimization

slide-13
SLIDE 13

NP-Hardness

Independent Set ≤p Cluster Minimization

  • Given an instance of Independent Set,
slide-14
SLIDE 14

NP-Hardness

Independent Set ≤p Cluster Minimization

  • Given an instance of Independent Set,
  • Construct an equivalent L-shape intersection graph...

[Gon¸ calves et al. 2018]

slide-15
SLIDE 15

NP-Hardness

Independent Set ≤p Cluster Minimization

  • Given an instance of Independent Set,
  • Construct an equivalent L-shape intersection graph...
  • ... then construct an equivalent segment intersection graph.

[Biedl 2020]

slide-16
SLIDE 16

NP-Hardness

Independent Set ≤p Cluster Minimization

  • Given an instance of Independent Set,
  • Construct an equivalent L-shape intersection graph...
  • ... then construct an equivalent segment intersection graph.
  • Use the segments as edges in a geometric graph and place

vertices at each endpoint.

slide-17
SLIDE 17

NP-Hardness

Independent Set ≤p Cluster Minimization

  • Given an instance of Independent Set,
  • Construct an equivalent L-shape intersection graph...
  • ... then construct an equivalent segment intersection graph.
  • Use the segments as edges in a geometric graph and place

vertices at each endpoint.

  • In the resulting geometric graph, a solution with 2n − k

clusters represents an independent set of size k.

slide-18
SLIDE 18

Heuristics

Greedy: Iteratively select the least crossed edge

slide-19
SLIDE 19

Heuristics

Greedy: Iteratively select the least crossed edge Reverse Greedy: Iteratively delete the most crossed edge

slide-20
SLIDE 20

Heuristics

Greedy: Iteratively select the least crossed edge Reverse Greedy: Iteratively delete the most crossed edge Preprocessing: compute all edge crossings

slide-21
SLIDE 21

Heuristics

Greedy: Iteratively select the least crossed edge Reverse Greedy: Iteratively delete the most crossed edge Preprocessing: compute all edge crossings ⇒ O(k + m log m) [Balaban 1995]

slide-22
SLIDE 22

Greedy

Iteratively select the least crossed edge

slide-23
SLIDE 23

Greedy

Iteratively select the least crossed edge Use Union-Find to manage clusters

slide-24
SLIDE 24

Greedy

Iteratively select the least crossed edge Use Union-Find to manage clusters ⇒ O(n + mα(m))

slide-25
SLIDE 25

Greedy

Iteratively select the least crossed edge Use Union-Find to manage clusters Use Priority Queue to manage current crossing numbers ⇒ O(n + mα(m))

slide-26
SLIDE 26

Greedy

Iteratively select the least crossed edge Use Union-Find to manage clusters Use Priority Queue to manage current crossing numbers ⇒ Fibonacci-Heap! ⇒ O(n + mα(m))

slide-27
SLIDE 27

Greedy

Iteratively select the least crossed edge Use Union-Find to manage clusters Use Priority Queue to manage current crossing numbers ⇒ Fibonacci-Heap! ⇒ O(n + mα(m)) Remove O(log n)∗ ExtractMin O(log n)∗ DecreaseKey O(1)∗

*amortized

slide-28
SLIDE 28

Greedy

Iteratively select the least crossed edge Use Union-Find to manage clusters Use Priority Queue to manage current crossing numbers ⇒ Fibonacci-Heap! ⇒ O(n + mα(m)) ⇒ O(k + m log m)

slide-29
SLIDE 29

Greedy

Iteratively select the least crossed edge Use Union-Find to manage clusters Use Priority Queue to manage current crossing numbers ⇒ Fibonacci-Heap! Overall Runtime: O(n + k + m log m) ⇒ O(n + mα(m)) ⇒ O(k + m log m)

slide-30
SLIDE 30

Greedy

Iteratively select the least crossed edge Use Union-Find to manage clusters Use Priority Queue to manage current crossing numbers ⇒ Fibonacci-Heap! Overall Runtime: O(n + k + m log m) ⇒ O(n + mα(m)) ⇒ O(k + m log m) 1-plane graphs: m, k ∈ O(n)

slide-31
SLIDE 31

Greedy

Iteratively select the least crossed edge Use Union-Find to manage clusters Use Priority Queue to manage current crossing numbers ⇒ Fibonacci-Heap! Overall Runtime: O(n + k + m log m) ⇒ O(n + mα(m)) ⇒ O(k + m log m) 1-plane graphs: m, k ∈ O(n) ⇒ Overall runtime reduces to O(n log n)!

slide-32
SLIDE 32

Reverse Greedy

Iteratively delete the most crossed edge

slide-33
SLIDE 33

Reverse Greedy

Iteratively delete the most crossed edge Use Union-Find to manage clusters

slide-34
SLIDE 34

Reverse Greedy

Iteratively delete the most crossed edge Use Union-Find to manage clusters ⇒ O(n + mα(m))

slide-35
SLIDE 35

Reverse Greedy

Iteratively delete the most crossed edge Use Union-Find to manage clusters Use Priority Queue to manage current crossing numbers ⇒ O(n + mα(m))

slide-36
SLIDE 36

Reverse Greedy

Iteratively delete the most crossed edge Use Union-Find to manage clusters Use Priority Queue to manage current crossing numbers ⇒ Fibonacci-Heap! ⇒ O(n + mα(m))

slide-37
SLIDE 37

Reverse Greedy

Iteratively delete the most crossed edge Use Union-Find to manage clusters Use Priority Queue to manage current crossing numbers ⇒ Fibonacci-Heap! ⇒ O(n + mα(m))

slide-38
SLIDE 38

Reverse Greedy

Iteratively delete the most crossed edge Use Union-Find to manage clusters Use Priority Queue to manage current crossing numbers ⇒ O(n + mα(m)) ⇒ Binary Search Tree

slide-39
SLIDE 39

Reverse Greedy

Iteratively delete the most crossed edge Use Union-Find to manage clusters Use Priority Queue to manage current crossing numbers ⇒ O(n + mα(m)) Remove O(log n) ExtractMin O(log n) DecreaseKey O(log n) ⇒ Binary Search Tree

slide-40
SLIDE 40

Reverse Greedy

Iteratively delete the most crossed edge Use Union-Find to manage clusters Use Priority Queue to manage current crossing numbers ⇒ O(n + mα(m)) ⇒ O(k log k + m log m) ⇒ Binary Search Tree

slide-41
SLIDE 41

Reverse Greedy

Iteratively delete the most crossed edge Use Union-Find to manage clusters Use Priority Queue to manage current crossing numbers Overall Runtime: O(n + k log k + m log m) ⇒ O(n + mα(m)) ⇒ O(k log k + m log m) ⇒ Binary Search Tree

slide-42
SLIDE 42

Performance Analysis – Theoretical

u v n red, n + 1 blue vertices

slide-43
SLIDE 43

Performance Analysis – Theoretical

u v n red, n + 1 blue vertices

slide-44
SLIDE 44

Performance Analysis – Theoretical

u v n red, n + 1 blue vertices

slide-45
SLIDE 45

Performance Analysis – Theoretical

u v Greedy/Reverse Greedy: n + 2 clusters n red, n + 1 blue vertices u v

slide-46
SLIDE 46

Performance Analysis – Theoretical

u v Greedy/Reverse Greedy: n + 2 clusters Optimal solution: n red, n + 1 blue vertices u v

slide-47
SLIDE 47

Performance Analysis – Theoretical

u v Greedy/Reverse Greedy: n + 2 clusters Optimal solution: n red, n + 1 blue vertices ⇒ no constant approximation factor for both heuristics! u v 4 clusters

slide-48
SLIDE 48

Performance – Greedy vs. Reverse Greedy

Ai A′

i

Bi B′

i

Di Ci C ′

i

slide-49
SLIDE 49

Performance – Greedy vs. Reverse Greedy

Ai A′

i

Bi B′

i

Di Ci C ′

i

slide-50
SLIDE 50

Performance – Greedy vs. Reverse Greedy

Ai A′

i

Bi B′

i

Di Ci C ′

i

slide-51
SLIDE 51

Performance – Greedy vs. Reverse Greedy

Ai A′

i

Bi B′

i

Di Ci C ′

i

slide-52
SLIDE 52

Performance – Greedy vs. Reverse Greedy

Ai A′

i

Bi B′

i

Di Ci C ′

i

slide-53
SLIDE 53

Performance – Greedy vs. Reverse Greedy

Ai A′

i

Bi B′

i

Di Ci C ′

i

slide-54
SLIDE 54

Performance – Greedy vs. Reverse Greedy

Ai A′

i

Bi B′

i

Di Ci C ′

i

slide-55
SLIDE 55

Performance – Greedy vs. Reverse Greedy

Ai A′

i

Bi B′

i

Di Ci C ′

i

slide-56
SLIDE 56

Performance – Greedy vs. Reverse Greedy

Ai A′

i

Bi B′

i

Di Ci C ′

i

slide-57
SLIDE 57

Performance – Greedy vs. Reverse Greedy

Ai A′

i

Bi B′

i

Di Ci C ′

i

slide-58
SLIDE 58

Performance – Greedy vs. Reverse Greedy

Greedy 7 clusters vs. Reverse Greedy k+7!

slide-59
SLIDE 59

An ILP for Cluster Minimization

Sketch:

slide-60
SLIDE 60

An ILP for Cluster Minimization

Sketch:

  • Model Cluster Minimization as a flow network.
slide-61
SLIDE 61

An ILP for Cluster Minimization

Sketch:

  • Model Cluster Minimization as a flow network.
  • Each node is either a source or a sink.
slide-62
SLIDE 62

An ILP for Cluster Minimization

Sketch:

  • Model Cluster Minimization as a flow network.
  • Each node is either a source or a sink.
  • Each edge is either selected or not selected,

crossed edges are mutually exclusive.

slide-63
SLIDE 63

An ILP for Cluster Minimization

Sketch:

  • Model Cluster Minimization as a flow network.
  • Each node is either a source or a sink.
  • Each edge is either selected or not selected,

crossed edges are mutually exclusive.

  • Selected edges may transport flow,

unselected edges may not.

slide-64
SLIDE 64

An ILP for Cluster Minimization

Sketch:

  • Model Cluster Minimization as a flow network.
  • Each node is either a source or a sink.
  • Each edge is either selected or not selected,

crossed edges are mutually exclusive.

  • Selected edges may transport flow,

unselected edges may not.

  • Each sink represents the ”center” of a cluster,

connected nodes send the generated flow there.

slide-65
SLIDE 65

An ILP for Cluster Minimization

Sketch:

  • Model Cluster Minimization as a flow network.
  • Each node is either a source or a sink.
  • Each edge is either selected or not selected,

crossed edges are mutually exclusive.

  • Selected edges may transport flow,

unselected edges may not.

  • Each sink represents the ”center” of a cluster,

connected nodes send the generated flow there.

  • ILP minimizes the number of sinks.
slide-66
SLIDE 66

Experiment setup

  • Use map of places of interest in a city.
slide-67
SLIDE 67

Experiment setup

  • Use map of places of interest in a city.
  • Divide the map in quadrants of varying sizes.
slide-68
SLIDE 68

Experiment setup

  • Use map of places of interest in a city.
  • Divide the map in quadrants of varying sizes.
  • Connect the vertices with β-skeletons.
slide-69
SLIDE 69

Experiment setup

  • Use map of places of interest in a city.
  • Divide the map in quadrants of varying sizes.
  • Connect the vertices with β-skeletons.

β = 0.5 β = 0.9

slide-70
SLIDE 70

Experiment setup

  • Use map of places of interest in a city.
  • Divide the map in quadrants of varying sizes.
  • Connect the vertices with β-skeletons.
  • Run both heuristics, ILP where feasible.

β = 0.5 β = 0.9

slide-71
SLIDE 71

Experiment setup

β = 0.5 50 points, 15 clusters

slide-72
SLIDE 72

Performance Analysis - Experiments

β = 0.5

slide-73
SLIDE 73

Performance Analysis - Experiments

β = 0.9

slide-74
SLIDE 74

Experiment Summary

Biggest difference: Greedy 37 clusters vs. ILP 34 clusters!

slide-75
SLIDE 75

Experiment Summary

Biggest difference: Greedy 37 clusters vs. ILP 34 clusters! Reverse Greedy tends to perform better than Greedy, but differences are marginal

slide-76
SLIDE 76

Summary and Future Work

Problem Quality Complexity Cluster Min. exact NP-hard – Greedy no const. factor n + k + m log m – Rev. Greedy no const. factor n + k log k + m log m – 1-plane graphs exact n log n Edge Max. exact NP-hard

slide-77
SLIDE 77

Summary and Future Work

Problem Quality Complexity Cluster Min. exact NP-hard – Greedy no const. factor n + k + m log m – Rev. Greedy no const. factor n + k log k + m log m – 1-plane graphs exact n log n Edge Max. exact NP-hard

  • There is a graph family on which the Greedy algorithm is

arbitrarily better than the Reverse Greedy algorithm.

  • Is there a graph family where the opposite is true?
slide-78
SLIDE 78

Summary and Future Work

Problem Quality Complexity Cluster Min. exact NP-hard – Greedy no const. factor n + k + m log m – Rev. Greedy no const. factor n + k log k + m log m – 1-plane graphs exact n log n Edge Max. exact NP-hard

  • There is a graph family on which the Greedy algorithm is

arbitrarily better than the Reverse Greedy algorithm.

  • Is there a graph family where the opposite is true?
  • Is there a constant factor approximation for Cluster

Minimization?

slide-79
SLIDE 79

Summary and Future Work

Problem Quality Complexity Cluster Min. exact NP-hard – Greedy no const. factor n + k + m log m – Rev. Greedy no const. factor n + k log k + m log m – 1-plane graphs exact n log n Edge Max. exact NP-hard

  • There is a graph family on which the Greedy algorithm is

arbitrarily better than the Reverse Greedy algorithm.

  • Is there a graph family where the opposite is true?
  • Is there a constant factor approximation for Cluster

Minimization?

  • How does the problem change if we allow some crossings?
slide-80
SLIDE 80

Summary and Future Work

  • Can we enhance the Greedy algorithm somehow?