320 likes | 447 Views
complexity results for three-dimensional orthogonal graph drawing. maurizio “titto” patrignani third university of rome graph drawing 2005. three-dimensional orthogonal drawings. nodes are (distinct) points in 3D space edges are composed by sequences of axis-parallel segments. node. edge.
E N D
complexity results for three-dimensional orthogonal graph drawing maurizio “titto” patrignani third university of rome graph drawing 2005
three-dimensional orthogonal drawings • nodes are (distinct) points in 3D space • edges are composed by sequences of axis-parallel segments node edge bend
what we know • existence • only graphs of maximum degree six admit such drawings • all graphs of maximum degree six admit such drawings • volume • (n3/2) [rosenberg 1983] • (n3/2) [eades, stirk, and whitesides 1996] • bends • in the optimal O(n3/2) volume we can draw with up to 7 bends per edge in O(n3/2) time [eades, symvonis, and whitesides 2000] • in O(n3) volume we can draw with up to 3 bends per edges in linear time [papakostas and tollis 1999][eades, symvonis, and whitesides, 2000] • in O(n2) volume we can draw with 6 bends per edge in linear time and handle insertions/deletions in O(1) time [closson, gartshore, johansen, and wismath. 2000]
what we do not know • is three bends per edge the lower bound?or rather: does every graph admit a 2-bend drawing? • can we extend to 3D the topology-shape-metrics approach?
2-bend drawing problem • an algorithm to produce 2-bends drawings could be particularly effective for information visualization • is such algorithm does not exists then the algorithms we have are the best possible • the K7 graph that was thought to require 3 bends turned out to admit a 2-bend drawing [wood ’97] • problem #46 of the open problem project[demaine, mitchell, and o’rourke]
planarization compaction orthogonalization topology-shape-metrics approach in 2D V={1,2,3,4,5,6} E={(1,4),(1,5),(1,6), (2,4),(2,5),(2,6), (3,4),(3,5),(3,6)} 6 1 2 5 3 6 4 5 2 1 6 5 2 1 3 3 4 4
compaction orthogonalization topology-shape-metrics approach in 3D V={1,2,3,4,5} E={(1,2),(1,3),(1,4), (2,3),(2,4),(2,5), (3,4),(3,5)} 1 1 3 4 5 3 4 2 2 5
simple and not simple shape graphs not simple shape graph (always intersects) simple shape graph (admitting non-intersecting metrics)
simplicity testing in 3D • known results: • simplicity test for cycles [di battista, liotta, lubiw, and whitesides, ‘01] • simplicity test for paths (with additional constraints) [di battista, liotta, lubiw, and whitesides, ‘02] • the above two characterizations are not easy to extend to simple graphs (theta graphs) [di giacomo, liotta, and patrignani, ‘04] • simplicity testing is an open problem in the general case • problem #20 of [brandenburg, eppstein, goodrich, kobourov, liotta, and mutzel. ’03]
two open problems • existence of a 2-bend drawing • simplicity testing can complexity considerations give us some insight?
what we show given a 6-degree graph we prove that: • simplicity testing is NP-complete if you fix edge shapes (with a maximum of 2 bends per edge) finding the metrics corresponding to a non intersecting drawing is NP-complete • 2-bend routing is NP-complete if you fix node positions finding a routing without intersections with a maximum of two bends per edge is NP-complete
how we prove the statements reductions from the 3SAT problem: instance: a set of clauses {c1, c2, …, cm} each containing three literals from a set of boolean variables {v1, v2, …, vn} question: can truth values be assigned to the variables so that each clause contains at least one true literal? example of 3SAT instance: (v1 v3 v4) (v1 v2 v5) (v2 v3 v5) c3 c2 c1
we consider a generic target problem structure of the target problem: instance: a graph G and a set of constraints S expressed with respect to its nodes and edges question: does G admit a 3D orthogonal drawing satisfying S?
the 3SAT reduction framework variable gadgets joint gadgets clause gadgets
use of the 3SAT framework theorem if these four statements are true • there is at least one non intersecting drawing for each truth assignment satisfying the 3SAT instance • in any non intersecting drawing if a variable gadget is true, the corresponding joint gadget is true and vice versa • in any non intersecting drawing of a clause gadget one of the literals is true • the construction can be done in polynomial time then the target problem is NP-hard
simplicity testing problem instance: a graph G and a shape for each edge question: does G admit a 3D orthogonal drawing where the edges have the prescribed shape?
variable gadget true variable false variable
variable gadget propagating truth values false variable
joint-gadget T F T F
joint-gadget T F T F F T T F
from the joint gadget clause gadget from the variable gadget from the joint gadget
all literals false intersecting clause gadget F T F T F F T T F F F F F T F T F T F T T T T T
2-bend routing problem instance: a graph G and the coordinates for its nodes question: does G admit a 2-bend orthogonal drawing where the nodes have such coordinates?
true variable false variable variable gadget
variable gadget propagating truth values to clause gadget c1 variable gadget to clause gadget c2 to clause gadget c3
joint gadget from the variable gadget
joint gadget from the variable gadget
joint gadget to the clause gadget from the variable gadget
conclusionssimplicity testing is NP-hard • any characterization of simple orthogonal shapes involves a hard computation • even if we were able to find simple orthogonal shapes the compaction step would be NP-hard • open problems: • are there classes of graphs such that the compaction step is polynomial? • given a generic graph, are there families of shapes such that the metrics can always be computed in polynomial time?
conclusions2-bend routing is NP-hard • yet another problem where two bends per edge implies NP-hardness two bends per edge + fixed shape NP-hardness two bends per edge + fixed positions NP-hardness two bends per edge + diagonal layout NP-hardness • [wood, 2004] • open problem: • what is the problem of finding a 2-bend drawing of a graph?