5

Suppose we have a set of points in the plane. Is computational complexity defined to draw the Voronoi diagrams of these points? Since the plan is continuous I don't see how complexity can be defined. Please explain.

On the other hand if we discretize the space into small cells and attempt to associate each cell with the closest point to approximate the Voronoi diagram, is it NP-hard? Because this looks like minimum distance decoding, which I think is NP-hard.

seek
  • 391

2 Answers2

5

It's true that the plane is continuous, but the Voronoi diagram consists of finitely many polygons. Moreover, the vertices of those polygons have coordinates that are rational functions of the original set of points. So the computational complexity of Voronoi-diagram computation is well-defined; you just have to be in a computational setting where you can do arithmetic on your original coordinates. In particular, the Voronoi diagram of a set of points with rational coordinates itself has rational coordinates, so you can do everything with integer arithmetic and the standard notion of NP-hardness does apply.

In fact, computing a Voronoi diagram on $n$ points in $\Bbb{R}^d$ can be done in time $O(n \log n + n^{\lceil d/2 \rceil})$ (see page 30 of this paper). So the problem of computing planar Voronoi diagrams can't possibly be NP-hard; on the other hand, the problem of computing Voronoi diagrams in arbitrary dimensions may very well be...

Micah
  • 38,108
  • 15
  • 85
  • 133
  • Thanks a lot, quiet the answer I was looking for. Could you please comment on the second part too, about the discrete cell space? – seek Oct 01 '14 at 18:12
  • 1
    If I'm understanding what you mean by it correctly, the discrete cell space version can't be any harder than the general rational-arithmetic version (since you could just run your continuous algorithm on the centers of the cells and then re-discretize afterward), and it could actually be easier. I think the seeming discrepancy in your question is fundamentally about dimension, and has nothing to do with issues of continuity versus discreteness. – Micah Oct 01 '14 at 18:34
  • I mean we divide the plane into small cells, like a raster and then each initial points take one cell. Then the Voronoi diagram is to associate each cell of the raster to the closest initial point. I don't see how the continuous algorithm can run in the raster? thanks – seek Oct 01 '14 at 18:42
  • You can run it on the centers of the initial cells, in the imagined continuous plane that underlies your raster. This assumes that your notion of "distance between cells" is the distance between the centers of the cells, but anything else seems kind of awful to me. That said, I'm not sure it ends up being helpful unless you're interested in knowing its combinatorial structure... – Micah Oct 01 '14 at 19:14
  • ...if you want to know which region a particular cell belongs to, you can just check its distance to each of the Voronoi sites. Any algorithm for dividing the raster into Voronoi regions is going to have to at least look at each individual cell, you're never going to do more than a linear factor better than that. – Micah Oct 01 '14 at 19:14
3

To address your first question, the ordinary discrete notion of NP-hard indeed does not apply to continuous problems such as this one. On the other hand, there is a theory of computational complexity for problems with continuous data: look up Blum-Shub-Smale machines.

Lee Mosher
  • 120,280
  • Thanks. Even though the domain is continuous, isn't the final structure of the Voronoi diagram combinatorial? Like complexity is defined for finding Nash equilibrium, even though NE is a fixed point in the real probability space. – seek Oct 01 '14 at 18:00