The written report is due at 2:00pm on the last day of class, Friday, April 27.
|Wed, Apr 25||2:00-2:20pm||Jeremy Kun||TBA|
|Fri, Apr 27||2:00-2:20pm||Russell Emmert||TBA|
Email a project proposal to email@example.com. Use the subject line
MCS 481 final project proposaland include:
After I review your proposal, I will contact you and either approve the project or suggest revisions.
Wikipedia has its uses, but it is not an authoritative reference. Your sources should be written by experts and subject to peer review.
Proposals for coding projects will be considered. The final product must still include a written report describing the algorithm(s) you implemented, the design choices you had to make, etc.
This list was last updated on Friday, March 9.
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 (other than the art gallery problem) 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.
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⌉).
We discussed the computation of half-plane discrepancy for a finite set in the unit square. Discrepancy can be defined in other contexts, e.g. a set of points on the sphere in R3 has a discrepancy with respect to planes that intersect the sphere. The problem of generating sets of a given size with small discrepancy (either deterministically, or with high probability) has been extensively studied. Discuss some of these approaches and the associated bounds on the discrepancy of the resulting sets.