He received his Ph.D. in Computer Science from the University of Toronto. His general interests are in studying the underlying structure of problems. Specific areas of research include graph theory, constraint satisfaction problems, random structures, and algorithms. This research tends to lie in the border between theoretical computer science, artificial intelligence, and statistical physics.