SLIDE 1
Cluster Minimization in Geometric Graphs Jakob Geiger Motivation - - PowerPoint PPT Presentation
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 2
SLIDE 3
Motivation
SLIDE 4
Cluster Minimization
Given: Geometric graph G = (V , E)
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
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
Edge Maximization
Given: Geometric graph G = (V , E)
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
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
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
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
NP-Hardness
Independent Set ≤p Cluster Minimization
SLIDE 13
NP-Hardness
Independent Set ≤p Cluster Minimization
- Given an instance of Independent Set,
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
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
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
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
Heuristics
Greedy: Iteratively select the least crossed edge
SLIDE 19
Heuristics
Greedy: Iteratively select the least crossed edge Reverse Greedy: Iteratively delete the most crossed edge
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
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
Greedy
Iteratively select the least crossed edge
SLIDE 23
Greedy
Iteratively select the least crossed edge Use Union-Find to manage clusters
SLIDE 24
Greedy
Iteratively select the least crossed edge Use Union-Find to manage clusters ⇒ O(n + mα(m))
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
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
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
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
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
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
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
Reverse Greedy
Iteratively delete the most crossed edge
SLIDE 33
Reverse Greedy
Iteratively delete the most crossed edge Use Union-Find to manage clusters
SLIDE 34
Reverse Greedy
Iteratively delete the most crossed edge Use Union-Find to manage clusters ⇒ O(n + mα(m))
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
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
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
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
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
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
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
Performance Analysis – Theoretical
u v n red, n + 1 blue vertices
SLIDE 43
Performance Analysis – Theoretical
u v n red, n + 1 blue vertices
SLIDE 44
Performance Analysis – Theoretical
u v n red, n + 1 blue vertices
SLIDE 45
Performance Analysis – Theoretical
u v Greedy/Reverse Greedy: n + 2 clusters n red, n + 1 blue vertices u v
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
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
Performance – Greedy vs. Reverse Greedy
Ai A′
i
Bi B′
i
Di Ci C ′
i
SLIDE 49
Performance – Greedy vs. Reverse Greedy
Ai A′
i
Bi B′
i
Di Ci C ′
i
SLIDE 50
Performance – Greedy vs. Reverse Greedy
Ai A′
i
Bi B′
i
Di Ci C ′
i
SLIDE 51
Performance – Greedy vs. Reverse Greedy
Ai A′
i
Bi B′
i
Di Ci C ′
i
SLIDE 52
Performance – Greedy vs. Reverse Greedy
Ai A′
i
Bi B′
i
Di Ci C ′
i
SLIDE 53
Performance – Greedy vs. Reverse Greedy
Ai A′
i
Bi B′
i
Di Ci C ′
i
SLIDE 54
Performance – Greedy vs. Reverse Greedy
Ai A′
i
Bi B′
i
Di Ci C ′
i
SLIDE 55
Performance – Greedy vs. Reverse Greedy
Ai A′
i
Bi B′
i
Di Ci C ′
i
SLIDE 56
Performance – Greedy vs. Reverse Greedy
Ai A′
i
Bi B′
i
Di Ci C ′
i
SLIDE 57
Performance – Greedy vs. Reverse Greedy
Ai A′
i
Bi B′
i
Di Ci C ′
i
SLIDE 58
Performance – Greedy vs. Reverse Greedy
Greedy 7 clusters vs. Reverse Greedy k+7!
SLIDE 59
An ILP for Cluster Minimization
Sketch:
SLIDE 60
An ILP for Cluster Minimization
Sketch:
- Model Cluster Minimization as a flow network.
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
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
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
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
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
Experiment setup
- Use map of places of interest in a city.
SLIDE 67
Experiment setup
- Use map of places of interest in a city.
- Divide the map in quadrants of varying sizes.
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
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
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
Experiment setup
β = 0.5 50 points, 15 clusters
SLIDE 72
Performance Analysis - Experiments
β = 0.5
SLIDE 73
Performance Analysis - Experiments
β = 0.9
SLIDE 74
Experiment Summary
Biggest difference: Greedy 37 clusters vs. ILP 34 clusters!
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
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
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
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
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
Summary and Future Work
- Can we enhance the Greedy algorithm somehow?