Some of these topics are broad enough to accommodate multiple projects; others will be allocated to the first proposal received.
This list was last updated on Tuesday, April 5.
Extending our discussion from class, report on methods with time complexity O(n log log n) or O(n log*n).
The problem is to insert diagonals to decompose a simple polygon into the minimal number of convex pieces. This problem came up in project 2. Explore it further and report on algorithms, lower and upper bounds for time complexity.
Our textbook briefly describes this query acceleration technique for range trees in section 5.6, though the technique is useful in other problems, too. Report on the general technique and describe at least two applications to computational geometry.
Survey some problems in computational geometry that are NP-hard or NP-complete. How does one show that they belong to these complexity classes? Are there efficient algorithms to construct approximate solutions?
An unsolved variant of the art gallery problem in which the goal is to illuminate a room using floodlights placed at the vertices. Unlike guards or security cameras, who we assume have 360° vision, the floodlights illuminate a sector of fixed angle θ < 180°. How many vertices are necessary, and how can one find such a set? Report on what is known about theoretical bounds and algorithms.
Outline other approaches to the linear programming problem in any number of dimensions (e.g. the simplex algorithm, ellipsoid method, Karmarkar's method). Discuss the unsolved problem of finding a strongly polynomial-time algorithm.
There are two related problems here:
Kuratowski's theorem (planar is equivalent to having no K5 or K3,3 subgraph) gives a naive exponential-time algorithm for determining whether or not a given graph is planar. Discuss this and one of the more efficient (linear-time) algorithms for planarity testing. Do any of these methods allow one to construct an embedding?
A polygon in R2 can be decomposed into triangles by adding only edges; new vertices are not necessary. For a polyhedron in R3, however, the corresponding statement is false; in general, decomposition into tetrahedra requires additional vertices. Why are these vertices sometimes necessary, and how many may be required? Give examples and discuss triangulation algorithms for polyhedra.
A finite set of points in the plane is in general position if no three of them are collinear. The forced convex subset problem asks for what values of n and k do there exist k points in general position such that no n of them form a convex n-gon. The full problem is unsolved, but there are upper and lower bounds on k in terms of n; for example, in 1978 Harborth showed that any set of 10 points in general position contains a convex pentagon. Discuss such progress and the underlying methods.
The problem of generating random polygons was raised in project 2. Explore the issue further by studying other methods for generating random polygons (in the sense discussed in the project) or related problems, such as:
Our discussion of the point location problem is based on trapezoidal decomposition, but there are several other approaches that have similar construction and query cost (O(n) space, O(n log n) construction time, O(log n) expected query time). Explain some of these other methods and compare them to the trapzoidal decomposition. Consider issues such as complexity of the construction and query algorithms and expected vs. worst-case analysis.
In class we discussed a randomized incremental approach to building a search structure for the trapezoidal decomposition of a planar subdivision. It is also possible to build the adjacency graph and search structure using a deterministic plane sweep (similar to the one discussed in Chapter 2). Report on this method, giving details of the construction algorithm and analyzing the worst-case construction cost (in time and space). Consider the characteristics of subdivisions that arise in some applications (e.g. GIS) and compare the randomized and plane-sweep approaches for such maps.
A variant of the Voronoi decomposition of the plane relative to a set of points can be constructed using a distance function (or metric) other than the standard Euclidean distance. Discuss some of the distance functions that arise naturally in applictaions and techniques to compute these Voronoi diagrams.
Discuss an algorithm to compute the Voronoi diagram in Rd with time complexity O(n⌈d/2⌉).