I have been involved with the
Poker Research Group in the Computer Science
Department at the University of Alberta. During the summer of 1999, they hired
me to rewrite their Poker AI. The final system,
Poki based on their
previous AI
Loki plays on IRC against human poker players. Below is a
current graph of poki's winnings on irc.poker.net, an online poker
server where poki plays against humans and other bots.
If you have a java-enabled browser you can also play against poki and other humans on our
own poker server.
The task of playing poker (Texas Hold'em) is a very
difficult one. Unlike traditional games worked on in the field of
Artificial Intelligence, in Poker we must deal with incomplete information.
Games like Chess and Checkers are examples perfect information games, where
the entire state of the game is known to all players. In Texas Hold'em,
there can be anywhere from 2 to 10 players, and we have no idea what cards
they may be holding. To complicate things, players may deliberately deceive
you (by bluffing with a weak hand or slow playing a strong hand).
I
have been studying methods to do opponent modeling in poker. In this case,
we are interested in being able to accurately guess what cards a player may
be holding and how he may play them. This is no trivial task. Some of my
more recent work in this area is shown below.
Some of the useful
classes from Poki's Java Poker Source are available free
for download.
I am also working on an online poker
protocol that enables poker AI programs to compete against each other
over TCP/IP.
In late 1999, I did a research project on using neural networks (multilayer perceptrons) to
predict poker player's actions. A PDF of my report is available for download.
[
nnpoker.pdf -- 110k]