MA/CX 704 Senior Thesis Topics

Computer Science

 

Algorithms and Theory

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

 

Systems and Architecture

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

 

 

Algorithms and Theory

 

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 devel­oped very sophisticated methods to deal with this problem.  Those methods often utilize the partic­ular 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 computa­tional 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

 

 

 

Systems and Architecture

 

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 mes­sage 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 varia­tions of this problem as well as many applications of the solutions.

 

            For further information, see Matthew Dickerson.

 

 

Artificial Intelligence

 

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

 

 

Robotics

 

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.

 

 

Computer Vision

 

            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