John Levine's Home Page

ACM Computing Curricula

Curriculum Vitae, September 2008

Top Tips

Top Tips for Surviving First Year

Top Tips for Surviving First Year

Top Tips for Surviving First Year

Teaching

CS103 Machines, Languages and Computaton

CS310 Foundations of Artificial Intelligence

Research Interests

I'm mainly interested in two things: searching for intelligent behaviours for computer-based agents, especially agents that need to plan their future activities; and searching for very high quality solutions for difficult combinatorial optimisation problems, such as multi-processor scheduling and bin packing. These two areas are clearly related since they both involve search over a vast number of different alternatives, and the same techniques can often be used for both problems.

The techniques that I use to solve these problems have their inspiration in biological systems: genetic algorithms, genetic programming, neural networks and swarm intelligence. These forms of natural computation are massively parallel and can be seen as solving the problems of survival, learning and problem solving in the natural environment. We can take inspiration from the way in which nature solves these problems to solve analogous problems in the computational world.

Computer Games are a great testing ground for theories of intelligent behaviour, so I frequently use these in my research. I regard one of the most important aspects of intelligent behaviour as the ability to make decisions. Games are interesting to people because of the very large number of interesting decisions which must be made during play. If we could make agents to play games well, I think we would be part of the way to knowing how intelligence works.