All pastes #935785 Raw Edit

Stuff

public text v1 · immutable
·published 2008-03-09 22:18 UTC
rendered paste body
Develop a Poker Bot

Poker isn't just a game of luck, it is a serious academic endeavor. Many academic papers on artificial intelligence have been written about poker playing computer programs. See http://poker.cs.ualberta.ca/ for some examples. However, there are very few good free / open source poker bot implementations. For this project, the student will develop his or her own poker playing bot. The best implementation will be modular and allow the user to plug in different algorithms. This project is ideal for students with an artificial intelligence background or students knowledgeable in psychology and statistics.

Poker Bot Programming Competition Package

Programming competitions are a great way to get university students interacting with each other and programming outside of class. TinyPoker was originally designed for a small poker bot programming competition held by the Computer Science Club at Bishop's University. The competition worked, but it involved a lot of manual labor by the project organizer. For this project, the student will develop software for managing poker bot programming competitions.

The software will provide a web interface where students can submit their code, the public can view the results/stats, and competition administrators can manage the event. Students will need the ability to register and upload their code. The competition administrators will need the ability to review student code submissions, either for scoring purposes or just to check for malicious code. Once reviewed, the code will likely need to be compiled and run in a safe environment (sandbox, chroot, vserver, virtual machine, etc). The project administrators will need the ability to start and stop the poker server and all of the clients at specific times. The web interface should also provide administrators with the ability to e-mail individual students or all students to announce winners, recruit participants for the next competition or ask questions. The whole system should be as automated as possible. This project is ideal for students familiar with Unix-like environments, virtualization technologies and web application development.