<p>Testing whether a pair of points $p_i$ and $p_j$ are the endpoints of a Delaunay edge can be solved as a linear programming feasability problem: Lift each point to one higher dimension by making its last coordinate be the sum of squares of the other coordinates. Then look for a hyperplane passing through $p_i$ and $p_j$, such that all the other points are on one side of it. This can be represented in linear inequality constraints by seeking a vector $v$ and scalar $c$ such that the dot product of $v$ with each point is at least $c$, and is exactly $c$ in the case of $p_i$ and $p_j$.</p>

<p>So for any set of points in any dimension, it's possible to find the Delaunay edges one by one, by solving a number of linear programs that is polynomial in the number of points. The reason Delaunay triangulation is hard is not because of the edges, it's because there may be too many higher-dimensional features.</p>

CC BY-SA 3.0
2013-11-05T03:17:29.210Z
Thanks David. The idea of lifting point to one higher dimension is interesting. By the way, I have another question. Is it possible to find all Delaunay edges in $2^{O(n)}$ using subexponential space?
Jinx
CC BY-SA 3.0
2013-11-05T06:29:45.707Z
The idea of lifting to one dimension higher is extremely standard when working with Delaunay triangulations. And I'm confused by your followup question: doesn't the algorithm I just described find them all in polynomial time and polynomial space?
David Eppstein
CC BY-SA 3.0
2013-11-05T15:06:31.290Z
it's definitely in polynomial time and space with respect to the number of points. Here we have $2^n$ vertices given by $n$ linearly independent vectors, and I ask for an algorithm running in subexponential space in $n$. If it's possible to solve a linear programming of $2^n$ inequalities in $2^{o(n)}$ space then your algorithm will works. But then the running time will probably be bad, so I wonder if it's possible to find an algorihm that runs in $2^{O(n)}$ or not.
Jinx
CC BY-SA 3.0
2013-11-05T15:17:37.633Z
I'm thinking of doing gift wrapping in $n+1$ dimensions, since we don't have to store previous results with gift wrapping. If we can somehow bound the number of open ridges, then the space would not be too big.
Jinx
CC BY-SA 3.0
2013-11-05T16:47:37.647Z
Oh, I see what you mean. The ellipsoid method for linear programming runs in polynomial time given only a separation oracle (a black box that can tell whether a point is inside or outside the feasible polytope, and if outside returns a separating hyperplane). See "Geometric Algorithms and Combinatorial Optimization" by Grötschel, Lovász, and Schrijver. And in the parallelotope case, such an oracle is easy to implement in low space — just loop through all the parallelotope vertices testing each one. So I think the answer is yes, this same algorithm runs in polynomial space in terms of n.
David Eppstein
CC BY-SA 3.0
2013-11-05T02:00:55.247Z
2013-11-05T02:00:55.247Z
David Eppstein
<p>Given $n$ linearly independent vectors $v_1, v_2, \ldots, v_n$ in $n$-dimensional space. Let $V$ be the set of $2^n$ points of the form $x_1 v_1 + x_2v_2 + \ldots + x_nv_n$, in which $x_i$ can be $0$ or $1$. $V$ is the set of vertices of an n-dimensional parallelepiped. Is there any way to find the Delaunay triangulation of $V$ using subexponential space with respect to $n$? I understand that the size of the output is big, and we can't store the whole output. But is there any way to output the Delaunay edges one by one without storing the previous result? </p>

<cg.comp-geom><delaunay-triangulation>
Delaunay Triangulation of Parallelepiped
Jinx
# Delaunay Triangulation of Parallelepiped

(Asked by: username_0 on 2013-11-04)

Given $n$ linearly independent vectors $v\_1, v\_2, \ldots, v\_n$ in $n$-dimensional space. Let $V$ be the set of $2^n$ points of the form $x\_1 v\_1 + x\_2v\_2 + \ldots + x\_nv\_n$, in which $x\_i$ can be $0$ or $1$. $V$ is the set of vertices of an n-dimensional parallelepiped. Is there any way to find the Delaunay triangulation of $V$ using subexponential space with respect to $n$? I understand that the size of the output is big, and we can't store the whole output. But is there any way to output the Delaunay edges one by one without storing the previous result?

**Tags:** cg.comp-geom, delaunay-triangulation

---

## 1 answers

### Answer by username_1 on 2013-11-05. Score: 5 | Accepted answer

Testing whether a pair of points $p\_i$ and $p\_j$ are the endpoints of a Delaunay edge can be solved as a linear programming feasability problem: Lift each point to one higher dimension by making its last coordinate be the sum of squares of the other coordinates. Then look for a hyperplane passing through $p\_i$ and $p\_j$, such that all the other points are on one side of it. This can be represented in linear inequality constraints by seeking a vector $v$ and scalar $c$ such that the dot product of $v$ with each point is at least $c$, and is exactly $c$ in the case of $p\_i$ and $p\_j$.

So for any set of points in any dimension, it's possible to find the Delaunay edges one by one, by solving a number of linear programs that is polynomial in the number of points. The reason Delaunay triangulation is hard is not because of the edges, it's because there may be too many higher-dimensional features.

> **Comments:**
> **username_0**: Thanks David. The idea of lifting point to one higher dimension is interesting. By the way, I have another question. Is it possible to find all Delaunay edges in $2^{O(n)}$ using subexponential space?  
> **username_1**: The idea of lifting to one dimension higher is extremely standard when working with Delaunay triangulations. And I'm confused by your followup question: doesn't the algorithm I just described find them all in polynomial time and polynomial space?  
> **username_0**: it's definitely in polynomial time and space with respect to the number of points. Here we have $2^n$ vertices given by $n$ linearly independent vectors, and I ask for an algorithm running in subexponential space in $n$. If it's possible to solve a linear programming of $2^n$ inequalities in $2^{o(n)}$ space then your algorithm will works. But then the running time will probably be bad, so I wonder if it's possible to find an algorihm that runs in $2^{O(n)}$ or not.  
> **username_0**: I'm thinking of doing gift wrapping in $n+1$ dimensions, since we don't have to store previous results with gift wrapping. If we can somehow bound the number of open ridges, then the space would not be too big.  
> **username_1**: Oh, I see what you mean. The ellipsoid method for linear programming runs in polynomial time given only a separation oracle (a black box that can tell whether a point is inside or outside the feasible polytope, and if outside returns a separating hyperplane). See "Geometric Algorithms and Combinatorial Optimization" by Grötschel, Lovász, and Schrijver. And in the parallelotope case, such an oracle is easy to implement in low space — just loop through all the parallelotope vertices testing each one. So I think the answer is yes, this same algorithm runs in polynomial space in terms of n.  

---

