Coder Social home page Coder Social logo

pokerbot's Introduction

Poker Bot Competition

This report describes models that can be applied to the well-known Texas Holdem Poker game (card game). The fundamental problems are explained and addressed by mathematical models. The focus is on the state space found in poker, non-deterministic prediction, and the credit assignment problem. Several agent compositions are implemented as reinforcement learning algorithms and use the temporal-difference learning method to autonomously detect patterns in the game. This generally leads to the implementation of a Double Deep Q Network with Prioritized Experience Replay model, which can achieve profit against different opponents. The agents compete against each other in local test runs, as well as on a platform tuned for this purpose, allowing direct comparisons of performance. Evaluations also show limits. The implementation is explained in Python using the Keras framework.

Initialise venv

  1. Generate venv: python3 -m venv venv
  2. Execute shell script to start playing with 6 dqn bots: sh run_evaluation.sh

Execute

For execution, adjust agent composition as desired in runEvaluation.py. The number of evaluation rounds can be specified in line #50. The setup calls add_dqn_bots from configuration/CashGameConfig.py by default. The method registers six Ddqn and DdqnPer agents with different configurations. Different models are under Components, including:

  • Deep Q Network Model
  • Double Deep Q Network Model
  • Double Deep Q Network with Prioritized Experience Replay model

All models are developed from scratch. There are also some pre-programmed models in tensorflow, have a look at them.

Double Deep Q Network with Prioritized Experience Replay Overview

Flowchart DdqnPer

Sorry, thesis was in german

Ablaufdiagramm DdqnPer

MVBasePokerPlayer Flow

Overview MVBasePokerPlayer flow

Resources

Resources are in german.

pokerbot's People

Contributors

cudemo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.