cluster minimization in geometric graphs
play

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


  1. Cluster Minimization in Geometric Graphs Jakob Geiger

  2. Motivation

  3. Motivation

  4. Cluster Minimization Given: Geometric graph G = ( V , E )

  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.

  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.

  7. Edge Maximization Given: Geometric graph G = ( V , E )

  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.

  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.

  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]

  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

  12. NP-Hardness Independent Set ≤ p Cluster Minimization

  13. NP-Hardness Independent Set ≤ p Cluster Minimization • Given an instance of Independent Set,

  14. NP-Hardness Independent Set ≤ p Cluster Minimization [Gon¸ calves et al. 2018] • Given an instance of Independent Set, • Construct an equivalent L-shape intersection graph...

  15. NP-Hardness Independent Set ≤ p Cluster Minimization • Given an instance of Independent Set, [Biedl 2020] • Construct an equivalent L-shape intersection graph... • ... then construct an equivalent segment intersection graph.

  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.

  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 2 n − k clusters represents an independent set of size k .

  18. Heuristics Greedy: Iteratively select the least crossed edge

  19. Heuristics Greedy: Iteratively select the least crossed edge Reverse Greedy: Iteratively delete the most crossed edge

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

  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]

  22. Greedy Iteratively select the least crossed edge

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

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

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

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

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

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

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

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

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

  32. Reverse Greedy Iteratively delete the most crossed edge

  33. Reverse Greedy Iteratively delete the most crossed edge Use Union-Find to manage clusters

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

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

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

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

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

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

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

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

  42. Performance Analysis – Theoretical n red, n + 1 blue vertices u v

  43. Performance Analysis – Theoretical n red, n + 1 blue vertices u v

  44. Performance Analysis – Theoretical n red, n + 1 blue vertices u v

  45. Performance Analysis – Theoretical n red, n + 1 blue vertices u u v v Greedy/Reverse Greedy: n + 2 clusters

  46. Performance Analysis – Theoretical n red, n + 1 blue vertices u u v v Greedy/Reverse Greedy: n + 2 clusters Optimal solution:

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

  48. Performance – Greedy vs. Reverse Greedy C i B i A i D i A ′ i B ′ i C ′ i

  49. Performance – Greedy vs. Reverse Greedy C i B i A i D i A ′ i B ′ i C ′ i

  50. Performance – Greedy vs. Reverse Greedy C i B i A i D i A ′ i B ′ i C ′ i

  51. Performance – Greedy vs. Reverse Greedy C i B i A i D i A ′ i B ′ i C ′ i

  52. Performance – Greedy vs. Reverse Greedy C i B i A i D i A ′ i B ′ i C ′ i

  53. Performance – Greedy vs. Reverse Greedy C i B i A i D i A ′ i B ′ i C ′ i

  54. Performance – Greedy vs. Reverse Greedy C i B i A i D i A ′ i B ′ i C ′ i

  55. Performance – Greedy vs. Reverse Greedy C i B i A i D i A ′ i B ′ i C ′ i

  56. Performance – Greedy vs. Reverse Greedy C i B i A i D i A ′ i B ′ i C ′ i

  57. Performance – Greedy vs. Reverse Greedy C i B i A i D i A ′ i B ′ i C ′ i

  58. Performance – Greedy vs. Reverse Greedy Greedy 7 clusters vs. Reverse Greedy k+7!

  59. An ILP for Cluster Minimization Sketch:

  60. An ILP for Cluster Minimization Sketch: • Model Cluster Minimization as a flow network.

  61. An ILP for Cluster Minimization Sketch: • Model Cluster Minimization as a flow network. • Each node is either a source or a sink.

  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.

Recommend


More recommend