Meep - peregrineshahin/ChessProgrammingWiki GitHub Wiki
title: Meep
[ Strapped woman [1] Meep,
an experimental chess engine as subject of research on machine learning techniques and automated tuning, written by Joel Veness, supported by David Silver, William Uther, and Alan Blair, as elaborated in their 2009 research paper this page is based on [2] , and in Joel Veness' Ph.D. thesis [3]. Meep is based on the tournament chess engine Bodo, where the hand-crafted evaluation function is replaced by a weighted linear combination of 1812 features. Given a position s, a feature vector Φ(s) can be constructed from the 1812 numeric values of each feature. The majority of these features are binary. Φ(s) is typically sparse, with approximately 100 features active in any given position. Five wellknown, chess specific feature construction concepts, material, piece square tables, pawn structure, mobility and king safety were used to generate the 1812 distinct features. In a training mode with various search frameworks, Meep learns from self-play to adjust the weights of its evaluation function towards the value of the deep search. A tournament mode is later used to verify the strength of a trained weight configuration.
RootStrap
RootStrap(minimax) or the identical RootStrap(αβ) adjust the weights by stochastic gradient descent [6] on the squared error between the static evaluation and the minimax (or alpha-beta) search value of the root.
where η is a step size constant.
TreeStrap
TreeStrap(mm) also considers all interior nodes of the search tree for the stochastic gradient descent on the squared error. The minimax algorithm used for TreeStrap(mm), keeps the entire tree in memory. TreeStrap(αβ) applies a generic implementation, that uses only a few enhancements, transposition table, killer and history heuristics, and check extensions. Bounds computed by alpha-beta can be exploited by using a one-sided loss functions. If the static evaluation is larger than alpha, then it is reduced towards alpha. If the value from the heuristic evaluation is smaller than beta, then it is increased respectively.
Results
A tournament of ~16,000 games of 1 minute per game plus 1 second per move Fischer time between different trained Meep versions and a reference player with randomly initialised weights and arbitrarily assigned rating of 250 was played. Training was previously done by self-play with the same time, using a small opening book to maintain diversity. The target values were determined by at least one ply of full-width search, plus a varying amount of quiescence search. All Elo values are calculated relative to the reference player, the best performance with 95% confidence intervals given [7] :
| Algorithm | Elo | | --- | --- | | Untrained | 250 ± 63 | | TD-Leaf | 1068 ± 36 | | RootStrap(αβ) | 1362 ± 59 | | TreeStrap(mm) | 1807 ± 32 | | TreeStrap(αβ) | 2157 ± 31 |
See also
- Automated Tuning
- Bodo
- Duchess (Multi-Player Chess Variant)
- KnightCap
Publications
- Joel Veness, David Silver, William Uther, Alan Blair (2009). Bootstrapping from Game Tree Search. pdf [8]
- Joel Veness (2011). Approximate Universal Artificial Intelligence and Self-Play Learning for Games. Ph.D. thesis, University of New South Wales, supervisors: Kee Siong Ng, Marcus Hutter, Alan Blair, William Uther, John Lloyd; pdf
- István Szita (2012). Reinforcement Learning in Games. in Marco Wiering, Martijn Van Otterlo (eds.). Reinforcement learning: State-of-the-art. Adaptation, Learning, and Optimization, Vol. 12, Springer
Forum Posts
- A paper about parameter tuning by Rémi Coulom, CCC, January 12, 2010
Re: A paper about parameter tuning by Joel Veness, CCC, January 15, 2010 Re: A paper about parameter tuning by Joel Veness, CCC, January 15, 2010
External Links
- Bootstrapping from Game Tree Search, video presentation by Joel Veness, from VideoLectures - exchange ideas & share knowledge, December 2009
- Meep from Wikipedia
- Urban Dictionary: meep
- Bootstrapping from Wikipedia
- Bootstrapping (disambiguation) from Wikipedia
- Bootstrap aggregating from Wikipedia
- Strapping from Wikipedia
- Strapse from Wikipedia.de (German)
Wearing suspenders or garter belts from Wikipedia
- Volker Kriegel - Three Or Two In One, Lift!, 1973, YouTube Video
feat: Eberhard Weber, John Marshall, Stan Sulzmann, John Taylor, Cees See, Zbigniew Seifert
References
- ↑ Cover of Bizarre, Vol. 3 from 1946, depicting a chained woman, and a devil with tailoring tools promising torments due to the wasp-waisted "Fashions of 1946". by John Willie, Wikimedia Commons
- ↑ Joel Veness, David Silver, William Uther, Alan Blair (2009). Bootstrapping from Game Tree Search. pdf
- ↑ Joel Veness (2011). Approximate Universal Artificial Intelligence and Self-Play Learning for Games. Ph.D. thesis, University of New South Wales, supervisors: Kee Siong Ng, Marcus Hutter, Alan Blair, William Uther, John Lloyd; pdf
- ↑ Jonathan Baxter, Andrew Tridgell, Lex Weaver (1998). TDLeaf(lambda): Combining Temporal Difference Learning with Game-Tree Search. Australian Journal of Intelligent Information Processing Systems, Vol. 5 No. 1, arXiv:cs/9901001
- ↑ Images cropped from Joel Veness, David Silver, William Uther, Alan Blair (2009). Bootstrapping from Game Tree Search. pdf, Figure 1, pp. 2
- ↑ Nabla operator from Wikipedia
- ↑ Joel Veness, David Silver, William Uther, Alan Blair (2009). Bootstrapping from Game Tree Search. pdf
- ↑ A paper about parameter tuning by Rémi Coulom, CCC, January 12, 2010