He works on obtaining theoretical understanding of when learning, inference and planning can be done effectively, on developing effective algorithms for these problems, and also on applying the algorithms to applications such as information extraction, natural language understanding, robotics and games.