MA/CX 704 Senior
Thesis Topics
Primality Testing and Factoring: see Bob Martin
Graph Algorithms: see Matthew Dickerson
Random Number Generation: see Daniel Scharstein
Dynamic Programming: see Matthew Dickerson
Advanced Data Structures for High-Dimensional Data: see Matthew Dickerson
NP Completeness: see Amy Briggs
Theory of Computation: see Amy Briggs or Matthew Dickerson
Virtual Memory Simulations: see Matthew Dickerson
Distributed Systems and Common Knowledge: see Matthew Dickerson
Computational Geometry: see Matthew Dickerson
The Voronoi Diagram
Two-site Distance Functions
Optimal Triangulations
Problems in Three-Dimensional Modeling
Proximity Problems (Near-Neighbor Searching)
Artificial Intelligence: see Timothy Huang
Belief Networks in Artificial Intelligence
Strategic Game-Playing Algorithms in Artificial Intelligence
Robotics: see Amy Briggs
Motion Planning
Art Gallery Problems
Reactive Control
Assembly Planning
Grasping
Roadmap Methods for Motion Planning
Microelectromechanical Systems (MEMS)
Computer Vision: see Daniel Scharstein
Face Recognition
Edge Detection
Camera Calibration
Snakes
Stereo
Structure from Motion
Application Areas
Cryptology: see Bob Martin
Networks: see Bob Martin
Graphics: see Bob Martin or Daniel Scharstein
Programming Languages: see Amy Briggs or Daniel Scharstein
Chip Design: see Daniel Scharstein
Medical Imaging: see Matthew Dickerson
Geographic Information Systems: see Matthew Dickerson
Primality Testing and Factoring
This topic involves simply determining whether a given
integer n is prime or composite, and if composite, determining its prime
factorization. Checking all trial
divisors less than the square root of n suffices but it is clearly totally
impractical for large n. Mathematicians
have developed very sophisticated methods to deal with this problem. Those methods often utilize the particular
form of n -- e.g., n may be of the form
(a) 2p - 1 or (b) 22q +
1. How did Euler determine (a) was
prime for p = 31 or (b) was composite for q = 5? Why did Euler initially think that 1,000,009 was prime before
rectifying his mistake? What theorems
have been used to allow computers to determine the primality of (a) for p =
859,433?
This
could be a very interesting and challenging topic with either a mathematical or
computational focus.
Reference: Hans Riesel, Prime Numbers and Computer Methods
for Factorization
Peter
Schumer, Introduction to Number Theory
For further information, see Bob Martin, Peter
Schumer, or David Dorman.
NP Completeness
As computer scientists, we are
interested in efficient solutions to problems given limited resources of space
and time. Some problems (e.g., the
Traveling Salesperson Problem) are thought to be intractable. The theory of NP-completeness (introduced in
CX423 and CX421) describes a class of such problems that are all equally
"hard" in that they can all be reduced to each other. In fact, there is an entire hierarchy of
computational complexity classes based on the amount of time or space required
to compute recursive functions. This
area presents many interesting topics for investigation, including complexity
measures, speed-up theorems, and hierarchy theorems.
References: Hopcroft
and Ullman, Introduction to Automata Theory, Languages, and Computation;
Garey and Johnson, Computers and Intractability
For
further information, see Amy Briggs or
Matthew Dickerson
Distributed Systems and Common
Knowledge
There are a number of interesting computer science
problems involving communication proto-cols between various nodes in a
distributed system. One famous problem
is the Byzantine Generals Problem:
Two
allied generals are stationed with armies on opposite hills with the enemy in a
valley between them. The generals would
like to coordinate an attack. They know
that if they attack simultaneously they are guaranteed victory. However if only one attacks without the
support of the other, they are guaranteed defeat. They must coordinate this attack by sending messages across the
valley. Suppose a message has a 90%
chance of success. How many messages
will it take to plan the attack?
This problem is basically a problem of achieving
common knowledge and there are lots of variations of this problem as well as
many applications of the solutions.
For
further information, see Matthew Dickerson.
Belief
Networks in Artificial Intelligence
Suppose that a patient complains to a doctor about
various symptoms. How can the doctor make a diagnosis? Since these symptoms may
have many possible causes, the doctor must reason about which causes are more
or less likely. Some researchers in artificial intelligence have worked on
automatic diagnosis methods using a data structure called a belief network
(also known as a probabilistic network or a Bayesian network). Belief networks
provide a compact way to represent the probabilistic relationships among a set
of variables and have been used for diagnosing heart diseases, troubleshooting
printer problems (in Windows 98!), and recognizing human speech. A senior
thesis could involve applying belief networks to a real-world problem,
implementing new algorithms for probabilistic inference in belief networks, or
investigating the theoretical properties of various belief network algorithms.
For further information, see Timothy Huang
Strategic
Game-Playing Algorithms in Artificial Intelligence
One of the earliest applications of research in
artificial intelligence (AI) was the development of computer programs to play
chess. This culminated in the recent victory of IBM's Deep Blue over human
world champion Gary Kasparov in a six-game match. In the meantime, there has
been substantial work on other strategic games. In checkers and Othello,
computer programs can beat even the best human players. In backgammon and
Scrabble, computer programs play at about the same level as human champions. In
the game of Go, even the best programs play at the level of weak human players.
A senior thesis could involve an analysis of game-playing techniques and why
they work well in some domains but not others, or an implementation of
game-playing algorithms for one or more strategy games.
For further information, see Timothy Huang
Motion Planning
The
"piano movers problem" is to find a collision-free path from an
initial position to a goal position for a robot or moving object in the
presence of obstacles. Motion planning
systems have varying criteria for what constitutes a good path. A system may, for example, require the path
to be the shortest possible path. Or,
it may require that the moving robot always stay maximally clear of
obstacles. Another system may allow a
robot to slide on obstacles. There are
many variations of the basic motion planning problem, even in two
dimensions. A thesis in this area could
investigate different solutions to the motion planning problem and could
include some implementation work.
For further information, see Amy
Briggs.
Art Gallery Problems
The
"art gallery problem" is to determine the minimum number of guards
sufficient to guard the interior of a simple polygon. Many interesting variations of this problem have been
studied. For example, how many guards
are sufficient if they are allowed to walk along given paths? How does the problem change when the polygon
has obstacles in it? What can be said
about guards within specific types of polygons?
Reference: O'Rourke, Art Gallery Theorems and
Algorithms
For further information, see Amy
Briggs.
The
field of computer vision is concerned with extracting information from
images. It is multi-disciplinary in
that it spans many topics from different areas, including computer science,
physics, and mathematics.
Experimentation with real implementations is a central part of computer
vision research. There are numerous
possibilities for senior theses, ranging from surveys of existing algorithms to
theoretical analysis to practical implementation and experimentation. Two concrete examples for potential thesis
topics are listed below.
Stereo Vision: Perceiving Depth with
the Computer Having two eyes enables us to see the world in three
dimensions. The task of reconstructing
depth from two images is complex and difficult, yet our brain performs it
constantly and instantaneously. Can it
also be done on a computer? This
question has challenged researchers for over 20 years. A senior thesis could survey and investigate
several of the many approaches to the stereo vision problem. The topic is also well suited for implementations
and experimental evaluation.
Structure from Motion Similar
to stereo vision, structure from motion algorithms try to infer 3D scene
geometry from 2D images. They differ
from stereo algorithms in that a number of feature points are tracked over a
whole sequence of images, rather than just two. A senior thesis could contribute state-of-the-art research by
extending one of the existing algorithms, which is based on the singular value
decomposition. Programming skills and an interest in linear algebra will be
required!
For
further information, see Daniel Scharstein