bundled crossings revisited - kam.mff.cuni.cz
TRANSCRIPT
Bundled Crossings Revisited
Steven Chaplick, Thomas C. van Dijk, Myroslav Kryven,Alexander Wolff
Julius-Maximilians-Universitat Wurzburg, Germany
Ji-won ParkKAIST, Daejeon, Republic of Korea
Alexander RavskyPidstryhach Institute for Applied Problems of Mechanics and Mathematics,
Nat. Acad. Sciences of Ukraine, Lviv, Ukraine
Motivation
Ideally drawings of graphs should avoid crossings ...
Motivation
Ideally drawings of graphs should avoid crossings ...
Planar graphs can be drawn without crossings
Motivation
Ideally drawings of graphs should avoid crossings ...
Planar graphs can be drawn without crossings
but many graphs cannot be drawn without crossings.
Motivation
Ideally drawings of graphs should avoid crossings ...
Planar graphs can be drawn without crossings
but many graphs cannot be drawn without crossings.
Classical problem in Graph Drawing:How to minimize the number of crossings?
Motivation
Ideally drawings of graphs should avoid crossings ...
Planar graphs can be drawn without crossings
but many graphs cannot be drawn without crossings.
Classical problem in Graph Drawing:How to minimize the number of crossings?
Motivation
Ideally drawings of graphs should avoid crossings ...
Planar graphs can be drawn without crossings
but many graphs cannot be drawn without crossings.
Classical problem in Graph Drawing:How to minimize the number of crossings?
Motivation
Ideally drawings of graphs should avoid crossings ...
Planar graphs can be drawn without crossings
but many graphs cannot be drawn without crossings.
Classical problem in Graph Drawing:How to minimize the number of crossings?
Motivation
Ideally drawings of graphs should avoid crossings ...
Planar graphs can be drawn without crossings
but many graphs cannot be drawn without crossings.
Classical problem in Graph Drawing:How to minimize the number of crossings?
Lots of different variants.
Motivation
Ideally drawings of graphs should avoid crossings ...
Planar graphs can be drawn without crossings
but many graphs cannot be drawn without crossings.
Classical problem in Graph Drawing:How to minimize the number of crossings?
Lots of different variants.
Our main result concernssimple circular layouts.
simpleavoids:
Motivation
Ideally drawings of graphs should avoid crossings ...
Planar graphs can be drawn without crossings
but many graphs cannot be drawn without crossings.
Classical problem in Graph Drawing:How to minimize the number of crossings?
Lots of different variants.
Our main result concernssimple circular layouts.
This talk concerns bundledcrossings, def’d next.
simpleavoids:
Motivation
[Bannister, Eppstein ’14]There is an FPT algorithm for deciding whether a graph
admits a circular layout with k crossings.
Motivation
[Bannister, Eppstein ’14]
[Holten ’06]
Bundle thedrawing
There is an FPT algorithm for deciding whether a graphadmits a circular layout with k crossings.
Motivation
[Bannister, Eppstein ’14]
[Holten ’06]
Bundle thedrawing
There is an FPT algorithm for deciding whether a graphadmits a circular layout with k crossings.
Motivation
[Bannister, Eppstein ’14]
[Holten ’06]
Bundle thedrawing
Minimize crossings of bundles instead of edges!
There is an FPT algorithm for deciding whether a graphadmits a circular layout with k crossings.
F: [Fink et al. ’16]
A: [Alam et al. ’16]
Motivation
[Bannister, Eppstein ’14]
[Holten ’06]
Bundle thedrawing
Minimize crossings of bundles instead of edges!
There is an FPT algorithm for deciding whether a graphadmits a circular layout with k crossings.
F: [Fink et al. ’16]
A: [Alam et al. ’16]
gen. layouts: NP-c for fixed [F] and variable [A] embeddings.
fixed embedding: 10-apx for circular, and O(1)-apx for gen. layouts [F]
Motivation
[Holten ’06]
Bundle thedrawing
Minimize crossings of bundles instead of edges!
[A]Ques.
Is there an FPT algorithm for deciding whether a graphadmits a circular layout with k bundled crossings?
F: [Fink et al. ’16]
A: [Alam et al. ’16]
gen. layouts: NP-c for fixed [F] and variable [A] embeddings.
fixed embedding: 10-apx for circular, and O(1)-apx for gen. layouts [F]
Bundled Crossing
A bundle is a set of pieces ofedges that travel in parallel inthe drawing.
Bundled Crossing
A bundle is a set of pieces ofedges that travel in parallel inthe drawing.
Outer edges of a bundle arecalled frame edges
Bundled Crossing
A bundle is a set of pieces ofedges that travel in parallel inthe drawing.
Outer edges of a bundle arecalled frame edges
Bundled Crossing
A bundle is a set of pieces ofedges that travel in parallel inthe drawing.
A bundled crosssing isa set of crossingsinside the regionbounded by the frame edges.
Outer edges of a bundle arecalled frame edges
Bundled Crossing MinimizationDef. For a given graph G
the circular bundled crossing number bc◦(G ) of G isthe minimum number of bundled crossingsover all possible bundlingsof all possible simple circular layouts of G .
Bundled Crossing MinimizationDef. For a given graph G
the circular bundled crossing number bc◦(G ) of G isthe minimum number of bundled crossingsover all possible bundlingsof all possible simple circular layouts of G .
Deciding whether bc◦(G ) = k is FPT in k .Thm.
resolves an open problem of [Alam et al. 2016]
Bundled Crossing MinimizationDef. For a given graph G
the circular bundled crossing number bc◦(G ) of G isthe minimum number of bundled crossingsover all possible bundlingsof all possible simple circular layouts of G .
Deciding whether bc◦(G ) = k is FPT in k .Thm.
Remark on simple vs. non-simple: consider K3,3
aa′ b
b′
cc ′
a′ b
c c ′
ab′
resolves an open problem of [Alam et al. 2016]
Bundled Crossing MinimizationDef. For a given graph G
the circular bundled crossing number bc◦(G ) of G isthe minimum number of bundled crossingsover all possible bundlingsof all possible simple circular layouts of G .
Deciding whether bc◦(G ) = k is FPT in k .Thm.
Remark on simple vs. non-simple: consider K3,3
Non-simple orientable graph genus [Alam et al. 2016]... more on this soon
aa′ b
b′
cc ′
a′ b
c c ′
ab′
resolves an open problem of [Alam et al. 2016]
Bundled Crossing MinimizationDef. For a given graph G
the circular bundled crossing number bc◦(G ) of G isthe minimum number of bundled crossingsover all possible bundlingsof all possible simple circular layouts of G .
Deciding whether bc◦(G ) = k is FPT in k .Thm.
Other results (not covered in this talk, see the paper!):
resolves an open problem of [Alam et al. 2016]
Bundled Crossing MinimizationDef. For a given graph G
the circular bundled crossing number bc◦(G ) of G isthe minimum number of bundled crossingsover all possible bundlingsof all possible simple circular layouts of G .
Deciding whether bc◦(G ) = k is FPT in k .Thm.
Other results (not covered in this talk, see the paper!):
For general layouts, on inputs (G , k), deciding whetherG has a simple drawing with k bundled crossings isNPc. For non-simple, this is FPT in k (via genus).
Thm.
For circular layouts, on inputs (G , k), deciding whetherG has a (non-simple) circular drawing with k bundledcrossings is FPT in k (via genus).
Obs.
resolves openproblem of[Fink et al.;2016]
resolves an open problem of [Alam et al. 2016]
Structure of a drawing
Consider a drawingwith k bundled crossingsand observe that:
Structure of a drawing
Consider a drawingwith k bundled crossingsand observe that:
• At most k bundled crossings =⇒ at most 4k frame edges.
Structure of a drawing
Consider a drawingwith k bundled crossingsand observe that:
• We can “lift” the drawing onto a surface of genus k
• At most k bundled crossings =⇒ at most 4k frame edges.
Structure of a drawing
Consider a drawingwith k bundled crossingsand observe that:
• We can “lift” the drawing onto a surface of genus k
• At most k bundled crossings =⇒ at most 4k frame edges.
Structure of a drawing
Consider a drawingwith k bundled crossingsand observe that:
• We can “lift” the drawing onto a surface of genus k
• At most k bundled crossings =⇒ at most 4k frame edges.
Structure of a drawing
Consider a drawingwith k bundled crossingsand observe that:
• We can “lift” the drawing onto a surface of genus k
• and subdivide the surface into regions.
• At most k bundled crossings =⇒ at most 4k frame edges.
Structure of a drawing
Consider a drawingwith k bundled crossingsand observe that:
• Other edges/vertices of the graph partitioned into these regions.
• We can “lift” the drawing onto a surface of genus k
• and subdivide the surface into regions.
• At most k bundled crossings =⇒ at most 4k frame edges.
Structure of a drawing
Consider a drawingwith k bundled crossingsand observe that:
• Other edges/vertices of the graph partitioned into these regions.
• We can “lift” the drawing onto a surface of genus k
• The graph induced by edges inside a single region has a specialouterplanar drawing.
• and subdivide the surface into regions.
• At most k bundled crossings =⇒ at most 4k frame edges.
Structure of a drawing
Consider a drawingwith k bundled crossingsand observe that:
• Other edges/vertices of the graph partitioned into these regions.
• We can “lift” the drawing onto a surface of genus k
• The graph induced by edges inside a single region has a specialouterplanar drawing.
• and subdivide the surface into regions.
What if a region hasa bridge and a tunnelcorresponding tothe same bundled crossing?
• At most k bundled crossings =⇒ at most 4k frame edges.
Structure of a drawing
Consider a drawingwith k bundled crossingsand observe that:
• Other edges/vertices of the graph partitioned into these regions.
• We can “lift” the drawing onto a surface of genus k
• The graph induced by edges inside a single region has a specialouterplanar drawing.
• and subdivide the surface into regions.
What if a region hasa bridge and a tunnelcorresponding tothe same bundled crossing?
Thm. A region is a topological disk.
• At most k bundled crossings =⇒ at most 4k frame edges.
Each region is a topological disk.Lem.
The Algorithm
Deciding whether bc◦(G ) = kis FPT in k.
Thm.
• Guess the drawing of at most 4k frame edges and theirbundling.
The Algorithm
Deciding whether bc◦(G ) = kis FPT in k.
Thm.
• Guess the drawing of at most 4k frame edges and theirbundling.
• Construct a surface of genus k and a subdivision into regions.
The Algorithm
Deciding whether bc◦(G ) = kis FPT in k.
Thm.
• Guess the drawing of at most 4k frame edges and theirbundling.
• Map the edges of the graph to the guessed frame edges.
• Construct a surface of genus k and a subdivision into regions.
The Algorithm
Deciding whether bc◦(G ) = kis FPT in k.
Thm.
• Guess the drawing of at most 4k frame edges and theirbundling.
• Partition the edges and vertices into the regions.
• Map the edges of the graph to the guessed frame edges.
• Construct a surface of genus k and a subdivision into regions.
The Algorithm
Deciding whether bc◦(G ) = kis FPT in k.
Thm.
• Guess the drawing of at most 4k frame edges and theirbundling.
• Partition the edges and vertices into the regions.
• Test graphs in each region for a good outerplanar drawing.
• Map the edges of the graph to the guessed frame edges.
• Construct a surface of genus k and a subdivision into regions.
goodmeans it“fits” here
The Algorithm
Deciding whether bc◦(G ) = kis FPT in k.
Thm.
• Guess the drawing of at most 4k frame edges and theirbundling.
• Partition the edges and vertices into the regions.
• Test graphs in each region for a good outerplanar drawing.MSO2
• Map the edges of the graph to the guessed frame edges.
• Construct a surface of genus k and a subdivision into regions.
goodmeans it“fits” here
The Algorithm
Deciding whether bc◦(G ) = kis FPT in k.
Thm.
• Guess the drawing of at most 4k frame edges and theirbundling.
• Partition the edges and vertices into the regions.
• Test graphs in each region for a good outerplanar drawing.MSO2
• Map the edges of the graph to the guessed frame edges.
• Construct a surface of genus k and a subdivision into regions.
But what is MSO2 again?
goodmeans it“fits” here
The Algorithm
Deciding whether bc◦(G ) = kis FPT in k.
Thm.
• Guess the drawing of at most 4k frame edges and theirbundling.
• Partition the edges and vertices into the regions.
• Test graphs in each region for a good outerplanar drawing.MSO2
• Map the edges of the graph to the guessed frame edges.
• Construct a surface of genus k and a subdivision into regions.
But what is MSO2 again?
goodmeans it“fits” here
Monadic Second Order Logic (MSO2)
(∀e ∈ E )[( γ∨
i=0
e ∈ Ei
)∧(∧i 6=j
¬(e ∈ Ei ∧ e ∈ Ej))]
.
Partition(E ; E0, . . . , Eγ) =
Monadic Second Order Logic (MSO2)
Thm (Courcelle): If a property P is expressed as ϕ ∈ MSO2,then for every graph G with treewidth at most t, P can betested in time O(f (t, |ϕ|)(n + m)) for a computable function f .
(∀e ∈ E )[( γ∨
i=0
e ∈ Ei
)∧(∧i 6=j
¬(e ∈ Ei ∧ e ∈ Ej))]
.
Partition(E ; E0, . . . , Eγ) =
Monadic Second Order Logic (MSO2)
Thm (Courcelle): If a property P is expressed as ϕ ∈ MSO2,then for every graph G with treewidth at most t, P can betested in time O(f (t, |ϕ|)(n + m)) for a computable function f .
(∀e ∈ E )[( γ∨
i=0
e ∈ Ei
)∧(∧i 6=j
¬(e ∈ Ei ∧ e ∈ Ej))]
.
Partition(E ; E0, . . . , Eγ) =
Monadic Second Order Logic (MSO2)
Thm (Courcelle): If a property P is expressed as ϕ ∈ MSO2,then for every graph G with treewidth at most t, P can betested in time O(f (t, |ϕ|)(n + m)) for a computable function f .
(∀e ∈ E )[( γ∨
i=0
e ∈ Ei
)∧(∧i 6=j
¬(e ∈ Ei ∧ e ∈ Ej))]
.
Partition(E ; E0, . . . , Eγ) =
Since our regions induce outerplanar graphs, we have treewidthat most 8k + 2 where k is the number of bundled crossings.
Monadic Second Order Logic (MSO2)
Thm (Courcelle): If a property P is expressed as ϕ ∈ MSO2,then for every graph G with treewidth at most t, P can betested in time O(f (t, |ϕ|)(n + m)) for a computable function f .
(∀e ∈ E )[( γ∨
i=0
e ∈ Ei
)∧(∧i 6=j
¬(e ∈ Ei ∧ e ∈ Ej))]
.
Partition(E ; E0, . . . , Eγ) =
But, what about?• Test graphs in each region for a good outerplanar drawing.
Monadic Second Order Logic (MSO2)
Thm (Courcelle): If a property P is expressed as ϕ ∈ MSO2,then for every graph G with treewidth at most t, P can betested in time O(f (t, |ϕ|)(n + m)) for a computable function f .
(∀e ∈ E )[( γ∨
i=0
e ∈ Ei
)∧(∧i 6=j
¬(e ∈ Ei ∧ e ∈ Ej))]
.
Partition(E ; E0, . . . , Eγ) =
But, what about?• Test graphs in each region for a good outerplanar drawing.
This can be stated in MSO2 via a mechanism ofMSO-definition schemes, and the Backwards TranslationTheorem [Courcelle, Engelfriet; 2012]
Monadic Second Order Logic (MSO2)
Thm (Courcelle): If a property P is expressed as ϕ ∈ MSO2,then for every graph G with treewidth at most t, P can betested in time O(f (t, |ϕ|)(n + m)) for a computable function f .
(∀e ∈ E )[( γ∨
i=0
e ∈ Ei
)∧(∧i 6=j
¬(e ∈ Ei ∧ e ∈ Ej))]
.
Partition(E ; E0, . . . , Eγ) =
But, what about?• Test graphs in each region for a good outerplanar drawing.
This can be stated in MSO2 via a mechanism ofMSO-definition schemes, and the Backwards TranslationTheorem [Courcelle, Engelfriet; 2012]
It’s a
bittechnical
Testing whether bc◦ = k
Deciding whether bc◦(G ) = kis FPT in k.
Thm.
• Guess the drawing of at most 4k frame edges and theirbundling.
• Partition the edges and vertices into the regions.
• Test graphs in each region for a good outerplanar drawing.
• Map the edges of the graph to the guessed frame edges.
• Construct a surface of genus k and a subdivision into regions.
Runtime:
Testing whether bc◦ = k
Deciding whether bc◦(G ) = kis FPT in k.
Thm.
• Guess the drawing of at most 4k frame edges and theirbundling.
• Partition the edges and vertices into the regions.
• Test graphs in each region for a good outerplanar drawing.
• Map the edges of the graph to the guessed frame edges.
• Construct a surface of genus k and a subdivision into regions.
Runtime:
2O(k2)
2O(k2)
Testing whether bc◦ = k
Deciding whether bc◦(G ) = kis FPT in k.
Thm.
• Guess the drawing of at most 4k frame edges and theirbundling.
• Partition the edges and vertices into the regions.
• Test graphs in each region for a good outerplanar drawing.MSO2
• Map the edges of the graph to the guessed frame edges.
• Construct a surface of genus k and a subdivision into regions.
Runtime:
2O(k2)f (k)(|V |+ |E |)
2O(k2)
Testing whether bc◦ = k
Deciding whether bc◦(G ) = kis FPT in k.
Thm.
• Guess the drawing of at most 4k frame edges and theirbundling.
• Partition the edges and vertices into the regions.
• Test graphs in each region for a good outerplanar drawing.MSO2
• Map the edges of the graph to the guessed frame edges.
• Construct a surface of genus k and a subdivision into regions.
Runtime:
2O(k2)f (k)(|V |+ |E |)
2O(k2)
Thm. A region is a topological disk.
Recall that for correctness of thealgorithm we need to show that
Each region is a topological disk.Thm.
A region is a topological disk
Proof.Each region is a topological disk.Lem.
A region is a topological disk
Proof.Each region is a topological disk.Lem.
A region is a topological disk
Proof.Each region is a topological disk.Lem.
A region is a topological disk
Proof.Each region is a topological disk.Lem.
A region is a topological disk
Proof.Each region is a topological disk.Lem.
A region is a topological disk
Proof.
Stick to the right!
Each region is a topological disk.Lem.
A region is a topological disk
Proof.Each region is a topological disk.Lem.
A region is a topological disk
Proof.Each region is a topological disk.Lem.
A region is a topological disk
Proof.Each region is a topological disk.Lem.
A region is a topological disk
Proof.Each region is a topological disk.Lem.
A region is a topological disk
Proof.Each region is a topological disk.Lem.
A region is a topological disk
Proof.Each region is a topological disk.Lem.
A region is a topological disk
hurray!Proof.Each region is a topological disk.Lem.
A region is a topological disk
Proof.Each region is a topological disk.Lem.
A region is a topological disk
Proof.Cannotbe completed!
follows from [Arroyo,Bensmail, Richter; 2018]
Each region is a topological disk.Lem.
A region is a topological disk
Proof.Cannotbe completed!
follows from [Arroyo,Bensmail, Richter; 2018]
Each region is a topological disk.Lem.
A region is a topological disk
Proof.Cannotbe completed!
follows from [Arroyo,Bensmail, Richter; 2018]
Each region is a topological disk.Lem.
Open Questions
We have provided an FPT algorithm for deciding whetherbc◦(G ) = k.
Since our algorithm is based on MSO2 the runtime is
Open Questions
We have provided an FPT algorithm for deciding whetherbc◦(G ) = k.
Since our algorithm is based on MSO2 the runtime is
(k)×(|V |+ |E |)
Open Questions
We have provided an FPT algorithm for deciding whetherbc◦(G ) = k.
Since our algorithm is based on MSO2 the runtime is
Question 1Is there a faster FPT algorithm for deciding whetherbc◦(G ) = k?
(k)×(|V |+ |E |)
Open Questions
We have provided an FPT algorithm for deciding whetherbc◦(G ) = k.
Since our algorithm is based on MSO2 the runtime is
Question 1Is there a faster FPT algorithm for deciding whetherbc◦(G ) = k?
Question 2Is deciding whether bc◦(G ) = k NP-hard?
(k)×(|V |+ |E |)
Open Questions
We have provided an FPT algorithm for deciding whetherbc◦(G ) = k.
Since our algorithm is based on MSO2 the runtime is
Question 1Is there a faster FPT algorithm for deciding whetherbc◦(G ) = k?
Question 2Is deciding whether bc◦(G ) = k NP-hard?
(k)×(|V |+ |E |)
Question 3Is bundle crossing min. also FPT for general simple layouts?