Unfolding and Reconstructing Polyhedra

Slides:



Advertisements
Similar presentations
Great Theoretical Ideas in Computer Science for Some.
Advertisements

Convex drawing chapter 5 Ingeborg Groeneweg. Summery What is convex drawing What is convex drawing Some definitions Some definitions Testing convexity.
Open Problem 9 Yoosun Song CSCE 620 : EDGE-UNFOLDING CONVEX POLYHEDRA Yoosun Song.
Polynomial-time reductions We have seen several reductions:
Bart Jansen, Utrecht University. 2  Max Leaf  Instance: Connected graph G, positive integer k  Question: Is there a spanning tree for G with at least.
NP-Completeness: Reductions
Applications of Euler’s Formula for Graphs Hannah Stevens.
1 Computer Graphics Chapter 7 3D Object Modeling.
CS447/ Realistic Rendering -- Solids Modeling -- Introduction to 2D and 3D Computer Graphics.
3. Delaunay triangulation
Last time: terminology reminder w Simple graph Vertex = node Edge Degree Weight Neighbours Complete Dual Bipartite Planar Cycle Tree Path Circuit Components.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
Computability and Complexity 15-1 Computability and Complexity Andrei Bulatov NP-Completeness.
Reduction Techniques Restriction Local Replacement Component Design Examples.
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
Graph Colouring Lecture 20: Nov 25.
Chapter 4: Straight Line Drawing Ronald Kieft. Contents Introduction Algorithm 1: Shift Method Algorithm 2: Realizer Method Other parts of chapter 4 Questions?
1 Separator Theorems for Planar Graphs Presented by Shira Zucker.
Toward NP-Completeness: Introduction Almost all the algorithms we studies so far were bounded by some polynomial in the size of the input, so we call them.
Hardness Results for Problems
Data reduction lower bounds: Problems without polynomial kernels Hans L. Bodlaender Joint work with Downey, Fellows, Hermelin, Thomasse, Yeo.
9-4 Geometry in Three Dimensions  Simple Closed Surfaces  Regular Polyhedra  Cylinders and Cones.
Subdivision of Edge In a graph G, subdivision of an edge uv is the operation of replacing uv with a path u,w,v through a new vertex w.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
The Theory of NP-Completeness 1. What is NP-completeness? Consider the circuit satisfiability problem Difficult to answer the decision problem in polynomial.
Fixed Parameter Complexity Algorithms and Networks.
Maps. Graphs on Surfaces We are mainly interested in embeddings of graphs on surfaces:  : G ! S. An embedding should be differentiated from immersion.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Lecture 22 More NPC problems
Approximating the Minimum Degree Spanning Tree to within One from the Optimal Degree R 陳建霖 R 宋彥朋 B 楊鈞羽 R 郭慶徵 R
Copyright © Cengage Learning. All rights reserved. CHAPTER 10 GRAPHS AND TREES.
Polynomial-time reductions We have seen several reductions:
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
Nonoverlap of the Star Unfolding Boris Aronov and Joseph O’Rourke, 1991 A Summary by Brendan Lucier, 2004.
Section 3.5 Polygons A polygon is:  A closed plane figure made up of several line segments they are joined together.  The sides to not cross each other.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Agenda Review: –Planar Graphs Lecture Content:  Concepts of Trees  Spanning Trees  Binary Trees Exercise.
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
1 Chapter 34: NP-Completeness. 2 About this Tutorial What is NP ? How to check if a problem is in NP ? Cook-Levin Theorem Showing one of the most difficult.
NP-COMPLETE PROBLEMS. Admin  Two more assignments…  No office hours on tomorrow.
NP-Complete problems.
Chapter Area, Pythagorean Theorem, and Volume 14 Copyright © 2013, 2010, and 2007, Pearson Education, Inc.
CSE 589 Part V One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important. Bertrand Russell.
Local Overlaps in Unfoldings of Polyhedra Brendan LucierAnna Lubiw University of Waterloo Presented at the 15th Annual Fall Workshop on Computational Geometry,
LIMITATIONS OF ALGORITHM POWER
Unique Games Approximation Amit Weinstein Complexity Seminar, Fall 2006 Based on: “Near Optimal Algorithms for Unique Games" by M. Charikar, K. Makarychev,
NP-completeness NP-complete problems. Homework Vertex Cover Instance. A graph G and an integer k. Question. Is there a vertex cover of cardinality k?
Transformations, Symmetries, and Tilings
NPC.
NP Completeness Piyush Kumar. Today Reductions Proving Lower Bounds revisited Decision and Optimization Problems SAT and 3-SAT P Vs NP Dealing with NP-Complete.
COMPLEXITY. Satisfiability(SAT) problem Conjunctive normal form(CNF): Let S be a Boolean expression in CNF. That is, S is the product(and) of several.
Great Theoretical Ideas in Computer Science for Some.
Unfolding and Reconstructing Polyhedra Brendan Lucier University of Waterloo Master’s Thesis Presentation University of Waterloo, Waterloo, Ontario January.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
COMPSCI 102 Introduction to Discrete Mathematics.
Spanning Tree Definition:A tree T is a spanning tree of a graph G if T is a subgraph of G that contains all of the vertices of G. A graph may have more.
Linear Programming Chap 2. The Geometry of LP  In the text, polyhedron is defined as P = { x  R n : Ax  b }. So some of our earlier results should.
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
Approximation Algorithms based on linear programming.
COMPLEXITY. Satisfiability(SAT) problem Conjunctive normal form(CNF): Let S be a Boolean expression in CNF. That is, S is the product(and) of several.
1 Schnyder’s Method. 2 Motivation Given a planar graph, we want to embed it in a grid We want the grid to be relatively small And we want an efficient.
Theory of Computational Complexity Probability and Computing Chapter Hikaru Inada Iwama and Ito lab M1.
P & NP.
Algorithms and Networks
Mathematical Foundations of AI
Richard Anderson Lecture 26 NP-Completeness
Bart M. P. Jansen June 3rd 2016, Algorithms for Optimization Problems
Instructor: Aaron Roth
Presentation transcript:

Unfolding and Reconstructing Polyhedra Brendan Lucier University of Waterloo Master’s Thesis Presentation University of Waterloo, Waterloo, Ontario January 2006

Outline Unfolding Polyhedra Reconstructing Polyhedra Introduction Nonconvex Polyhedra Convex Polyhedra Reconstructing Polyhedra Edge Vectors Edge Lengths

Outline Unfolding Polyhedra Reconstructing Polyhedra Introduction Nonconvex Polyhedra Convex Polyhedra Reconstructing Polyhedra Edge Vectors Edge Lengths

Unfolding Polyhedra We consider the act of cutting a polyhedron along its edges and unfolding it into the plane. The resulting planar figure is an edge unfolding. Two faces of the unfolding overlap if they have a common interior point. An unfolding with no overlap is a simple unfolding, or net. A polyhedron with no net is referred to as ununfoldable.

Unfolding with Overlaps

Simple Unfolding

Definitions convex nonconvex positive curvature negative curvature A convex set is one where the line between two points in the set remains in the set. A face angle of a polyhedron is an interior angle in a face. The total face angle of a vertex is the sum of its face angles. The curvature of a vertex is 360 minus its total face angle. convex nonconvex positive curvature negative curvature

Locality of Overlaps An overlap is k-local if the overlapping faces are connected by a path of at most k vertices in the unfolding. 1-local overlap 2-local overlap 3- and 4-local overlaps

Outline Unfolding Polyhedra Reconstructing Polyhedra Introduction Nonconvex Polyhedra Convex Polyhedra Reconstructing Polyhedra Edge Vectors Edge Lengths

History 1999: Bern, Demaine, Eppstein, and Kuo discover an ununfoldable polyhedron with convex faces. This polyhedron has 24 faces. 2002: Grünbaum constructs an ununfoldable convex-faced polyhedron with 13 faces. 2003: Bern, Demaine, Eppstein, Kuo, Mantler, and Snoeyink construct an ununfoldable simplicial polyhedron with 36 faces.

Describing 1-Local Overlaps A 1-local overlap corresponds precisely to a situation in which a vertex in an unfolding has total face angle greater than 2π. Convex polyhedra clearly avoid 1-local overlaps, since they contain no vertices with negative curvature. Motivating Question: does every polyhedron admit an unfolding that contains no 1-local overlaps? No!

Four-Pointed Star Our polyhedron is a 4-pointed star. The polyhedron is parameterized: α (large) is the length of each spike. β (small) is the height of the center points. If B vertices occur at (±1, ±1, 0), taking α = 10, β = 1 is sufficient.

Argument Claim: every unfolding of the 4-pointed star contains a 1-local overlap. Main idea: To avoid 1-local overlaps, we must cut at least two opposing edges incident to each B vertex.

Argument (con’t) Our cuts must form a spanning tree, so they cannot form a cycle. The cuts must therefore be made as shown in the bottom diagram. There is one final cut that must be made.

Argument (con’t) The center vertices have must have at least 2 incident cuts (due to negative curvature). The remaining cut must therefore be incident with both C vertices, but they are not adjacent! It is therefore impossible to cut our 4-pointed star to avoid 1-local overlaps.

Creating a Smaller Example The 4-Pointed Star is an ununfoldable polyhedron with 16 triangular faces. We shall now make modifications to create a smaller ununfoldable polyhedron. The result will be an ununfoldable convex-faced polyhedron with 9 faces.

Modification #1: 3-Pointed Star

Modification #2: Flatten One side of the polyhedron is flattened. Two triangular faces are combined into a single quadrilateral face. Think of the operation as “cutting” the polyhedron into two halves, lengthwise.

Modification #3: Perturb the symmetry of the star by increasing the angle between two spikes. This adds a new parameter, φ, indicating the angle change. Perturbing by φ = 10o is sufficient.

Unfolding This Polyhedron At the B vertices with face angles greater than 2π/3, two opposing edges must be cut. The vertices with negative curvature must each have two incident cuts. This leaves a few possibilities for unfolding, which are dealt with by a case analysis.

Possible Unfoldings

General Unfoldings In a general unfolding, we are allowed to cut a polyhedron across faces, not just along edges. Can our notion of 1-local overlaps provide a way to find polyhedra with no non-overlapping general unfoldings? No! Theorem: Any polyhedron of genus 0 can be unfolded by arbitrary cuts so that no vertex has an unfolding angle greater than 2pi.

Idea of Proof From every vertex of the polyhedron, separate the total face angle into components less than 2pi by small straight-line cuts. Connect these straight-line cuts into a tree by arbitrary curves. Uses Euler’s formula and some basic topology.

Summary There is a polyhedron with 16 triangular faces for which every unfolding contains a 1-local overlap. There exists an ununfoldable, convex-faced polyhedron with 9 faces. Any polyhedron of genus 0 can be cut along faces and unfolded so no vertex has an unfolding angle greater than 2π.

Outline Unfolding Polyhedra Reconstructing Polyhedra Introduction Nonconvex Polyhedra Convex Polyhedra Reconstructing Polyhedra Edge Vectors Edge Lengths

History 1975: Shepphard conjectures that all convex polyhedra can be unfolded without overlap. 1992-1993: Namiki and Fukuda create a Mathematica package for unfolding polyhedra. Fukuda makes a stronger conjecture about unfolding convex polyhedra. 1997: Schlickenrieder performs an empirical study of various unfolding methods and makes further conjectures about unfolding convex polyhedra.

2-local overlaps Recall that an unfolding of a convex polyhedron will never contain a 1-local overlap. For convex polyhedra, we study 2-local overlaps. 2-local overlap

Sufficient Conditions We have no clean characterization of conditions for a 2-local overlap, but we do have a set of sufficient conditions. A 2-local overlap occurs from cut tree T if a vertex w has degree 1 in T, say adjacent to v, where vertex v has an unfolding angle greater than 270 incident with edge (v,w), and the curvature at w is sufficiently small (depending on the unfolding angle).

Disproving Conjectures We disprove certain conjectures of the form “every convex polyhedron has a non-overlapping unfolding of the form X.” For each unfolding method X, we construct a polyhedron such that we obtain a 2-local overlap when we use X. We do this by showing that the sufficient conditions from the previous slide hold.

Conjecture #1: Shortest Path Tree Given a polyhedron, a shortest path tree is created as follows: Choose a vertex v to be the root. For every other vertex w, take the shortest path from v to w. The union of all these paths is the shortest path tree. Conjecture (fukuda): If a convex polyhedron is cut along a shortest path tree, the resulting unfolding will not contain an overlap. We shall disprove this conjecture.

Idea of Proof Consider the illustrated graph and shortest path tree. Convert into a convex polyhedron by raising the internal vertices slightly; shortest path tree remains the same. Also, curvatures will be as small as we like, so the conditions for a 2-local overlap are satisfied.

Conjecture #2: Steepest Edge Take a polyhedron and choose a direction vector. From each vertex, cut the edge that is directed most toward the chosen vector. This forms the steepest edge cut tree. Conjecture (Schlickenrieder): every convex polyhedron has a steepest edge cut tree that creates a non-overlapping unfolding.

Disproving Schlickenrieder: Steepest edge algorithm applied to the graph at right with direction “up.” Get a cut tree that generates a 2-local overlap. In fact, if the direction is chosen to be close enough to up, we get the same cut tree. The given graph eliminates a certain open range of choices for directions.

Disproving Schlickenrieder (con’t) Embed our graph in a triangle and turn it into a convex terrain by raising interior vertices. Form a polyhedron by covering the sphere with many instances of this terrain. Place instances in such a way to cover all possible choices of direction vectors.

Normal Order Unfoldings Take a polyhedron and choose a direction vector “up.” Order faces by how much they (I.e. their normals) face upward. A normal order unfolding is one in which every face but the lowest is connected to a lower face. Conjecture: Every convex polyhedron admits a non-overlapping normal order unfolding.

Disproving the conjecture: Same as steepest edge, we just use a different graph. There are a few possible cut trees, so we arrange for each to create a 2-local overlap.

Summary We specified conditions on a cut tree that generate a 2-local overlap. We created convex polyhedra for which unfoldings of the following types have overlaps: Shortest path cut tree, Steepest edge cut tree, and Normal order unfolding.

Outline Unfolding Polyhedra Reconstructing Polyhedra Introduction Nonconvex Polyhedra Convex Polyhedra Reconstructing Polyhedra Edge Vectors Edge Lengths

Introduction We analyze the computational complexity of two related decision problems. Problem 1: Edge Vectors Given a set of vectors, does there exist a polygon/polyhedron with those vectors as edges (i.e. edge lengths and orientations)? Problem 2: Edge Lengths Given a set of values, does there exist a polygon/polyhedron with those values as edge lengths?

Review: Computational Complexity We will be showing that problems are NP-hard. A polytime reduction from problem A to problem B is a polynomial-time algorithm to solve instances of A that can use an oracle that instantly solves instances of B. To show that a problem is NP-hard, one forms a polytime reduction to it from a known NP-hard problem. In our proofs, we use the Partition problem for reductions.

Partition Partition: given a set of positive integer values with a sum of 2S, is there a subset of the values with a sum of S? Partition remains NP-complete if we require that all values are unique and that our subset uses exactly half of the input values (shown in thesis). 7 8 1 3 6 24 7 4 5 48 3 1 5 8 7 7 7 7 24 4 6

Outline Unfolding Polyhedra Reconstructing Polyhedra Introduction Nonconvex Polyhedra Convex Polyhedra Reconstructing Polyhedra Edge Vectors Edge Lengths

Edge Vectors We can restate the edge vector problem as follows: Suppose we are given a set of sticks floating in space. We are allowed to translate these sticks, but not rotate them. Under these conditions, can the sticks be arranged to form a polygon/polyhedron of a particular type?

Degenerate Polygons A degenerate polygon is one in which two incident edges are collinear. The edge vector problem is NP-hard for degenerate polygons. Proof: Given an instance (w1, …, wn) of Partition, we create an instance of edge vector with input (0,1), (0,1) (wi,0) for all i.

Degenerate Polyhedra Now extend to polyhedra. The edge vector problem is NP-complete for degenerate polyhedra. Given an instance w_1, …, w_n of Partition, create an instance of Edge Vector with 4x(0,0,1) 4x(0,1,0) 2x(S,0,0) (w_i,0,0) for all i.

Convex Polygons The edge vector problem for convex polygons is NP-complete. We reduce from our strengthened version of Partition. Suppose (w1, …, wn) is an instance of Partition. Then our decision problem will have the following vectors: xi = (wi, 1) for all i, and B1 = B2 = (S,n/2)

Convex Polyhedra The edge vector problem is also NP-hard for convex polyhedra. We build our solution upon that for convex polygons. Create two copies of the polygon construction. Add some vectors (0,0,1). Then the only way these vectors can form a convex polyhedron is if they create a prism, with our convex polygon as the base.

Outline Unfolding Polyhedra Reconstructing Polyhedra Introduction Nonconvex Polyhedra Convex Polyhedra Reconstructing Polyhedra Edge Vectors Edge Lengths

Edge Lengths We are given a pile of sticks, and asked whether they can be glued together to form the edges of a polygon/polyhedron. It is known that this problem can be solved for polygons in polynomial time, independent of degeneracy or convexity. Namely, a polygon can be formed with given edge lengths if and only if the longest value is less than the sum of all the others.

Degenerate Polyhedra Edge Length problem is NP-hard for degenerate polyhedra. Suppose (wi) is an instance of Partition, with sum S. We provide lengths wi for each i, a = 2S-1/2, b1 = b2 = S-1/3, c = 1/10.

Summary It is NP-hard to determine whether a degenerate polygon or polyhedron can be created from a set of edge vectors. It is NP-hard to determine whether a convex polygon or polyhedron can be created from a set of edge vectors. It is NP-hard to determine whether a degenerate polyhedron can be created from a set of edge lengths.