Algorithms, artificial intelligence, heuristic search, computer games, automated planning, knowledge engineering, machine learning, combinatorial game theory, computer Go.
Powerful modern heuristic search programs rely on 3+1 foundations: 1. a search algorithm, 2. the domain knowledge used for building evaluation functions and search control, and 3. simulation techniques that are used to explore many possible trajectories of possible action sequences. The fourth foundation is machine learning, which is used on a large-scale to acquire domain knowledge.
The high-level goal of our research is to develop new theoretical and practical approaches which advance the performance of heuristic search techniques.
I have worked for thirty years on these research topics, focusing on game tree search, domain-independent planning, and algorithms for combinatorial games. One notable success of my research group is the development of the open source games software framework Fuego. In 2009, Fuego was the first program to beat a top level professional in an even game on the 9x9 Go board. Games programs based on the Fuego framework have won many major international competitions, including the Computer Olympiad and the UEC Cup. In our work in the field of AI planning we have developed a series of internationally successful planning systems based on macro learning and on Monte Carlo random walks. My group has numerous publications in top quality venues and major conferences in the fields of computer games, planning and general AI.
CMPUT 174 and 175 use a problem-driven approach to introduce the fundamental ideas of Computing Science. Emphasis is on the underlying process behind the solution, independent of programming language or style. Basic notions of state, control flow, data structures, recursion, modularization, and testing are introduced through solving simple problems in a variety of domains such as text analysis, map navigation, game search, simulation, and cryptography. Students learn to program by reading and modifying existing programs as well as writing new ones. No prior programming experience is necessary. Prerequisite: Math 30 or 30-1. See Note (1) above. Credit cannot be obtained for CMPUT 174 if credit has already been obtained for CMPUT 274 or 275, except with permission of the Department.Fall Term 2021