SlideShare a Scribd company logo
1 of 87
SPREE
The Strathclyde Poker Research Environment



       L. Dicken, N. Johnstone, J. Levine, P. Rodgers
       Strathclyde AI and Games Research Group
Poker at SAIG




2
Poker at SAIG

    • Evolutionary Algorithms applied to Tournament Poker.
     (Carter & Levine)[1]




                             [1] - An Investigation into Tournament Poker Strategy using Evolutionary Algorithms, Carter & Levine,
                                                                                                          Proceedings of CIG2007



2
Poker at SAIG

    • Evolutionary Algorithms applied to Tournament Poker.
     (Carter & Levine)[1]
    • Co-Evolution for Counter Strategies in Texas Hold ‘Em
     (Thomson, Levine & Wotherspoon)[2]




                             [1] - An Investigation into Tournament Poker Strategy using Evolutionary Algorithms, Carter & Levine,
                                                                                                          Proceedings of CIG2007
                              [2] - Evolution of Counter-Strategies: Application of Co-evolution to Texas Hold'em Poker, Thomson,
                                                                                   Levine & Wotherspoon, Proceedings of CIG2008

2
Poker at SAIG

    • Evolutionary Algorithms applied to Tournament Poker.
     (Carter & Levine)[1]
    • Co-Evolution for Counter Strategies in Texas Hold ‘Em
     (Thomson, Levine & Wotherspoon)[2]
    • Monte Carlo Simulation for Ten Player Texas Hold ‘Em
     (Birnie, Dicken & Levine)



                             [1] - An Investigation into Tournament Poker Strategy using Evolutionary Algorithms, Carter & Levine,
                                                                                                          Proceedings of CIG2007
                              [2] - Evolution of Counter-Strategies: Application of Co-evolution to Texas Hold'em Poker, Thomson,
                                                                                   Levine & Wotherspoon, Proceedings of CIG2008

2
Poker at SAIG

    • Evolutionary Algorithms applied to Tournament Poker.
     (Carter & Levine)[1]
    • Co-Evolution for Counter Strategies in Texas Hold ‘Em
     (Thomson, Levine & Wotherspoon)[2]
    • Monte Carlo Simulation for Ten Player Texas Hold ‘Em
     (Birnie, Dicken & Levine)
    • Machine Learning for Player Archetyping (Birnie, Dicken &
     Levine)
                             [1] - An Investigation into Tournament Poker Strategy using Evolutionary Algorithms, Carter & Levine,
                                                                                                          Proceedings of CIG2007
                              [2] - Evolution of Counter-Strategies: Application of Co-evolution to Texas Hold'em Poker, Thomson,
                                                                                   Levine & Wotherspoon, Proceedings of CIG2008

2
Incomplete Information




3
Incomplete Information

    • In the Machine Learning project we found a key weakness in
     existing Poker research.




3
Incomplete Information

    • In the Machine Learning project we found a key weakness in
     existing Poker research.
    • Based primarily on data gathered from commercial online
     casinos through play.




3
Incomplete Information

    • In the Machine Learning project we found a key weakness in
     existing Poker research.
    • Based primarily on data gathered from commercial online
     casinos through play.
    • Significant information remains hidden, e.g. folded hands.




3
Incomplete Information

    • In the Machine Learning project we found a key weakness in
     existing Poker research.
    • Based primarily on data gathered from commercial online
     casinos through play.
    • Significant information remains hidden, e.g. folded hands.
       ‣ “Playable” hands are the only positive cases shown




3
Incomplete Information

    • In the Machine Learning project we found a key weakness in
     existing Poker research.
    • Based primarily on data gathered from commercial online
     casinos through play.
    • Significant information remains hidden, e.g. folded hands.
       ‣ “Playable” hands are the only positive cases shown
       ‣ Infer from this which hands are “Unplayable”



3
Incomplete Information

    • In the Machine Learning project we found a key weakness in
     existing Poker research.
    • Based primarily on data gathered from commercial online
     casinos through play.
    • Significant information remains hidden, e.g. folded hands.
       ‣ “Playable” hands are the only positive cases shown
       ‣ Infer from this which hands are “Unplayable”
       ‣ Compensation through large datasets (~1,000,000 games)


3
Incomplete Information

    • In the Machine Learning project we found a key weakness in
     existing Poker research.
    • Based primarily on data gathered from commercial online
     casinos through play.
    • Significant information remains hidden, e.g. folded hands.
       ‣ “Playable” hands are the only positive cases shown
       ‣ Infer from this which hands are “Unplayable”
       ‣ Compensation through large datasets (~1,000,000 games)
    • Sub-optimal approach based on availability of data
3
Reinventing the Wheel




4
Reinventing the Wheel

    • Huge portions of these projects got spent implementing
     Poker rules.




4
Reinventing the Wheel

    • Huge portions of these projects got spent implementing
     Poker rules.
    • Wasted effort




4
Reinventing the Wheel

    • Huge portions of these projects got spent implementing
     Poker rules.
    • Wasted effort
    • Fragmentation > Potentially flawed implementations




4
Reinventing the Wheel

    • Huge portions of these projects got spent implementing
     Poker rules.
    • Wasted effort
    • Fragmentation > Potentially flawed implementations
    • Skews results




4
Two Birds, One Stone




5
Two Birds, One Stone

    • We need better data, which we can’t get from online casinos




5
Two Birds, One Stone

    • We need better data, which we can’t get from online casinos
       ‣ But only online casinos have the kind of volume of data
         we need.




5
Two Birds, One Stone

    • We need better data, which we can’t get from online casinos
       ‣ But only online casinos have the kind of volume of data
         we need.
    • We need a standard testbed in which to conduct Poker
     research.




5
Two Birds, One Stone

    • We need better data, which we can’t get from online casinos
       ‣ But only online casinos have the kind of volume of data
         we need.
    • We need a standard testbed in which to conduct Poker
     research.
       ‣ Save on development time, spend more time on the AI




5
Two Birds, One Stone

    • We need better data, which we can’t get from online casinos
       ‣ But only online casinos have the kind of volume of data
         we need.
    • We need a standard testbed in which to conduct Poker
     research.
       ‣ Save on development time, spend more time on the AI
       ‣ Standardise our experimental methodology, more
         comparable results.


5
Introducing SPREE




6
Introducing SPREE

    • The Strathclyde Poker Research Environment provides an
     open framework for Poker experimentation.




6
Introducing SPREE

    • The Strathclyde Poker Research Environment provides an
     open framework for Poker experimentation.
    • Client/Server structure allows AI players to be easily created




6
Introducing SPREE

    • The Strathclyde Poker Research Environment provides an
     open framework for Poker experimentation.
    • Client/Server structure allows AI players to be easily created
    • Pre-built GUI client means players can play against AI or each
     other.




6
Introducing SPREE

    • The Strathclyde Poker Research Environment provides an
     open framework for Poker experimentation.
    • Client/Server structure allows AI players to be easily created
    • Pre-built GUI client means players can play against AI or each
     other.
    • Open server means we can get complete data on all games
     being played.



6
Components




7
SPREE Server




8
SPREE Server

    • Controls the flow of the game.




8
SPREE Server

    • Controls the flow of the game.
    • Stores certain state information (e.g. Player bankroll, Active
     tables) in a database - non-volatile.




8
SPREE Server

    • Controls the flow of the game.
    • Stores certain state information (e.g. Player bankroll, Active
     tables) in a database - non-volatile.
    • Broken into two main components : Casino and Table




8
SPREE Server

    • Controls the flow of the game.
    • Stores certain state information (e.g. Player bankroll, Active
     tables) in a database - non-volatile.
    • Broken into two main components : Casino and Table
    • Casino is the high level - logins, providing information on
     active tables etc.




8
SPREE Server

    • Controls the flow of the game.
    • Stores certain state information (e.g. Player bankroll, Active
     tables) in a database - non-volatile.
    • Broken into two main components : Casino and Table
    • Casino is the high level - logins, providing information on
     active tables etc.
    • The Table server runs the game according to the
     specification it has been given.


8
Game Specifications




9
Game Specifications

    • Focus is currently on Texas Hold ‘Em




9
Game Specifications

    • Focus is currently on Texas Hold ‘Em
    • Rules of the game specified in XML




9
Game Specifications

    • Focus is currently on Texas Hold ‘Em
    • Rules of the game specified in XML
    • Modular component for the server, can swap to
     other game modes.




9
Game Specifications

    • Focus is currently on Texas Hold ‘Em
    • Rules of the game specified in XML
    • Modular component for the server, can swap to
     other game modes.
      ‣ Note that the current client is specific to Texas Hold ‘Em




9
Collecting Data




10
Collecting Data

     • Two types of data being logged




10
Collecting Data

     • Two types of data being logged
       ‣ “Recording” : dump GameState messages that have been
         generated through the game.




10
Collecting Data

     • Two types of data being logged
       ‣ “Recording” : dump GameState messages that have been
         generated through the game.
       ‣ “Hand History” : a human-readable export of the game,
         compatible with Poker stats software e.g. Poker Tracker




10
SPREE Client




11
SPREE Client

     • Java implementation modelled on existing commercial casino
      interfaces.




11
SPREE Client

     • Java implementation modelled on existing commercial casino
      interfaces.
     • Connects to Casino Server, logs in and retrieves data about
      tables working.




11
SPREE Client

     • Java implementation modelled on existing commercial casino
      interfaces.
     • Connects to Casino Server, logs in and retrieves data about
      tables working.
     • Then connects to Table Server and plays Poker.




11
SPREE Client

     • Java implementation modelled on existing commercial casino
      interfaces.
     • Connects to Casino Server, logs in and retrieves data about
      tables working.
     • Then connects to Table Server and plays Poker.
     • Principal difference from commercial implementations :




11
SPREE Client

     • Java implementation modelled on existing commercial casino
      interfaces.
     • Connects to Casino Server, logs in and retrieves data about
      tables working.
     • Then connects to Table Server and plays Poker.
     • Principal difference from commercial implementations :
        ‣ No chat, want to avoid play devolving into Turing tests.



11
SPREE Client




12
SPREE Replayer




13
SPREE Replayer

     • The Replayer is an offline GUI “client”




13
SPREE Replayer

     • The Replayer is an offline GUI “client”
     • Uses data logged by the server to visualise games of Poker




13
SPREE Replayer

     • The Replayer is an offline GUI “client”
     • Uses data logged by the server to visualise games of Poker
     • Gives developers the ability to dig into games and
      understand the behaviour of their bots.




13
SPREE Replayer

     • The Replayer is an offline GUI “client”
     • Uses data logged by the server to visualise games of Poker
     • Gives developers the ability to dig into games and
      understand the behaviour of their bots.
        ‣ Or social scientists the ability to analyse the behaviour of
          players.




13
SPREE Admin




14
SPREE Admin

     • Dedicated administration interface.




14
SPREE Admin

     • Dedicated administration interface.
     • Allows moderators to control the server, register
      new player accounts and set up tables for play.




14
SPREE Admin

     • Dedicated administration interface.
     • Allows moderators to control the server, register
      new player accounts and set up tables for play.
     • Also allows for full-information observation of
      games in progress.




14
SPREE Bots




15
SPREE Bots

     • Bots can be implemented in any language provided they
      conform to the communication spec.




15
SPREE Bots

     • Bots can be implemented in any language provided they
      conform to the communication spec.
     • A framework has been created in Java. Implementing a bot is
      simply implementing a single method.




15
SPREE Bots

     • Bots can be implemented in any language provided they
      conform to the communication spec.
     • A framework has been created in Java. Implementing a bot is
      simply implementing a single method.
     • GameState messages update a TableModel which can be
      queried by the AI routine.




15
SPREE Bots

     • Bots can be implemented in any language provided they
      conform to the communication spec.
     • A framework has been created in Java. Implementing a bot is
      simply implementing a single method.
     • GameState messages update a TableModel which can be
      queried by the AI routine.
     • “makeMove” method is triggered when the server asks the
      bot for an action, options are presented to the method


15
Future Projects




16
Future Projects

     • Revisiting the Monte Carlo and Machine Learning projects
      previously mentioned within the context of SPREE.




16
Future Projects

     • Revisiting the Monte Carlo and Machine Learning projects
      previously mentioned within the context of SPREE.
     • Next project I’ll be supervising will be to develop some
      standard bots to package with future versions of the release.




16
Future Projects

     • Revisiting the Monte Carlo and Machine Learning projects
      previously mentioned within the context of SPREE.
     • Next project I’ll be supervising will be to develop some
      standard bots to package with future versions of the release.
     • Scope for various experiments not just for AI but also in
      sociology.




16
Future Projects

     • Revisiting the Monte Carlo and Machine Learning projects
      previously mentioned within the context of SPREE.
     • Next project I’ll be supervising will be to develop some
      standard bots to package with future versions of the release.
     • Scope for various experiments not just for AI but also in
      sociology.
        ‣ How does value of wager affect behaviour.



16
Future Projects

     • Revisiting the Monte Carlo and Machine Learning projects
      previously mentioned within the context of SPREE.
     • Next project I’ll be supervising will be to develop some
      standard bots to package with future versions of the release.
     • Scope for various experiments not just for AI but also in
      sociology.
        ‣ How does value of wager affect behaviour.
        ‣ Quantification of “on tilt” pre-indicators.


16
Availability




17
Availability

     • Initial public release TODAY!




17
Availability

     • Initial public release TODAY!
     • Licensed under GPL.




17
Availability

     • Initial public release TODAY!
     • Licensed under GPL.
     • Available from Sourceforge at :




17
Availability

     • Initial public release TODAY!
     • Licensed under GPL.
     • Available from Sourceforge at :
            http://www.sourceforge.net/projects/spree-poker/




17
Availability

     • Initial public release TODAY!
     • Licensed under GPL.
     • Available from Sourceforge at :
            http://www.sourceforge.net/projects/spree-poker/
     • Includes Server, Client, Tools and Bot Framework.




17
Availability

     • Initial public release TODAY!
     • Licensed under GPL.
     • Available from Sourceforge at :
            http://www.sourceforge.net/projects/spree-poker/
     • Includes Server, Client, Tools and Bot Framework.
     • Access to resources such as hand history, recordings via
      Sourceforge.



17
Availability

     • Initial public release TODAY!
     • Licensed under GPL.
     • Available from Sourceforge at :
             http://www.sourceforge.net/projects/spree-poker/
     • Includes Server, Client, Tools and Bot Framework.
     • Access to resources such as hand history, recordings via
      Sourceforge.
     • Bot API :


17
Availability

     • Initial public release TODAY!
     • Licensed under GPL.
     • Available from Sourceforge at :
             http://www.sourceforge.net/projects/spree-poker/
     • Includes Server, Client, Tools and Bot Framework.
     • Access to resources such as hand history, recordings via
      Sourceforge.
     • Bot API :
           http://personal.cis.strath.ac.uk/~luke/SPREE/Bots/API/
17
SPREE Contact




18
SPREE Contact

     • SPREE Mailing Lists & Forums on Sourceforge




18
SPREE Contact

     • SPREE Mailing Lists & Forums on Sourceforge
     • Contact me directly :




18
SPREE Contact

     • SPREE Mailing Lists & Forums on Sourceforge
     • Contact me directly :
       ‣ luke@cis.strath.ac.uk




18
SPREE Contact

     • SPREE Mailing Lists & Forums on Sourceforge
     • Contact me directly :
       ‣ luke@cis.strath.ac.uk
       ‣ @LukeD on Twitter




18

More Related Content

Viewers also liked

Introduction Priority Poker (En)
Introduction Priority Poker (En)Introduction Priority Poker (En)
Introduction Priority Poker (En)
SwissQ Consulting AG
 
Infiniti Poker Marketing Plan - MBA Marketing Class
Infiniti Poker Marketing Plan - MBA Marketing ClassInfiniti Poker Marketing Plan - MBA Marketing Class
Infiniti Poker Marketing Plan - MBA Marketing Class
Sam Bishop
 
Product Market Fit Poker
Product Market Fit PokerProduct Market Fit Poker
Product Market Fit Poker
Matt Johnson
 

Viewers also liked (12)

Tech Talk: Standup Poker: How One Hack Revolutionized Our Daily Standup
Tech Talk: Standup Poker: How One Hack Revolutionized Our Daily StandupTech Talk: Standup Poker: How One Hack Revolutionized Our Daily Standup
Tech Talk: Standup Poker: How One Hack Revolutionized Our Daily Standup
 
Use of cognitive and performance enhancing medications in poker players
Use of cognitive and performance enhancing medications in poker playersUse of cognitive and performance enhancing medications in poker players
Use of cognitive and performance enhancing medications in poker players
 
Beyond Planning Poker - Agile 2011
Beyond Planning Poker - Agile 2011Beyond Planning Poker - Agile 2011
Beyond Planning Poker - Agile 2011
 
Introduction Priority Poker (En)
Introduction Priority Poker (En)Introduction Priority Poker (En)
Introduction Priority Poker (En)
 
The Art Of War In Poker
The Art Of War In PokerThe Art Of War In Poker
The Art Of War In Poker
 
Infiniti Poker Marketing Plan - MBA Marketing Class
Infiniti Poker Marketing Plan - MBA Marketing ClassInfiniti Poker Marketing Plan - MBA Marketing Class
Infiniti Poker Marketing Plan - MBA Marketing Class
 
Poker Boom in the Video Game Industry | Pawel Weder
Poker Boom in the Video Game Industry | Pawel WederPoker Boom in the Video Game Industry | Pawel Weder
Poker Boom in the Video Game Industry | Pawel Weder
 
Basic Poker Strategy
Basic Poker StrategyBasic Poker Strategy
Basic Poker Strategy
 
The cost of irrationality - how poker players perform better by avoiding cogn...
The cost of irrationality - how poker players perform better by avoiding cogn...The cost of irrationality - how poker players perform better by avoiding cogn...
The cost of irrationality - how poker players perform better by avoiding cogn...
 
Planning Poker estimating technique
Planning Poker estimating techniquePlanning Poker estimating technique
Planning Poker estimating technique
 
Product Market Fit Poker
Product Market Fit PokerProduct Market Fit Poker
Product Market Fit Poker
 
Ontology of Poker
Ontology of PokerOntology of Poker
Ontology of Poker
 

Similar to The Strathclyde Poker Research Environment

Switc Hpa
Switc HpaSwitc Hpa
Switc Hpa
PTIHPA
 

Similar to The Strathclyde Poker Research Environment (20)

Knowing When to Hold 'Em, When to Fold 'Em and When to Blow 'Em Up
Knowing When to Hold 'Em, When to Fold 'Em and When to Blow 'Em UpKnowing When to Hold 'Em, When to Fold 'Em and When to Blow 'Em Up
Knowing When to Hold 'Em, When to Fold 'Em and When to Blow 'Em Up
 
AlphaGo and AlphaGo Zero
AlphaGo and AlphaGo ZeroAlphaGo and AlphaGo Zero
AlphaGo and AlphaGo Zero
 
Honu/Big Data @ Riot Games
Honu/Big Data @ Riot GamesHonu/Big Data @ Riot Games
Honu/Big Data @ Riot Games
 
Cache on Delivery
Cache on DeliveryCache on Delivery
Cache on Delivery
 
Snowplow: open source game analytics powered by AWS
Snowplow: open source game analytics powered by AWSSnowplow: open source game analytics powered by AWS
Snowplow: open source game analytics powered by AWS
 
Hawk-Eye
Hawk-EyeHawk-Eye
Hawk-Eye
 
SAIG Overview March 2011
SAIG Overview March 2011SAIG Overview March 2011
SAIG Overview March 2011
 
Switc Hpa
Switc HpaSwitc Hpa
Switc Hpa
 
Self Service Analytics at Twitch
Self Service Analytics at TwitchSelf Service Analytics at Twitch
Self Service Analytics at Twitch
 
Slot Seminar
Slot SeminarSlot Seminar
Slot Seminar
 
نشست نظريه داده براي مديريت داده
نشست نظريه داده براي مديريت دادهنشست نظريه داده براي مديريت داده
نشست نظريه داده براي مديريت داده
 
Es715 Play Data V10
Es715 Play Data V10Es715 Play Data V10
Es715 Play Data V10
 
GMBL Investor Presentation
GMBL Investor PresentationGMBL Investor Presentation
GMBL Investor Presentation
 
Big databigideasit4bc
Big databigideasit4bcBig databigideasit4bc
Big databigideasit4bc
 
個人からトリプル A タイトルのゲーム開発者まで。Azure PlayFab で LiveOps しよう
個人からトリプル A タイトルのゲーム開発者まで。Azure PlayFab で LiveOps しよう個人からトリプル A タイトルのゲーム開発者まで。Azure PlayFab で LiveOps しよう
個人からトリプル A タイトルのゲーム開発者まで。Azure PlayFab で LiveOps しよう
 
Using markerless motion capture to win baseball games
Using markerless motion capture to win baseball gamesUsing markerless motion capture to win baseball games
Using markerless motion capture to win baseball games
 
Idle Games: The Mechanics and Monetization of Self-Playing Games
Idle Games: The Mechanics and Monetization of Self-Playing GamesIdle Games: The Mechanics and Monetization of Self-Playing Games
Idle Games: The Mechanics and Monetization of Self-Playing Games
 
Devoxx 2017 - AI Self-learning Game Playing
Devoxx 2017 - AI Self-learning Game PlayingDevoxx 2017 - AI Self-learning Game Playing
Devoxx 2017 - AI Self-learning Game Playing
 
(APP203) How Sumo Logic and Anki Build Highly Resilient Services on AWS to Ma...
(APP203) How Sumo Logic and Anki Build Highly Resilient Services on AWS to Ma...(APP203) How Sumo Logic and Anki Build Highly Resilient Services on AWS to Ma...
(APP203) How Sumo Logic and Anki Build Highly Resilient Services on AWS to Ma...
 
Testing the Data Warehouse―Big Data, Big Problems
Testing the Data Warehouse―Big Data, Big ProblemsTesting the Data Warehouse―Big Data, Big Problems
Testing the Data Warehouse―Big Data, Big Problems
 

More from Luke Dicken

More from Luke Dicken (20)

Advances in Game AI
Advances in Game AIAdvances in Game AI
Advances in Game AI
 
Diversity in NPC AI
Diversity in NPC AIDiversity in NPC AI
Diversity in NPC AI
 
You're Not Special, Neither am I
You're Not Special, Neither am IYou're Not Special, Neither am I
You're Not Special, Neither am I
 
Procedural Processes - Lessons Learnt from Automated Content Generation in "E...
Procedural Processes - Lessons Learnt from Automated Content Generation in "E...Procedural Processes - Lessons Learnt from Automated Content Generation in "E...
Procedural Processes - Lessons Learnt from Automated Content Generation in "E...
 
Game AI For the Masses
Game AI For the MassesGame AI For the Masses
Game AI For the Masses
 
The Next Generation of Game Planners
The Next Generation of Game PlannersThe Next Generation of Game Planners
The Next Generation of Game Planners
 
Game Development 2
Game Development 2Game Development 2
Game Development 2
 
Game AI 101 - NPCs and Agents and Algorithms... Oh My!
Game AI 101 - NPCs and Agents and Algorithms... Oh My!Game AI 101 - NPCs and Agents and Algorithms... Oh My!
Game AI 101 - NPCs and Agents and Algorithms... Oh My!
 
Game Development 1 - What is a Game?
Game Development 1 - What is a Game?Game Development 1 - What is a Game?
Game Development 1 - What is a Game?
 
The International Game Developers Association
The International Game Developers AssociationThe International Game Developers Association
The International Game Developers Association
 
Lecture 7 - Experience Management
Lecture 7 - Experience ManagementLecture 7 - Experience Management
Lecture 7 - Experience Management
 
Lecture 6 - Procedural Content and Player Models
Lecture 6 - Procedural Content and Player ModelsLecture 6 - Procedural Content and Player Models
Lecture 6 - Procedural Content and Player Models
 
Lecture 5 - Procedural Content Generation
Lecture 5 - Procedural Content GenerationLecture 5 - Procedural Content Generation
Lecture 5 - Procedural Content Generation
 
Lecture 8 - What is Game AI? Final Thoughts
Lecture 8 - What is Game AI? Final ThoughtsLecture 8 - What is Game AI? Final Thoughts
Lecture 8 - What is Game AI? Final Thoughts
 
Lecture 3 - Decision Making
Lecture 3 - Decision MakingLecture 3 - Decision Making
Lecture 3 - Decision Making
 
Lecture 2 - Probability
Lecture 2 - ProbabilityLecture 2 - Probability
Lecture 2 - Probability
 
Lecture 1 - Game Theory
Lecture 1 - Game TheoryLecture 1 - Game Theory
Lecture 1 - Game Theory
 
Lecture 4 - Opponent Modelling
Lecture 4 - Opponent ModellingLecture 4 - Opponent Modelling
Lecture 4 - Opponent Modelling
 
What I Done on my Holidays
What I Done on my HolidaysWhat I Done on my Holidays
What I Done on my Holidays
 
Influence Landscapes - From Spatial to Conceptual Representations
Influence Landscapes - From Spatial to Conceptual RepresentationsInfluence Landscapes - From Spatial to Conceptual Representations
Influence Landscapes - From Spatial to Conceptual Representations
 

Recently uploaded

Recently uploaded (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 

The Strathclyde Poker Research Environment

  • 1. SPREE The Strathclyde Poker Research Environment L. Dicken, N. Johnstone, J. Levine, P. Rodgers Strathclyde AI and Games Research Group
  • 3. Poker at SAIG • Evolutionary Algorithms applied to Tournament Poker. (Carter & Levine)[1] [1] - An Investigation into Tournament Poker Strategy using Evolutionary Algorithms, Carter & Levine, Proceedings of CIG2007 2
  • 4. Poker at SAIG • Evolutionary Algorithms applied to Tournament Poker. (Carter & Levine)[1] • Co-Evolution for Counter Strategies in Texas Hold ‘Em (Thomson, Levine & Wotherspoon)[2] [1] - An Investigation into Tournament Poker Strategy using Evolutionary Algorithms, Carter & Levine, Proceedings of CIG2007 [2] - Evolution of Counter-Strategies: Application of Co-evolution to Texas Hold'em Poker, Thomson, Levine & Wotherspoon, Proceedings of CIG2008 2
  • 5. Poker at SAIG • Evolutionary Algorithms applied to Tournament Poker. (Carter & Levine)[1] • Co-Evolution for Counter Strategies in Texas Hold ‘Em (Thomson, Levine & Wotherspoon)[2] • Monte Carlo Simulation for Ten Player Texas Hold ‘Em (Birnie, Dicken & Levine) [1] - An Investigation into Tournament Poker Strategy using Evolutionary Algorithms, Carter & Levine, Proceedings of CIG2007 [2] - Evolution of Counter-Strategies: Application of Co-evolution to Texas Hold'em Poker, Thomson, Levine & Wotherspoon, Proceedings of CIG2008 2
  • 6. Poker at SAIG • Evolutionary Algorithms applied to Tournament Poker. (Carter & Levine)[1] • Co-Evolution for Counter Strategies in Texas Hold ‘Em (Thomson, Levine & Wotherspoon)[2] • Monte Carlo Simulation for Ten Player Texas Hold ‘Em (Birnie, Dicken & Levine) • Machine Learning for Player Archetyping (Birnie, Dicken & Levine) [1] - An Investigation into Tournament Poker Strategy using Evolutionary Algorithms, Carter & Levine, Proceedings of CIG2007 [2] - Evolution of Counter-Strategies: Application of Co-evolution to Texas Hold'em Poker, Thomson, Levine & Wotherspoon, Proceedings of CIG2008 2
  • 8. Incomplete Information • In the Machine Learning project we found a key weakness in existing Poker research. 3
  • 9. Incomplete Information • In the Machine Learning project we found a key weakness in existing Poker research. • Based primarily on data gathered from commercial online casinos through play. 3
  • 10. Incomplete Information • In the Machine Learning project we found a key weakness in existing Poker research. • Based primarily on data gathered from commercial online casinos through play. • Significant information remains hidden, e.g. folded hands. 3
  • 11. Incomplete Information • In the Machine Learning project we found a key weakness in existing Poker research. • Based primarily on data gathered from commercial online casinos through play. • Significant information remains hidden, e.g. folded hands. ‣ “Playable” hands are the only positive cases shown 3
  • 12. Incomplete Information • In the Machine Learning project we found a key weakness in existing Poker research. • Based primarily on data gathered from commercial online casinos through play. • Significant information remains hidden, e.g. folded hands. ‣ “Playable” hands are the only positive cases shown ‣ Infer from this which hands are “Unplayable” 3
  • 13. Incomplete Information • In the Machine Learning project we found a key weakness in existing Poker research. • Based primarily on data gathered from commercial online casinos through play. • Significant information remains hidden, e.g. folded hands. ‣ “Playable” hands are the only positive cases shown ‣ Infer from this which hands are “Unplayable” ‣ Compensation through large datasets (~1,000,000 games) 3
  • 14. Incomplete Information • In the Machine Learning project we found a key weakness in existing Poker research. • Based primarily on data gathered from commercial online casinos through play. • Significant information remains hidden, e.g. folded hands. ‣ “Playable” hands are the only positive cases shown ‣ Infer from this which hands are “Unplayable” ‣ Compensation through large datasets (~1,000,000 games) • Sub-optimal approach based on availability of data 3
  • 16. Reinventing the Wheel • Huge portions of these projects got spent implementing Poker rules. 4
  • 17. Reinventing the Wheel • Huge portions of these projects got spent implementing Poker rules. • Wasted effort 4
  • 18. Reinventing the Wheel • Huge portions of these projects got spent implementing Poker rules. • Wasted effort • Fragmentation > Potentially flawed implementations 4
  • 19. Reinventing the Wheel • Huge portions of these projects got spent implementing Poker rules. • Wasted effort • Fragmentation > Potentially flawed implementations • Skews results 4
  • 20. Two Birds, One Stone 5
  • 21. Two Birds, One Stone • We need better data, which we can’t get from online casinos 5
  • 22. Two Birds, One Stone • We need better data, which we can’t get from online casinos ‣ But only online casinos have the kind of volume of data we need. 5
  • 23. Two Birds, One Stone • We need better data, which we can’t get from online casinos ‣ But only online casinos have the kind of volume of data we need. • We need a standard testbed in which to conduct Poker research. 5
  • 24. Two Birds, One Stone • We need better data, which we can’t get from online casinos ‣ But only online casinos have the kind of volume of data we need. • We need a standard testbed in which to conduct Poker research. ‣ Save on development time, spend more time on the AI 5
  • 25. Two Birds, One Stone • We need better data, which we can’t get from online casinos ‣ But only online casinos have the kind of volume of data we need. • We need a standard testbed in which to conduct Poker research. ‣ Save on development time, spend more time on the AI ‣ Standardise our experimental methodology, more comparable results. 5
  • 27. Introducing SPREE • The Strathclyde Poker Research Environment provides an open framework for Poker experimentation. 6
  • 28. Introducing SPREE • The Strathclyde Poker Research Environment provides an open framework for Poker experimentation. • Client/Server structure allows AI players to be easily created 6
  • 29. Introducing SPREE • The Strathclyde Poker Research Environment provides an open framework for Poker experimentation. • Client/Server structure allows AI players to be easily created • Pre-built GUI client means players can play against AI or each other. 6
  • 30. Introducing SPREE • The Strathclyde Poker Research Environment provides an open framework for Poker experimentation. • Client/Server structure allows AI players to be easily created • Pre-built GUI client means players can play against AI or each other. • Open server means we can get complete data on all games being played. 6
  • 33. SPREE Server • Controls the flow of the game. 8
  • 34. SPREE Server • Controls the flow of the game. • Stores certain state information (e.g. Player bankroll, Active tables) in a database - non-volatile. 8
  • 35. SPREE Server • Controls the flow of the game. • Stores certain state information (e.g. Player bankroll, Active tables) in a database - non-volatile. • Broken into two main components : Casino and Table 8
  • 36. SPREE Server • Controls the flow of the game. • Stores certain state information (e.g. Player bankroll, Active tables) in a database - non-volatile. • Broken into two main components : Casino and Table • Casino is the high level - logins, providing information on active tables etc. 8
  • 37. SPREE Server • Controls the flow of the game. • Stores certain state information (e.g. Player bankroll, Active tables) in a database - non-volatile. • Broken into two main components : Casino and Table • Casino is the high level - logins, providing information on active tables etc. • The Table server runs the game according to the specification it has been given. 8
  • 39. Game Specifications • Focus is currently on Texas Hold ‘Em 9
  • 40. Game Specifications • Focus is currently on Texas Hold ‘Em • Rules of the game specified in XML 9
  • 41. Game Specifications • Focus is currently on Texas Hold ‘Em • Rules of the game specified in XML • Modular component for the server, can swap to other game modes. 9
  • 42. Game Specifications • Focus is currently on Texas Hold ‘Em • Rules of the game specified in XML • Modular component for the server, can swap to other game modes. ‣ Note that the current client is specific to Texas Hold ‘Em 9
  • 44. Collecting Data • Two types of data being logged 10
  • 45. Collecting Data • Two types of data being logged ‣ “Recording” : dump GameState messages that have been generated through the game. 10
  • 46. Collecting Data • Two types of data being logged ‣ “Recording” : dump GameState messages that have been generated through the game. ‣ “Hand History” : a human-readable export of the game, compatible with Poker stats software e.g. Poker Tracker 10
  • 48. SPREE Client • Java implementation modelled on existing commercial casino interfaces. 11
  • 49. SPREE Client • Java implementation modelled on existing commercial casino interfaces. • Connects to Casino Server, logs in and retrieves data about tables working. 11
  • 50. SPREE Client • Java implementation modelled on existing commercial casino interfaces. • Connects to Casino Server, logs in and retrieves data about tables working. • Then connects to Table Server and plays Poker. 11
  • 51. SPREE Client • Java implementation modelled on existing commercial casino interfaces. • Connects to Casino Server, logs in and retrieves data about tables working. • Then connects to Table Server and plays Poker. • Principal difference from commercial implementations : 11
  • 52. SPREE Client • Java implementation modelled on existing commercial casino interfaces. • Connects to Casino Server, logs in and retrieves data about tables working. • Then connects to Table Server and plays Poker. • Principal difference from commercial implementations : ‣ No chat, want to avoid play devolving into Turing tests. 11
  • 55. SPREE Replayer • The Replayer is an offline GUI “client” 13
  • 56. SPREE Replayer • The Replayer is an offline GUI “client” • Uses data logged by the server to visualise games of Poker 13
  • 57. SPREE Replayer • The Replayer is an offline GUI “client” • Uses data logged by the server to visualise games of Poker • Gives developers the ability to dig into games and understand the behaviour of their bots. 13
  • 58. SPREE Replayer • The Replayer is an offline GUI “client” • Uses data logged by the server to visualise games of Poker • Gives developers the ability to dig into games and understand the behaviour of their bots. ‣ Or social scientists the ability to analyse the behaviour of players. 13
  • 60. SPREE Admin • Dedicated administration interface. 14
  • 61. SPREE Admin • Dedicated administration interface. • Allows moderators to control the server, register new player accounts and set up tables for play. 14
  • 62. SPREE Admin • Dedicated administration interface. • Allows moderators to control the server, register new player accounts and set up tables for play. • Also allows for full-information observation of games in progress. 14
  • 64. SPREE Bots • Bots can be implemented in any language provided they conform to the communication spec. 15
  • 65. SPREE Bots • Bots can be implemented in any language provided they conform to the communication spec. • A framework has been created in Java. Implementing a bot is simply implementing a single method. 15
  • 66. SPREE Bots • Bots can be implemented in any language provided they conform to the communication spec. • A framework has been created in Java. Implementing a bot is simply implementing a single method. • GameState messages update a TableModel which can be queried by the AI routine. 15
  • 67. SPREE Bots • Bots can be implemented in any language provided they conform to the communication spec. • A framework has been created in Java. Implementing a bot is simply implementing a single method. • GameState messages update a TableModel which can be queried by the AI routine. • “makeMove” method is triggered when the server asks the bot for an action, options are presented to the method 15
  • 69. Future Projects • Revisiting the Monte Carlo and Machine Learning projects previously mentioned within the context of SPREE. 16
  • 70. Future Projects • Revisiting the Monte Carlo and Machine Learning projects previously mentioned within the context of SPREE. • Next project I’ll be supervising will be to develop some standard bots to package with future versions of the release. 16
  • 71. Future Projects • Revisiting the Monte Carlo and Machine Learning projects previously mentioned within the context of SPREE. • Next project I’ll be supervising will be to develop some standard bots to package with future versions of the release. • Scope for various experiments not just for AI but also in sociology. 16
  • 72. Future Projects • Revisiting the Monte Carlo and Machine Learning projects previously mentioned within the context of SPREE. • Next project I’ll be supervising will be to develop some standard bots to package with future versions of the release. • Scope for various experiments not just for AI but also in sociology. ‣ How does value of wager affect behaviour. 16
  • 73. Future Projects • Revisiting the Monte Carlo and Machine Learning projects previously mentioned within the context of SPREE. • Next project I’ll be supervising will be to develop some standard bots to package with future versions of the release. • Scope for various experiments not just for AI but also in sociology. ‣ How does value of wager affect behaviour. ‣ Quantification of “on tilt” pre-indicators. 16
  • 75. Availability • Initial public release TODAY! 17
  • 76. Availability • Initial public release TODAY! • Licensed under GPL. 17
  • 77. Availability • Initial public release TODAY! • Licensed under GPL. • Available from Sourceforge at : 17
  • 78. Availability • Initial public release TODAY! • Licensed under GPL. • Available from Sourceforge at : http://www.sourceforge.net/projects/spree-poker/ 17
  • 79. Availability • Initial public release TODAY! • Licensed under GPL. • Available from Sourceforge at : http://www.sourceforge.net/projects/spree-poker/ • Includes Server, Client, Tools and Bot Framework. 17
  • 80. Availability • Initial public release TODAY! • Licensed under GPL. • Available from Sourceforge at : http://www.sourceforge.net/projects/spree-poker/ • Includes Server, Client, Tools and Bot Framework. • Access to resources such as hand history, recordings via Sourceforge. 17
  • 81. Availability • Initial public release TODAY! • Licensed under GPL. • Available from Sourceforge at : http://www.sourceforge.net/projects/spree-poker/ • Includes Server, Client, Tools and Bot Framework. • Access to resources such as hand history, recordings via Sourceforge. • Bot API : 17
  • 82. Availability • Initial public release TODAY! • Licensed under GPL. • Available from Sourceforge at : http://www.sourceforge.net/projects/spree-poker/ • Includes Server, Client, Tools and Bot Framework. • Access to resources such as hand history, recordings via Sourceforge. • Bot API : http://personal.cis.strath.ac.uk/~luke/SPREE/Bots/API/ 17
  • 84. SPREE Contact • SPREE Mailing Lists & Forums on Sourceforge 18
  • 85. SPREE Contact • SPREE Mailing Lists & Forums on Sourceforge • Contact me directly : 18
  • 86. SPREE Contact • SPREE Mailing Lists & Forums on Sourceforge • Contact me directly : ‣ luke@cis.strath.ac.uk 18
  • 87. SPREE Contact • SPREE Mailing Lists & Forums on Sourceforge • Contact me directly : ‣ luke@cis.strath.ac.uk ‣ @LukeD on Twitter 18

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n