High-Level Language to Build Poker Agents

  • Luís Paulo Reis
  • Pedro Mendes
  • Luís Filipe Teófilo
  • Henrique Lopes Cardoso
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 206)


On the last decade Poker has been one of the most interesting subjects for artificial intelligence, because it is a game that requires game playing agents to deal with an incomplete information and stochastic scenario. The development of Poker agents has seen significant advances but it is still hard to evaluate agents’ performance against human players. This is either because it is illicit to use agents in online games, or because human players cannot create agents that play like themselves due to lack of knowledge on computer science and/or AI. The purpose of this work is to fill the gap between poker players and AI in Poker by allowing players without programming skills to build their own agents. To meet this goal, a high-level language of poker concepts – PokerLang – was created, whose structure is easy to read and interpret for domain experts. This language allows for the quick definition of an agent strategy. A graphical application was also created to support the writing of PokerLang strategies. To validate this approach, some Poker players created their agents using the graphical application. Results validated the usability of the application and the language that supports it. Moreover, the created agents showed very good results against agents developed by other experts.


Knowledge Representation Decision Support Systems Artificial Intelligence Computer Games Poker 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Billings, D., Papp, D., Schaeffer, J., Szafron, D.: Opponent modeling in poker. In: National Conf. on AI, pp. 493–499. John Wiley & Sons (1998)Google Scholar
  2. 2.
    Billings, D., Papp, D., Peña, L., Schaeffer, J., Szafron, D.: Using selective-sampling simulations in poker. In: AAAI Syring Symp. Search Tec. for Problem Solving under Uncertainty and Incomplete Information, pp. 1–6 (1999)Google Scholar
  3. 3.
    Zinkevich, M., Bowling, M., Burch, N.: A new algorithm for generating equilibria in massive zero-sum games. In: AAAI 2007, vol. 1, pp. 788–793 (2007)Google Scholar
  4. 4.
    Johanson, M.: Robust Strategies and Counter-Strategies: Building a Champion Level Computer Poker Player (2007)Google Scholar
  5. 5.
    Johanson, M., Bowling, M.: Data biased robust counter strategies. In: AISTATS 2009, pp. 264–271 (2009)Google Scholar
  6. 6.
    Teofilo, L.F., Reis, L.P.: HoldemML: A framework to generate No Limit Hold’em Poker agents from human player strategies. In: CISTI 2011, pp. 755–760 (2011)Google Scholar
  7. 7.
    Teófilo, L.F., Reis, L.P.: Building a No Limit Texas Hold’em Poker Agent Based on Game Logs Using Supervised Learning. In: Kamel, M., Karray, F., Gueaieb, W., Khamis, A. (eds.) AIS 2011. LNCS, vol. 6752, pp. 73–82. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  8. 8.
    Van den Broeck, G., Driessens, K., Ramon, J.: Monte-Carlo Tree Search in Poker Using Expected Reward Distributions. In: Zhou, Z.-H., Washio, T. (eds.) ACML 2009. LNCS, vol. 5828, pp. 367–381. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  9. 9.
    Teófilo, L.F., Passos, N., Reis, L.P., Cardoso, H.L.: Adapting Strategies to Opponent Models in Incomplete Information Games: A Reinforcement Learning Approach for Poker. In: Kamel, M., Karray, F., Hagras, H. (eds.) AIS 2012. LNCS, vol. 7326, pp. 220–227. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  10. 10.
    Rubin, J., Watson, I.: Case-based strategies in computer poker. AI Communications 25, 19–48 (2012)MathSciNetGoogle Scholar
  11. 11.
    Rubin, J., Watson, I.: Computer poker: A review. Artificial Intelligence 175, 958–987 (2011)MathSciNetCrossRefGoogle Scholar
  12. 12.
    Teofilo, L.F., Reis, L.P., Cardoso, H.L.: Computer Poker Research at LIACC. In: Computer Poker Symposium, AAAI 2012 (2012)Google Scholar
  13. 13.
    Technologies, S.: Poker Programming Language User Guide (2009)Google Scholar
  14. 14.
    Reis, L.P., Lau, N.: COACH UNILANG - A Standard Language for Coaching a (Robo)Soccer Team. In: Birk, A., Coradeschi, S., Tadokoro, S. (eds.) RoboCup 2001. LNCS (LNAI), vol. 2377, pp. 183–192. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  15. 15.
    Reis, L.P., Oliveira, E.C.: A Language for Specifying Complete Timetabling Problems. In: Burke, E., Erben, W. (eds.) PATAT 2000. LNCS, vol. 2079, pp. 322–341. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  16. 16.
    Pereira, A., Duarte, P., Reis, L.P.: ECOLANG - A Communication Language for Simulations of Complex Ecological Systems. In: Merkuriev, Y., Zobel, R., Kerckhoffs, E. (eds.) ECMS 2005, Riga Latvia, pp. 493–500 (2005)Google Scholar
  17. 17.
    Neves, R., Reis, L.P., Abreu, P., Faria, B.M.: A multi-agent system to help Farmville players on game management tasks. In: CISTI 2012, pp. 409–414 (2012)Google Scholar
  18. 18.
    Reis, L.P., Lau, N.: FC Portugal Team Description: RoboCup 2000 Simulation League Champion. In: Stone, P., Balch, T., Kraetzschmar, G.K. (eds.) RoboCup 2000. LNCS (LNAI), vol. 2019, pp. 29–40. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  19. 19.
    Reis, L.P., Lau, N., Oliveira, E.C.: Situation Based Strategic Positioning for Coordinating a Team of Homogeneous Agents. In: Hannebauer, M., Wendler, J., Pagello, E. (eds.) ECAI-WS 2000. LNCS (LNAI), vol. 2103, pp. 175–197. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  20. 20.
    Abreu, P.H., Moura, J., Silva, D.C., Reis, L.P., Garganta, J.: Performance analysis in soccer: A Cartesian coordinates based approach using RoboCup data. Soft Computing 16, 47–61 (2012)CrossRefGoogle Scholar
  21. 21.
    Mota, L., Reis, L.P., Lau, N.: Multi-robot coordination using Setplays in the middle-size and simulation leagues. Mechatronics 21, 434–444 (2011)CrossRefGoogle Scholar
  22. 22.
    Harrington, D., Robertie, B.: Harrington on Hold ’em Expert Strategy for No Limit Tournaments. Strategic Play, vol. 1. Two Plus Two Pub. (2004)Google Scholar
  23. 23.
    Teófilo, L.F.: Estimating the Probability of Winning for Texas Hold’em Poker Agents. In: 6th Doctoral Symposium on Inf. Eng., pp. 129–140 (2011)Google Scholar
  24. 24.
    Sklansky, D.: The Theory of Poker: A Professional Poker Player Teaches You How to Think Like One. Two Plus Two (2007)Google Scholar
  25. 25.
    Felix, D., Reis, L.P.: An Experimental Approach to Online Opponent Modeling in Texas Hold’em Poker. In: Zaverucha, G., da Costa, A.L. (eds.) SBIA 2008. LNCS (LNAI), vol. 5249, pp. 83–92. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  26. 26.
    Felix, D., Reis, L.P.: Opponent Modelling in Texas Hold’em Poker as the Key for Success. In: Ghalib, M., Spyropoulos, C.D., Fakotakis, N., Avouris, N. (eds.) ECAI 2008 – 18th European Conference on Artificial Intelligence, Patras, Greece, vol. 178, pp. 893–894. IOS Press (2008)Google Scholar
  27. 27.
    Teófilo, L.F., Rossetti, R., Reis, L.P., Cardoso, H.L.: A Simulation System to Support Computer Poker Research. In: 13th MABS 2012, Valência (2012)Google Scholar
  28. 28.
    Zinkevich, M., Littman, M.L.: The 2006 AAAI Computer Poker Competition. Journal of International Computer Games Association, 166–167 (2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Luís Paulo Reis
    • 1
    • 3
  • Pedro Mendes
    • 2
  • Luís Filipe Teófilo
    • 1
    • 2
  • Henrique Lopes Cardoso
    • 1
    • 2
  1. 1.LIACC – Artificial Intelligence and Computer Science Lab.University of PortoPortoPortugal
  2. 2.FEUP – Faculty of EngineeringUniversity of Porto – DEIPortoPortugal
  3. 3.EEUM – School of EngineeringUniversity of Minho – DSIPortoPortugal

Personalised recommendations