• Keine Ergebnisse gefunden

Cluster Minimization

N/A
N/A
Protected

Academic year: 2022

Aktie "Cluster Minimization"

Copied!
80
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(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 , E0) of G such that no two edges in E0 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 , E0) of G such that no two edges in E0 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 , E0) of G such that no two edges in E0 cross and |E0| is maximized.

(9)

Edge Maximization

Given: Geometric graph G = (V , E)

Goal: Find a subgraph H = (V , E0) of G such that no two edges in E0 cross and |E0| 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

• Given an instance of Independent Set,

• Construct an equivalent L-shape intersection graph...

[Gon¸calves et al. 2018]

(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]

(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 2n − 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

Use Priority Queue to manage current crossing numbers

⇒ O(n + mα(m))

(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))

(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

(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)

(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)

(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)

(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)!

(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

Use Priority Queue to manage current crossing numbers

⇒ O(n + mα(m))

(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))

(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))

(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

(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

(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

(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

(42)

Performance Analysis – Theoretical

u

v

n red, n + 1 blue vertices

(43)

Performance Analysis – Theoretical

u

v

n red, n + 1 blue vertices

(44)

Performance Analysis – Theoretical

u

v

n red, n + 1 blue vertices

(45)

Performance Analysis – Theoretical

u

v

Greedy/Reverse Greedy: n + 2 clusters

n red, n + 1 blue vertices u

v

(46)

Performance Analysis – Theoretical

u

v

Greedy/Reverse Greedy: n + 2 clusters Optimal solution:

n red, n + 1 blue vertices u

v

(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

(48)

Performance – Greedy vs. Reverse Greedy

Ai

A0i

Bi

Bi0 Di

Ci

Ci0

(49)

Performance – Greedy vs. Reverse Greedy

Ai

A0i

Bi

Bi0 Di

Ci

Ci0

(50)

Performance – Greedy vs. Reverse Greedy

Ai

A0i

Bi

Bi0 Di

Ci

Ci0

(51)

Performance – Greedy vs. Reverse Greedy

Ai

A0i

Bi

Bi0 Di

Ci

Ci0

(52)

Performance – Greedy vs. Reverse Greedy

Ai

A0i

Bi

Bi0 Di

Ci

Ci0

(53)

Performance – Greedy vs. Reverse Greedy

Ai

A0i

Bi

Bi0 Di

Ci

Ci0

(54)

Performance – Greedy vs. Reverse Greedy

Ai

A0i

Bi

Bi0 Di

Ci

Ci0

(55)

Performance – Greedy vs. Reverse Greedy

Ai

A0i

Bi

Bi0 Di

Ci

Ci0

(56)

Performance – Greedy vs. Reverse Greedy

Ai

A0i

Bi

Bi0 Di

Ci

Ci0

(57)

Performance – Greedy vs. Reverse Greedy

Ai

A0i

Bi

Bi0 Di

Ci

Ci0

(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.

(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.

(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.

(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.

(66)

Experiment setup

• Use map of places of interest in a city.

(67)

Experiment setup

• Use map of places of interest in a city.

• Divide the map in quadrants of varying sizes.

(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.

(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

(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

(71)

Experiment setup

β = 0.5 50 points, 15 clusters

(72)

Performance Analysis - Experiments

β = 0.5

(73)

Performance Analysis - Experiments

β = 0.9

(74)

Experiment Summary

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

(75)

Experiment Summary

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

Reverse Greedy tends to perform better than Greedy, but differences are marginal

(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

(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?

(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?

(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?

(80)

Summary and Future Work

• Can we enhance the Greedy algorithm somehow?

Referenzen

ÄHNLICHE DOKUMENTE

Maschinenbauer, Designer, Modellbauer, Indusriedesigner, Technische Produktdesigner, Konstrukteure, Ingenieure, Techniker,

Maschinenbauer, Designer, Modellbauer, Indusriedesigner, Technische Produktdesigner, Konstrukteure, Ingenieure, Techniker,

Maschinenbauer, Designer, Modellbauer, Indusriedesigner, Technische Produktdesigner, Konstrukteure, Ingenieure, Techniker,

Maschinenbauer, Designer, Modellbauer, Indusriedesigner, Technische Produktdesigner, Konstrukteure, Ingenieure, Techniker,

Maschinenbauer, Designer, Modellbauer, Indusriedesigner, Technische Produktdesigner, Konstrukteure, Ingenieure, Techniker,

Maschinenbauer, Designer, Modellbauer, Indusriedesigner, Technische Produktdesigner, Konstrukteure, Ingenieure, Techniker,

Maschinenbauer, Designer, Modellbauer, Indusriedesigner, Technische Produktdesigner, Konstrukteure, Ingenieure, Techniker,

Maschinenbauer, Designer, Modellbauer, Indusriedesigner, Technische Produktdesigner, Konstrukteure, Ingenieure, Techniker,