I am interested in Artificial Intelligence, Machine Learning, and Game Theory. In particular, I find convex optimization, online learning and how the two relate fascinating. My thesis work focuses on predicting purposeful behavior in strategic situations from only a few observations. In our paper, Computational Rationalization: The Inverse Equilibrium Problem, we predict the location of new mid-scale hotels at a county level using demographic and regulatory features.
My master's thesis work at the University of Alberta, under the supervision of Michael Bowling and Dale Schuurmans, involved Computer Poker programs and Computational Game Theory. You can learn about their on going work at the Computer Poker Research Group website.
Here are some programs I have written that you may find interesting or useful.
Hand IsomorphismA fast hand indexing library written in C. In poker, a card's suit is of no strategic importance, and the order in which the cards are dealt in a round is also irrelevant. This library provides a fast mapping between a poker hand to a canonical index, which is the same for all isomorphic hands.
Matrix game ICEThis python software predicts the behavior of the players in a matrix game using the Inverse Correlated Equilibrium technique described in our ICML paper, Computational Rationalization: The Inverse Equilibrium Problem.
OpenCFRAn implementation of the chance-sampled counterfactual regret minimization algorithm for Leduc Hold'em. It allows for one to solve various abstract games of Leduc Hold'em and compute the exploitability of the resulting strategies.
rank7A fast seven card poker hand rank evaluator. It uses a series of small lookup tables to determine the rank of a poker hand.
zerosumA zero-sum extensive-form game package.
You can find my latest open source software on my GitHub page.
In my spare time I like to: