
The Book Embedding Problem from a SAT-Solving Perspective [GD 2015] Michalis Bekos, Michael Kaufmann, Christian Zielke Universit¨at Tubingen,¨ Germany The Book Embedding problem Vertices V ! ordered, on a spine Edges E ! assigned to p pages Pages ! half planes, delimited by spine planar The Book Embedding problem Vertices V ! ordered, on a spine Edges E ! assigned to p pages Pages ! half planes, delimited by spine planar goal: minimize p - book thickness The Book Embedding problem 1 Vertices V ! ordered, on a spine 8 9 3 4 5 6 7 Edges E ! assigned to p pages 10 11 Pages ! half planes, delimited by spine 2 planar goal: minimize p - book thickness The Book Embedding problem 1 Vertices V ! ordered, on a spine 8 9 3 4 5 6 7 Edges E ! assigned to p pages 10 11 Pages ! half planes, delimited by spine 2 planar goal: minimize p - book thickness 1 7 6 11 5 10 2 3 4 8 9 The Book Embedding problem 1 Vertices V ! ordered, on a spine 8 9 3 4 5 6 7 Edges E ! assigned to p pages 10 11 Pages ! half planes, delimited by spine 2 planar goal: minimize p - book thickness 1 7 6 11 5 10 2 3 4 8 9 Known results: [Bernhard & Kainen, 1979] bt(G) = 1 , G is outerplanar, bt(G) = 2 , G is subhamiltonian The Book Embedding problem 1 Vertices V ! ordered, on a spine 8 9 3 4 5 6 7 Edges E ! assigned to p pages 10 11 Pages ! half planes, delimited by spine 2 planar goal: minimize p - book thickness 1 7 6 11 5 10 2 3 4 8 9 Known results: [Bernhard & Kainen, 1979] bt(G) = 1 , G is outerplanar, bt(G) = 2 , G is subhamiltonian [Yannakakis, 1989] all planar graphs can be embedded on 4 pages (no graph needing 4 pages is known) The Book Embedding problem 1 Vertices V ! ordered, on a spine 8 9 3 4 5 6 7 Edges E ! assigned to p pages 10 11 Pages ! half planes, delimited by spine 2 planar goal: minimize p - book thickness 1 7 6 11 5 10 2 3 4 8 9 Known results: [Bernhard & Kainen, 1979] bt(G) = 1 , G is outerplanar, bt(G) = 2 , G is subhamiltonian [Yannakakis, 1989] all planar graphs can be embedded on 4 pages (no graph needing 4 pages is known) [Bekos et al., 2015] 1-planar graphs have constant book thickness (39) SAT solving Boolean variables "sun is shining", "road is wet", α, β, ... SAT solving Boolean variables "sun is shining", "road is wet", α, β, ... clauses conjunctive normal form (α _:β) ^ (... _ ... _ ...) ^ ... SAT solving Boolean variables "sun is shining", "road is wet", α, β, ... clauses conjunctive normal form (α _:β) ^ (... _ ... _ ...) ^ ... formula SAT solving Boolean variables "sun is shining", "road is wet", α, β, ... clauses conjunctive normal form (α _:β) ^ (... _ ... _ ...) ^ ... formula logical operations ! implications: "if ... then ..." $ equivalence: "if and only if" SAT solving Boolean variables "sun is shining", "road is wet", α, β, ... clauses conjunctive normal form (α _:β) ^ (... _ ... _ ...) ^ ... formula logical operations ! implications: "if ... then ..." $ equivalence: "if and only if" "forbid"particular settings (α _:β) forbids :α, β SAT solving Boolean variables "sun is shining", "road is wet", α, β, ... clauses conjunctive normal form (α _:β) ^ (... _ ... _ ...) ^ ... formula logical operations ! implications: "if ... then ..." $ equivalence: "if and only if" "forbid"particular settings (α _:β) forbids :α, β SAT? assignment to variables that satisfies all clauses SAT solving Boolean variables "sun is shining", "road is wet", α, β, ... clauses conjunctive normal form (α _:β) ^ (... _ ... _ ...) ^ ... formula logical operations ! implications: "if ... then ..." $ equivalence: "if and only if" "forbid"particular settings (α _:β) forbids :α, β SAT? assignment to variables that satisfies all clauses use SAT solver as black box / oracle SAT solving Boolean variables "sun is shining", "road is wet", α, β, ... clauses conjunctive normal form (α _:β) ^ (... _ ... _ ...) ^ ... formula logical operations ! implications: "if ... then ..." $ equivalence: "if and only if" "forbid"particular settings (α _:β) forbids :α, β Applications of SAT: [Zeranski & Chimani, 2012] Upward planarity via SAT SAT solving Boolean variables "sun is shining", "road is wet", α, β, ... clauses conjunctive normal form (α _:β) ^ (... _ ... _ ...) ^ ... formula logical operations ! implications: "if ... then ..." $ equivalence: "if and only if" "forbid"particular settings (α _:β) forbids :α, β Applications of SAT: [Zeranski & Chimani, 2012] Upward planarity via SAT [Biedl et al, 2013] SAT for grid-based graph problems (pathwidth, vis. representation, ...) SAT formulation General idea: build formula F(G, p) via 1. ensure a proper order of the vertices on the spine SAT formulation General idea: build formula F(G, p) via 1. ensure a proper order of the vertices on the spine vi SAT formulation General idea: build formula F(G, p) via 1. ensure a proper order of the vertices on the spine vi vj Variables: σ(vi , vj ): vi is left of vj on spine SAT formulation General idea: build formula F(G, p) via 1. ensure a proper order of the vertices on the spine vi vj Variables: σ(vi , vj ): vi is left of vj on spine Rules: SAT formulation General idea: build formula F(G, p) via 1. ensure a proper order of the vertices on the spine vi vj Variables: σ(vi , vj ): vi is left of vj on spine Rules: Antisymmetry: σ(vi , vj ) $ :σ(vj , vi ) SAT formulation General idea: build formula F(G, p) via 1. ensure a proper order of the vertices on the spine vj vi vj Variables: σ(vi , vj ): vi is left of vj on spine Rules: Antisymmetry: σ(vi , vj ) $ :σ(vj , vi ) SAT formulation General idea: build formula F(G, p) via 1. ensure a proper order of the vertices on the spine vi vj Variables: σ(vi , vj ): vi is left of vj on spine Rules: Antisymmetry: σ(vi , vj ) $ :σ(vj , vi ) Transitivity: σ(vi , vj ) ^ σ(vj , vk ) ! σ(vi , vk ) SAT formulation General idea: build formula F(G, p) via 1. ensure a proper order of the vertices on the spine vi vj vk Variables: σ(vi , vj ): vi is left of vj on spine Rules: Antisymmetry: σ(vi , vj ) $ :σ(vj , vi ) Transitivity: σ(vi , vj ) ^ σ(vj , vk ) ! σ(vi , vk ) SAT formulation General idea: build formula F(G, p) via 1. ensure a proper order of the vertices on the spine X σ(vi , vj ) vi vj SAT formulation General idea: build formula F(G, p) via 1. ensure a proper order of the vertices on the spine X σ(vi , vj ) vi vj 2. assure that every edge is assigned to one of p pages Variables: φp(ei ): edge ei is assigned to page p SAT formulation General idea: build formula F(G, p) via 1. ensure a proper order of the vertices on the spine X σ(vi , vj ) vi vj 2. assure that every edge is assigned to one of p pages Variables: φp(ei ): edge ei is assigned to page p Rules: SAT formulation General idea: build formula F(G, p) via 1. ensure a proper order of the vertices on the spine X σ(vi , vj ) vi vj 2. assure that every edge is assigned to one of p pages Variables: φp(ei ): edge ei is assigned to page p Rules: ≥ 1 page: φ1(ei ) _ φ2(ei ) _ ::: _ φp(ei ) SAT formulation General idea: build formula F(G, p) via 1. ensure a proper order of the vertices on the spine X σ(vi , vj ) vi vj 2. assure that every edge is assigned to one of p pages Variables: φp(ei ): edge ei is assigned to page p χ(ei , ej ): edges ei and ej are assigned to same page Rules: ≥ 1 page: φ1(ei ) _ φ2(ei ) _ ::: _ φp(ei ) SAT formulation General idea: build formula F(G, p) via 1. ensure a proper order of the vertices on the spine X σ(vi , vj ) vi vj 2. assure that every edge is assigned to one of p pages Variables: φp(ei ): edge ei is assigned to page p χ(ei , ej ): edges ei and ej are assigned to same page Rules: ≥ 1 page: φ1(ei ) _ φ2(ei ) _ ::: _ φp(ei ) same page:( φk (ei ) ^ φk (ej )) ! χ(ei , ej ) SAT formulation General idea: build formula F(G, p) via 1. ensure a proper order of the vertices on the spine X σ(vi , vj ) vi vj 2. assure that every edge is assigned to one of p pages X ei ej χ(ei , ej ) SAT formulation General idea: build formula F(G, p) via 1. ensure a proper order of the vertices on the spine X σ(vi , vj ) vi vj 2. assure that every edge is assigned to one of p pages X ei ej χ(ei , ej ) 3. forbid crossings on each page SAT formulation General idea: build formula F(G, p) via 1. ensure a proper order of the vertices on the spine X σ(vi , vj ) vi vj 2. assure that every edge is assigned to one of p pages X ei ej χ(ei , ej ) 3. forbid crossings on each page ei ej forbid χ(ei , ej ) together with SAT formulation General idea: build formula F(G, p) via 1. ensure a proper order of the vertices on the spine X σ(vi , vj ) vi vj 2. assure that every edge is assigned to one of p pages X ei ej χ(ei , ej ) 3.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages111 Page
-
File Size-