GTQ: A Language and Tool for Game-Tree Analysis
Abstract
The search engines of high-performance game-playing programs are becoming increasingly complex as more and more enhancements are added. To maintain and enhance such complex engines is a challenging task, and the risk of introducing bugs or other unwanted behavior during modifications is substantial. In this paper we introduce the Game Tree Query Language (GTQL), a query language specifically designed for analyzing game trees. The language can express queries about complex game-tree structures, including hierarchical relationships and aggregated attributes over subtree data. We also discuss the design and implementation of the Game Tree Query Tool (GTQT), a software tool that allows efficient execution of GTQL queries on game-tree log files. The tool helps program developers to gain added insight into the search process of their engines, as well as making regression testing easier. Furthermore, we use the tool to analyze and find interesting anomalies in search trees generated by a competitive chess program.
Keywords
Search Tree Query Language Parse Tree Game Tree Principal VariationPreview
Unable to display preview. Download preview PDF.
References
- 1.Billings, D., Björnsson, Y.: Search and knowledge in Lines of Action. In: van den Herik, H.J., Iida, H., Heinz, E.A. (eds.) ACG. IFIP, vol. 263, pp. 231–248. Kluwer, Dordrecht (2003)Google Scholar
- 2.Bird, S., Chen, Y., Davidson, S.B., Lee, H., Zheng, Y.: Extending XPath to support linguistic queries. In: Proceedings of Programming Language Technologies for XML (PLANX), Long Beach, California, January 2005, pp. 35–46. ACM Press, New York (2005)Google Scholar
- 3.Björnsson, Y.: Selective Depth-First Game-Tree Search. PhD thesis, University of Alberta, Canada (June 2002)Google Scholar
- 4.Björnsson, Y., Ísleifsdóttir, J.: Tools for debugging large game trees. In: Proceedings of The Eleventh Game Programming Workshop, Hakone, Japan (2006)Google Scholar
- 5.Björnsson, Y., Ísleifsdóttir, J.: GTQL: A query language for game trees. In: Proceedings of The Twelfth Game Programming Workshop, Amsterdam, The Netherlands, pp. 205–216 (2007)Google Scholar
- 6.Björnsson, Y., van den Herik, H.J.: The 13th world computer-chess championship. ICGA Journal 28(3), 162–175 (2005)Google Scholar
- 7.Buro, M.: How machines have learned to play Othello. IEEE Intelligent Systems 14(6), 12–14 (1999)Google Scholar
- 8.Campbell, M., Hoane Jr., A.J., Hsu, F.-h.: Deep blue. Artificial Intelligence 134(1-2), 57–83 (2002)MATHCrossRefGoogle Scholar
- 9.Chamberlin, D.: XQuery: An XML query language. IBM Systems Journal 41(4), 597–615 (2002)CrossRefGoogle Scholar
- 10.Clark, J., DeRose, S.: XML path language (XPath) 1.0. Technical report, W3C Recommendation (1999)Google Scholar
- 11.Costeff, G.: The Chess Query Language: CQL. ICGA Journal 27(4), 217–225 (2004)Google Scholar
- 12.Coulom, R.: Treemaps for search-tree visualization. In: Uiterwijk, J.W.H.M. (ed.) The 7th Computer Olympiad Computer-Games Workshop Proceedings (2002)Google Scholar
- 13.Fortuna, A.: Internet Resource, CHANT: A Tool to View Chess Game Trees (2003), http://chessvortex.com/chant
- 14.Ísleifsdóttir, J.: GTQL: A Game-Tree Query Language. Master’s thesis, Reykjavik University, Iceland (January 2008), http://www.ru.is/?PageID=7094
- 15.Letouzey, F.: Internet Resource, Fruit Chess (2005), http://www.fruitchess.com
- 16.Louguet, F.: La Puce Échiquéenne. Internet Resource, LCT II v. 1.21 (2007), http://perso.orange.fr/lefouduroi/testlct2.htm
- 17.Sahuguet, A., Alexe, B.: Sub-document queries over XML with XSQirrel. In: WWW 2005: Proceedings of the 14th international conference on World Wide Web, pp. 268–277. ACM Press, New York (2005)CrossRefGoogle Scholar
- 18.Schaeffer, J.: One Jump Ahead: Challenging Human Supremacy in Checkers. Springer, Heidelberg (1997)Google Scholar