His scientific research focuses on search in Artificial Intelligence. This includes work on heuristic and combinatorial search for single and multiple agents, including bidirectional search, automated abstraction, heuristics, refinement search, search for game design, heuristic learning, inconsistent heuristics, cooperative search, large-scale and parallel search. Particular applications include pathfinding and planning in memory-constrained real-time environments (e.g. commercial video games) as well as algorithms for building and using memory-based heuristics via large-scale search. Other work considers theoretical and practical issues in games with more than two players, including opponent modeling, learning, and imperfect information.