|Proposal||Fri, Apr 11|
|Report (and code)||Fri, May 2, 10am CDT|
|Presentations||Fri, May 9, 10:30am-12:30pm|
When you are satisfied that you have a concrete idea for a project, email your 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.
Extending our discussion from class, report on methods with time complexity O(n log log n) or O(n log*n).
In our discussion of the Euclidean Minimum Spanning Tree, we mentioned the problem of representing a partition of a set into disjoint subsets. Typically such a representation must support efficient operations for locating which set in the partition contains a given element (find) and of merging two of the sets in the partition (merge). Describe a few of the common data structures that implement these operations, and describe what is known about upper and lower bounds for the complexity of these operations.
Select a problem in computational geometry (other than the art gallery problem) that is known to be NP-hard or NP-complete. Write an exposition of a proof that the problem belongs to this complexity class. (Include enough background material so another student from MCS 481 would be able to follow it.)
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.
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.
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.
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⌉).
In class we will soon discuss the computation of the 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.
Build on the brief discussion in lecture by surveying what is known about Davenport-Schinzel sequences, proving some of the key length bounds and describing some of their applications.