Implementing Propositional Networks on FPGA

  • Cezary Siwek
  • Jakub KowalskiEmail author
  • Chiara F. Sironi
  • Mark H. M. Winands
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11320)


The speed of game rules processing plays an essential role in the performance of a General Game Playing (GGP) agent. Propositional Networks (propnets) are an example of a highly efficient representation of game rules. So far, in GGP, only software implementations of propnets have been proposed and investigated. In this paper, we present the first implementation of propnets on Field-Programmable Gate Arrays (FPGAs), showing that they perform between 25 and 58 times faster than a software-propnet for most of the tested games. We also integrate the FPGA-propnet within an MCTS agent, discussing the challenges of the process, and possible solutions for the identified shortcomings.


General Game Playing Field-Programmable Gate Arrays Propositional Networks Monte Carlo Tree Search 


  1. 1.
    Auer, P., Cesa-Bianchi, N., Fischer, P.: Finite-time analysis of the multiarmed bandit problem. Mach. Learn. 47(2–3), 235–256 (2002)CrossRefGoogle Scholar
  2. 2.
    Boulé, M., Zilic, Z.: An FPGA move generator for the game of chess. ICGA J. 25(2), 85–94 (2002)CrossRefGoogle Scholar
  3. 3.
    Browne, C.B., et al.: A survey of Monte Carlo tree search methods. IEEE TCIAIG 4(1), 1–43 (2012)Google Scholar
  4. 4.
    Coulom, R.: Efficient selectivity and backup operators in Monte-Carlo tree search. In: van den Herik, H.J., Ciancarini, P., Donkers, H.H.L.M. (eds.) CG 2006. LNCS, vol. 4630, pp. 72–83. Springer, Heidelberg (2007). Scholar
  5. 5.
    Finnsson, H., Björnsson, Y.: Learning simulation control in general game playing agents. In: AAAI, pp. 954–959 (2010)Google Scholar
  6. 6.
    Genesereth, M., Love, N., Pell, B.: General game playing: overview of the AAAI competition. AI Mag. 26, 62–72 (2005)Google Scholar
  7. 7.
    Genesereth, M., Thielscher, M.: General Game Playing. Morgan & Claypool, San Rafael (2014)zbMATHGoogle Scholar
  8. 8.
    Haiying, G., Fuming, W., Wei, L., Yun, L.: Monte Carlo simulation of 9x9 Go game on FPGA. In: 2010 IEEE International Conference on Intelligent Computing and Intelligent Systems (ICIS), Haiying, vol. 3, pp. 865–869 (2010)Google Scholar
  9. 9.
    Hsu, F.H.: Chess hardware in deep blue. Comput. Sci. Eng. 8(1), 50–60 (2006)CrossRefGoogle Scholar
  10. 10.
    Kowalski, J., Szykuła, M.: Game description language compiler construction. In: Cranefield, S., Nayak, A. (eds.) AI 2013. LNCS (LNAI), vol. 8272, pp. 234–245. Springer, Cham (2013). Scholar
  11. 11.
    Love, N., Hinrichs, T., Haley, D., Schkufza, E., Genesereth, M.: General Game Playing: Game Description Language Specification. Technical report. Stanford Logic Group (2008)Google Scholar
  12. 12.
    Olivito, J., Resano, J., Briz, J.L.: Accelerating board games through hardware/software codesign. IEEE TCIAIG 9(4), 393–401 (2017)Google Scholar
  13. 13.
    Romoth, J., Porrmann, M., Rückert, U.: Survey of FPGA applications in the period 2000–2015, Technical report (2017)Google Scholar
  14. 14.
    Schkufza, E., Love, N., Genesereth, M.: Propositional automata and cell automata: representational frameworks for discrete dynamic systems. In: Wobcke, W., Zhang, M. (eds.) AI 2008. LNCS (LNAI), vol. 5360, pp. 56–66. Springer, Heidelberg (2008). Scholar
  15. 15.
    Schreiber, S.: The general game playing base package (2013).
  16. 16.
    Schreiber, S.: Stanford Gamemaster (2016).
  17. 17.
    Silver, D., et al.: Mastering the game of Go with deep neural networks and tree search. Nature 529, 484–503 (2016)CrossRefGoogle Scholar
  18. 18.
    Sironi, C.F., Winands, M.H.M.: Optimizing propositional networks. In: Cazenave, T., Winands, M.H.M., Edelkamp, S., Schiffel, S., Thielscher, M., Togelius, J. (eds.) CGW/GIGA -2016. CCIS, vol. 705, pp. 133–151. Springer, Cham (2017). Scholar
  19. 19.
    Waugh, K.: Faster state manipulation in general games using generated code. In: IJCAI Workshop on General Intelligence in Game-Playing Agents (2009)Google Scholar
  20. 20.
    Wong, C., Lo, K., Leong, P.H.W.: An FPGA-based Othello endgame solver. In: Conference on Field-Programmable Technology 2004, pp. 81–88 (2004)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  • Cezary Siwek
    • 1
  • Jakub Kowalski
    • 1
    Email author
  • Chiara F. Sironi
    • 2
  • Mark H. M. Winands
    • 2
  1. 1.Institute of Computer Science, Faculty of Mathematics and Computer ScienceUniversity of WrocławWrocławPoland
  2. 2.Games and AI Group, Department of Data Science and Knowledge EngineeringMaastricht UniversityMaastrichtThe Netherlands

Personalised recommendations