A Strategic Metagame Player for General Chesslike Games
Total Page:16
File Type:pdf, Size:1020Kb
From: AAAI Technical Report FS-93-02. Compilation copyright © 1993, AAAI (www.aaai.org). All rights reserved. A Strategic Metagame Player for General Chess-Like Games Barney Pell* Computer Laboratory University of Cambridge Cambridge, CB2 3QG, UK b dp((~cl c am. ac Abstract game will transfer also to new games. Such criteria in- clude the use of learning and planning, and the ability This paper reviews the concept of Metagameand to play more than one game. discusses the implelnentation of METAGAMER,a program which plays Metagame in the class of 1.1 Bias when using Existing Games symmetric chess-like games, which includes chess, However,even this generality-oriented research is sub- Chinese-chess, checkers, draughts, and Shogi. The ject to a potential methodological bias. As the human l)rogram takes as input the rules of a specific game researchers know at the time of program-development and analyses those rules to construct for that game which specific game or games the program will be tested an efficient representation and an evaluation func- on, it is possible that they import the results of their tion, both for use with a generic search engine. The own understanding of the game dh’ectly into their pro- strategic analysis performed by the program relates gn’am. In this case, it becomes difficult to determine a set of general knowledgesources to the details of whether the subsequent performance of the program the particular game. Amongother properties, this is due to the general theory it implements, or merely analysis determines the relative value of the differ- to the insightful observations of its developer about the eat pieces in a given game. Although METACAMER chm’acteristics necessary for strong performance on this does not learn from experience, the values resulting particular game. An instance of this problem is the from its analysis are qualitatively similm- to values fixed representation trick [Flann and Dietterich, 1989], used by experts on knowngames, and are suff~cient in which many developers of learning systems spend to produce competitive performance the first time muchof their time finding a representation of the game the program actually plays each game it is given. which will allow their systems to learn how to play it This appears to be tim first program to have de-. well. rived useful piece values directly from analysis of This problem is seen more easily when computer the rules of different games. game-playing with known games is viewed schemati- cally, as in Figure 1. Here, the human researcher or programmeris aware of the rules and specific knowledge 1 The Problem for the game to be programmed, as well as the resource Virtually all past research in computer game-, playing bounds within which the program must play. Given has attempted to develop computer programs which this information, the human then constructs a playing could play existing games at a reasonable standard. program to play that game (or at least an acceptable While some researchers consider the development of a encoding of the rules if the program is already fairly game-specific expert for some gmneto be a sufficient general, like HOYLE[Epstein, 1989b]). The program end in itself, manyscientists in AI are motivated by a then plays in competition, and is modified based on the desire for generality. Their emphasis is not on achieving outcomeof this experience, either by the human, or per- strong performance on a particular game, but rather haps by itself in the case of experience, based learning on understanding the general ability to produce such programs. In all cases, what is significant about this strength on a wider variety of games (or problems in picture is that the humanstands in the centre, and me- general). Hence additional evaluation criteria are typi- diates the relation between the program and the game cally placed on the playing programs beyond mere per- it plays. formance in competition: criteria intended to ensure that methods used to achieve strength on a specific 1.2 Metagame The preceding discussion only serves to emphasize a "Parts of this work have been supported by RIACS, point commonlyacknowledged in AI: whenever we de-. NASAAmes Research Center [FIA], the American Friends sign a program to solve a set of problems, we build in of CambridgeUniversity, Trinity College (Cambridge), and our own bias about how the program should go about the CambridgeUniversity ComputerLaboratory. solving them. However, while we cannot eliminate bias 148 From: AAAI Technical Report FS-93-02. Compilation copyright © 1993, AAAI (www.aaai.org). All rights reserved. © 1 Figure 1: Computer Game-Playing with existing Figure 2: Metagame-playing with new games. galne~: tile human programmer mediates the relation between the program and the game it plays. specified directions, across rectangular boards. Differ- ent pieces have different powers of movement,c~apture, totally from AI research (or ally other for that matter), and promotion, and interact with other pieces based we call to some degree contwl for humanbias, and thus on ownership and piece type. Goals involve eliminat- eliminate a degree of it. ing certain types of pieces (eradicate goals), driving a This motivates tile idea of Meta-GamePlaying [Pell, player out of moves(stalemate goals), or getting celiain 1992a], shown schematically in Figure 2. Rather than pieces to occupy specific squares (arrival goals). Most designing programs to play an existing game knownin importantly, the games are symmetric between the two advance, we desigu programs to play (or themselves players, in that all the rules can be presented from the produce other programs to play) new games, from a perspective of one player only, and the differences in well-defined class, taking as input only the rules of the goals and movementsare solely determined by the di- games as output by an automatic game generator. As rection from which the different players view the board. only the class of games is knownin advance, a degree of As an illustration of howchess-like games are defined humanbias is eliminated, and playing programs are r~. in this class, Figure 3 presents a ~’ammatical represen- quired to perform any game. specific optimisations with- tation of the complete rules for American Checkers as out lmmane, ssistance. In contrast with the discussion a symmetric chess-like game. on existing games above, tlle human no longer medi- ates tile relation between the program and the games Game Generation The goal of game generation, as it plays, instead she mediates the relation between the shownin Figure 4, is to produce a wide variety of games, program and the class of1 games it plays. all of which fall in the same class of gamesas described by a grammar. We also want to be able to modify 1.3 SCL-Metagame the distribution of games generated by changing pa- rameters, often in the form of pwbabilities. Finally, the SCL-Metagame [Pell, 1992b] is a concrete Metagame combination of grammar and probabilities may not be research problem based around the class of symmet- enough to constrain the class according to our needs, ric chess-like games. The class includes the games of in which case the generator should be able to handle a chess, checkers, noughts and crosses, Chinese-chess, and set of constraints. Shogi. An implemented game generator produces new The game generator for this class of games is illus- gamesin this class, someof which are objects of interest trated schematically in Figure 4. The generator begins in their ownright. by generating a board and a set of piece names, and Symmetric Chess-Like Games Informally, a sym- then generates goals and definitions for the pieces sub- metric chess-like game is a two-player game of perfect ject to the grammarand constraints, making choices us- information, ill which the two players movepieces along ing probabilities (parameters) attached to each choice- point in the grammar. Details of the generator, its pa- l lnstead of playing a game, the prog-ram nowplays ralneters, and example generated games are provided a game about game-playing, hence the name meta-game in [Pell, 1992b]. playing. With the provision of the class definition and genera- 149 From: AAAI Technical Report FS-93-02. Compilation copyright © 1993, AAAI (www.aaai.org). All rights reserved. G A ME american_checkers GOALS stalemate opponent BOARD_SIZE 8 BY 8 BOARD_TYPE planar PROMOTE_RANK 8 SETUPman AT {(1,1) (3,1) (5,1) (7,1) (2,2) (6,2) (8,2) (1,3) (3,3) (5,3) CONSTRAINTS must_capture DEFINE man MOVING Generator MOVEMENT LEAP (1, 1) SYMMETRY{side} END MOVEMENT END MOVINC CAPTURING CAPTURE BY {hop} TYPE[{opponent} any_piece] EFFECT remove MOVEMENT HOP BEFORE [X = 0] OVERIX = II AFTER IX = 0] Figure 4: Components of a Game Generator. HOP_OVER[{opponent} any_piece] (1, l) SYMMETRY{side} END MOVEMENT END CAPTURE tor (as well as various communications protocols to en- END CAPTUPdNG able communication between programs, also discussed PROMOTING in [Pell, 1992b]), the problem of Metagame in symmet- PROMOTE_TO king ric chess-like games is thus fully defined. The rest of END PROMOTING this paper is organised as follows. Section 2 discusses CONSTRAINTScontinue_captures the challenge of representing knowledge for unknown END DEFINE games and the construction of METAGAMER.Section 3 discusses the analysis performed by METAGAMERto de- termine piece values for the games of chess and checkers, DEFINE king when presented with only the rules of those games, and MOVING compares this to previous work on automatic methods MOVEMENT for determining feature values in games. Finally, Sec- LEAP (1, I} SYMMETRY{forward side} tion 4 presents the results of preliminary evaluations of END MOVEMENT METAGAMERon the games of chess and checkers. END MOVING CAPTURING CAPTURE BY {hop} 2 Constructing a Metagame-player TYPE [{opponent} any_piece] While a main intention of Metagame is to serve as a EFFECT remove test-bed for learning and planning systems, a logical MOVEMENT first approach to constructing a Metagame-player is to HOP BEFORE IX = 0] push the limits of what can be done with standard OVER[x= II game-tre~, search and knowledge-engineering.