Programming Bao - CiteSeerX

25 downloads 129 Views 154KB Size Report
Among the mancala games, (Zanzibar) Bao is regarded as the most complex one ..... The history heuristic does not seem very useful in Bao as in any mancala ...
Programming Bao Jeroen Donkers and Jos Uiterwijk1 IKAT, Dept. of Computer Science, Universiteit Maastricht, Maastricht, The Netherlands.

ABSTRACT The mancala games Awari and Kalah have been studied in Artificial Intelligence research for a long time. After the recent solving of Kalah and, only very recently, Awari, the time has come to consider other, more complex, mancala games. Within the large group of mancala games, Zanzibar Bao is considered the most complex one. In this paper, we give an introduction to the game and provide some analyses of the game properties together with the consequences of these properties for writing a Bao program. During our research we solved the novice version of Bao, being a win for the first player.

1. INTRODUCTION In large parts of the world, board games of the mancala group are being played in different versions for a very long time (Murray, 1952; Russ, 2000). All mancala games share the following properties: the board has of a number of holes, usually ordered in rows; the game is played with indistinguishable counters (pebbles, seeds, shells); players own a fixed set of holes on the board; a move consists of taking counters from one hole and putting them one-by-one in subsequent holes (sowing), possibly followed by some form of capture; the goal is to capture the most counters. Mancala games differ in the number of players (1, 2 or more), the size and form of the board, the starting configuration of the counters, the rules for sowing and capturing, and in the way the game ends. The games of the mancala group are known by many names (for instance Wari, Awele, Bao, Dakon, and Pallankuli). For an overview and rules of many mancala games, see Russ (2000). Until recently, the western world has had very little experience with mancala games. In the Middle Ages, Arabic traders might have shown a game called Manqala to their European customers, but only very vague references exist of Europeans playing the game. In later times, African slaves played Wari in the Caribbean, but in the United States, slaves were forbidden to play their traditional games. European colonists in Eastern Asia and India must have observed mancala games being played, but appearingly they were not interested enough to bring it back to Europe. Recently, Western interest in mancala games increased. In the 1950s William J. Champion invented the game Kalah (1963). It is a relatively simple version of a mancala game intended as an educational game for children. Although the game was immediately commercialised, it only got widely known when the International Red Cross adopted and spread the game. In the USA the game of Kalah has reached the pubs and African immigrants in Europe took the game Awale with them. Nowadays, several mancala games are played on the Mind Sports Olympiad (Wari, Omweso, and Bao). Much information on mancala games is now available on 1 E-mail: 

donkers,uiterwijk @cs.unimaas.nl. 

the Internet and there exist many programs to play all kinds of mancala games. Even some mobile phones are provided with mancala games. Mancala games have a relatively long track in artificial-intelligence research on games. Kalah has already been investigated a decade after its invention as an example of game programming (Russel, 1964; Bell, 1968; Slagle and Dixon, 1970). The game of Kalah has been solved in 2000 (Irving, Donkers, and Uiterwijk, 2000). Awari has been studied since the early 1980s (van der Meulen, Allis, and van den Herik, 1990) and has been played at the Computer Olympiads for some time now. In the research on Awari, much effort is put on the construction of endgame databases (Allis, van der Meulen, and van den Herik, 1991; Lincke and Marzetta, 2000; van der Goot, 2001). This has led to the complete solution of Awari in May 2002 (Bal and Romein, 2002). In section 2, we give a short introduction to Bao and show some example moves. Section 3 is dedicated to the analysis of the game properties. Section 4 discusses the consequences of these properties for writing a Bao program. In section 5 we present the solution for novice Bao and finally in section 6 we state our main conclusion.

2. BAO Among the mancala games, (Zanzibar) Bao is regarded as the most complex one (de Voogt, 1995). This is mainly due to the amount of rules and to the complexity of the rules. Bao is played in Tanzania and on Zanzibar in an organized way. Bao clubs exist that own the expensive boards and official tournaments are organized. North North 0

0

0

0

0

0

0

0

0

2

2

6

0

0

0

0

22

22

b8

b7

b6

b5

b4

b3

b2

b1

a8

a7

a6

a5

a4

a3

a2

a1

N

S

0

0

0

0

6

2

2

0

A1 A2 A3 A4 A5 A6 A7 A8

0

0

0

0

0

0

0

0

B1 B2 B3 B4 B5 B6 B7 B8

South (to move) Figure 1: The opening position of Bao.

South Figure 2: Numbering of the holes in Bao.

The game is played by two players (South and North; South starts) on a large wooden board with 4 rows of 8 holes (see figures 1 and 2). Each player owns the two rows at his side. The two rows with holes numbered A1 to A8 and a1 to a8 are denoted as the front row of South and North, respectively. The other two rows are back rows. The game has two stages. In the first stage, an extra counter is put at the board at every move. When all counters are at the board, the second stage of the game starts. Both stages have their own set of rules. It is impossible to completely explain the rules of Bao in this paper, due to lack of space. Instead, we will summarize the properties that discriminate the game from the more widely known games of Kalah and Awari. For a full description of the rules, see (de Voogt, 1995) and (Donkers, 2001). Sowing. Sowing only takes place on the own two rows of holes. The direction of sowing is not fixed. At the start of a move, a player can select a direction for the sowing (clockwise or anti-clockwise). During sowing or at a capture, the direction can turn at some point. This is dictated by deterministic rules. Capture. If a capture is possible then it is obliged in Bao. This means that a position is either a capture position or a non-capture position. The latter is called a ’takasa’ position. Captured counters do not leave the board but re-enter the game. Counters are captured from the opponent’s front row. These counters are immediately sown in the own front row. This implicates that the game does not converge like Kalah and Awari. Moves. Moves are composite. If at the end of a sowing, capture is possible, the captured counters are sowed immediately at the own side of the board. This second sowing can again lead to a new capture followed by a new sowing. If a capture is not possible, and the hole reached was non-empty, all counters are taken out of that hole and sowing continues. This goes on until an empty hole is reached. Special holes. Some holes at the Bao board have special meanings. The fifth (square) hole at the front row (A5) is called ‘house’ and plays a role in the continuation of sowing. The house can become inactive in which

case the hole is indicated by a circle instead of a square. The four outer holes of the front row (A1, A2, A7, and A8) play a role during capture: when a capture takes place at one of these holes, the sowing direction can change. The stores at both sides of the board play no role in Bao other than to store the stones not entered yet in the first stage of the game . Endless moves. Moves can be endless because in a takasa move, sowing can go on forever. The existence of endless moves can be proven theoretically (Donkers, Uiterwijk, and de Voogt, 2002). In real games, moves that take more than an hour of sowings also occasionally happen, but players usually make small mistakes during sowing or simply quit, so real endless moves never lead to endless sowing. Game end. A Bao game ends if one of the players is unable to move, causing the other player to win. A draw is not defined in Bao. In the first stage, a game ends if the player to move has no counters left in the front row, but in the second stage, a game ends if the player has no more than one counter in any hole of both rows. Move notation. Moves in Bao are indicated by the hole at which the move starts (see figure 2) and the direction of sowing (R/L for sowing to the right/left or starting at the right/left side of the front row at a capture, as seen from the player to move). An asterisk (‘*’) is added to the move in case of a non-capture move. If the house is played, a ‘ ’ is added to the move. Abbreviations of move notations are possible if the rules determine the direction of play or the row to play. 2.1 Game examples 0 22

0

0

0

0

0

0

0

0

2

2

6

0

0

0

0

0

0

0

0

6

2

2

0

0

0

0

0

0

0

0

0

0 22

a) Start: takasa for South. 0 21

0

0

0

0

0

0

22

0

2

2

7

0

0

0

0

0

1

1

7

0

2

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

2

2

6

0

0

0

0

0

0

0

0

6

3

2

0

0

0

0

0

0

0

0

0

0 21

22

0 21

21

0

0

0

0

0

0

0

2

2

7

0

0

0

0

0

1

0

7

0

2

0

0

0

0

0

0

0

0

0

e) captures one counter at A4,

d) North plays a5,

0

0

0

0

0

2

2

6

0

0

0

0

0

1

1

7

0

2

0

0

0

0

0

0

0

0

21

c) and sows to the left. 0

21

0

0

0

0

0

0

0

b) South puts a counter in hole A6,

0

0

0

21

0

0

0

0

0

0

0

0

2

2

7

0

0

0

1

0

0

1

0

7

0

2

0

0

0

0

0

0

0

0

0

21

f) and sows the counter in a1.

Figure 3: A typical opening of a Bao game. To illustrate the rules of Bao and to demonstrate the complexity of moves in Bao, two small examples are given. In figure 3 a typical opening of Bao is given: move A6L* followed by move a5L. The move direction ‘L’ of north indicates that after the capture at A4, north moves his hand to the left to sow the captured stone starting at a1. The sowing direction (if more than 1 stone would be captured) is to the right. Figure 10 in the appendix gives an example of a complex composite move. The start position is a position from the second stage of the game: the stores are empty, and the houses are inactive. This special position with 2 counters in every hole is often used as a training position for novice players. The figure shows the execution of a single move by south: A5L. During this move, 4 captures of each 2 counters occur.

3. ANALYSIS OF THE GAME In this analysis we will treat the game length, the branching factor, the game complexity and some other properties of Bao that distinguish it from Kalah and Awari. The state-space complexity (Allis, 1994) of mancala games can be computed from the number of holes and number of counters involved. Bao has a much higher state-space complexity than Kalah and Awari because there are more holes on the board (32) and also more counters involved (64).

State-space complexity of Awari: Kalah: Bao:

  

          

(12 holes, 48 counters) (14 holes, 48 counters) (32 holes, 64 counters)

This complexity does not predict the difficulty of the game for humans or computers. Although Kalah has a larger state-space complexity than Awari, it is much easier to play for humans and computers and much easier to solve by computers. For humans, Bao is more complex than Kalah and Awari because the set of rules is considerably larger. The complexity of Bao for computer play is better estimated by the game-tree complexity (Allis, 1994). To characterize the game-tree complexity, we have to study the game length and the branching factor of the game. 3.1 Game length The shortest possible Bao games (found by exhaustive search) take 5 ply: A6L* a6R; A4L a8; A2 or A7R* a6L*; A6R a5R; A2, both games end in win for South. These games will not appear in normal play because they assume severe errors by both players. Figure 4 gives the distribution of the game length for 100,000 games where both players selected randomly from the legal moves. Random play can unveil some properties of the game graph for Bao such as the form, size and complexity of this graph. The figure clearly shows the transition from the first to the second stage of the game at ply 45. A part of the games end in the first stage, but more games end soon after the start of the second stage. Randomly played Bao can however take a long time (one game in the experiment lasted 239 ply). The exponential form of the distribution’s tail indicates that random Bao at the second stage behaves like a Markov process with a probability of 0.0541 for the game to end at every ply. 3500 3000

Count

2500 2000 1500 1000 500 0 0

25

50 75 100 Game length (ply)

125

150

Figure 4: The distribution of the game length in 100,000 randomly played Bao games. The dashed line represents an exponential fit with   . The arrow marks the start of the second stage of the game (ply 45). This distribution does not predict how long Bao games take in real games since during random play, the players can easily make moves that no player would perform because they lead to an immediate loss. To prevent these moves, we let the players use a shallow search. In figure 5 we give the distribution of the game length for 1000 Bao Games. This time, both players used a minimax search with simple evaluation: either a function that returns a random value for every position or a function that returns a fixed value, independent of the position. The figure shows that almost no game ends in the first stage of the game. The maximum of the game length distribution is about 10 ply later than in random play (figure 4) in all four cases. The tail of the distribution is longer with search depth 4 than with search depth 10. The distribution of game lengths in real play is described by De Voogt (1995). The average game length of games played by Bao masters lies between 50 and 60 plies, which agrees with the results in figure 5. Games shorter than 45 plies occur more than in figure 5 but less than in random play. The longest games take up to 110 plies.

Random, depth 10

40

40

30

30

Count

Count

Random, depth 4

20 10

20 10

0

0 0

25

50 75 100 125 150 Game length (ply)

0

25

Fixed, depth 10

40

40

30

30

Count

Count

Fixed, depth 4

20 10

50 75 100 125 150 Game length (ply)

20 10

0

0 0

25

50 75 100 125 150 Game length (ply)

0

25

50 75 100 125 150 Game length (ply)

Figure 5: The distribution of the game length in 1000 Bao games in case of a fixed and a random evaluation function, for search depths 4 and 10. 3.2 Branching factor In the first stage of the game, Bao only allows moves that start in the front row. Theoretically, this leads to 32 possible moves (8 holes, two directions and a decision whether to play the house). In the second stage of the game, a move can start from both rows. Since the house plays no role in the second stage, there are 32 possible moves in this stage too (16 holes and 2 directions). This leads to a maximum branching factor of 32 for Bao.

Figure 6: The distribution of the branching factor over 100,000 randomly played Bao games.

7 Branching factor

6 5 4 3 2 1 0 0

25

50

75 100 125 150 Ply

Figure 7: Average branching factor over 100,000 randomly played Bao games. Figure 6 and 7 show the distribution of the number of legal moves per position in 100,000 randomly played Bao games. It indicates that in the first stage of the game, the number of possible moves increases but mainly due to the loss of positions that only have one or two possible moves. Shortly after the start of the second stage, the distribution of the branching factor stabilizes. Forced moves occur in the second stage more often (20%) than in the first stage (max 10%). The highest number of moves encountered in one position is 18 at ply 14. The average branching factor increases from 3 to 5 in the first stage of Bao, but then it drops to a steady value of 3.45 in the second stage. Random, depth 10

7 6 5 4 3 2 1 0

Branch. factor

Branch. factor

Random, depth 4

20

40

60

80

100

0

20

40

60 Ply

Fixed, depth 4

Fixed, depth 10

7 6 5 4 3 2 1 0 0

20

Ply

Branch. factor

Branch. factor

0

7 6 5 4 3 2 1 0

40

60 Ply

80

100

80

100

80

100

7 6 5 4 3 2 1 0 0

20

40

60 Ply

Figure 8: The distribution of the average branching factor in 1000 Bao games in case of a fixed and a random evaluation function, for search depths 4 and 10. When a shallow search is used, the average branching factor of the positions that are visited changes. Figure 8 gives the results for 1000 Bao games in the case of a search with a random and with a fixed evaluation function, for search depths 4 and 10. As the figure shows, a random evaluation function increases the average branching factor. This is coherent with the general notion that random evaluation favors mobility (Beal and Smith, 1994). The overall distribution of the average branching factor does not differ much from the random-play case in figure 7. When a fixed evaluation function is used, the picture changes radically. Instead of steadily increasing in the first stage, the average branching factor first rapidly increases to 5.5 and then decreases to around 3 during the first stage of the game and finally increases to 3.5 during the second stage of the game.

The branching factor in real games is reported by De Voogt (1995) to be 4.5 in the first stage and 2.7 in the second stage of the game, but there are considerable differences between the individual players. The numbers for real games seem to agree with the results above, for the first stage. During the second stage of Bao, the branching factor in real games seems to be lower than in the experiments above. 3.3 Game-tree Complexity The average game length ( ) and branching factor ( ) are normally used to estimate the size of a game tree that has to be traversed during search ( ). The estimation by De Voogt (1995) is    (based on    and   ). Since the branching factor varies much during the first stage of Bao, a better estimation would be obtained by    , where  ranges from ply 1 to ply . When we take equal to 57 too, these complexities are as follows: Game-tree complexity for

random-play random evaluation, random evaluation, fixed evaluation, fixed evaluation,

depth 4 depth 10 depth 4 depth 10

                          

The rough estimations of state-space complexity (   ) and game-tree complexity (   ) place Bao above checkers and in the neighbourhood of Qubic in the overview of van den Herik, Uiterwijk, and van Rijswijck (2002).

4. CONSEQUENCES FOR WRITING A BAO PROGRAM 4.1 Endless moves The possible occurrence of endless moves in Bao makes it necessary to adapt the rules of Bao. The endless moves have been described in (Donkers et al., 2002). A computer does not make mistakes during the execution of a move, so if during search an endless move is encountered, the computer will not be able to perform the move. Since the state space of Bao is finite, an endless move must be cyclic. The period (cycle length) of these moves can though be very large, so detection of the endlessness of a move is also extremely difficult. In order to handle endless moves, our proposal is to change the rules for Bao in the following way: any move that involves the sowing of more than a given number of counters is illegal. This long-move limit must be agreed at the start of a tournament. In the experiments above, a long-move limit of 100 is used. When a player has no other moves than illegal ones, he cannot move and therefore loses the game. (This version of the rules is described in Donkers (2001)). 4.2 Playing the house A specific rule of Bao states that a player can choose not to continue a move if sowing ends in the active house (holes A5 and a5). It takes a partial execution of a move to detect whether this decision has to be taken. The consequence for move generation during search is that it is not possible to detect the set of legal moves only on base of the current position. One solution is to generate a preliminary list of moves that alternate between playing the house or not and decide during the execution of a move whether the next move is legal or not. 4.3 Endgame database Unlike the games of Kalah and Awari, there are no counters removed from the board. This makes it impossible to create an endgame database by simple retrograde analysis. It is possible to identify end positions in Bao,  but the number of possible end positions in the second stage of the game is very large (at least     



     ). So even a single backwards move would lead to an enormous database. Maybe a pattern database might be helpful or a database of already solved positions. The figures of the game-length distributions in

section 3.1 suggest that the positions that are reached at the start of the second stage are special. A detailed study of those positions might therefore be useful. 4.4 Heuristic search enhancements Without going into too much detail, some game-specific aspects are worth mentioning, but further research is needed to precisely quantify our findings. Transpositions occur often in Bao. This means that a hash table is useful even without iterative deepening. We obtained the best results, however, with MTD(f) (Plaat et al., 1996). The history heuristic does not seem very useful in Bao as in any mancala game, simply because the number of possible moves is too low (32 in Bao) and because a single move can largely change the board. This is also true for the killer-move heuristic. Since positions have either all capture moves or all non-capture moves, the notion of ‘quiescence’ in Bao is not easy to define. Experiments with classical quiescence search did not show much improvement. Better results were obtained with fractional search extensions in which a capture move followed by a non-capture move of the opponent is rewarded. 4.5 Evaluation function Although it is not clear what their importance is for the evaluation function of Bao, the following list of features might be useful: total number of counters per side; number of holes in the front row that are filled; total number of counters in the back row; number of holes in the front row that are under attack; number of opponent holes that can be attacked; whether the house is active or not; contents of the (active) house; whether the house is under attack or not; whether the opponent’s house is under attack or not. Future research has to reveal the usefulness of these features to be incorporated into the evaluation function. Moreover, careful tuning has to be applied to find good weights for the features selected.

5. SOLVING NOVICE BAO Bao itself is not easily solved by simple search, but during the development of our Bao playing program, we discovered the solution of the novice version of Bao. This is the position after the first stage with exactly two counters in every hole (see figure 9). North 2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

0

0

South (to move) Figure 9: The novice position of Bao.

This position appears to be a win for the first player in 21 ply. A possible game development is: 1: A3R b7R; 2: A4R a8L; 3: A6L a7L*; 4: B8R b4R*; 5: A7L b3R*; 6: A1R b1L*; 7: B4R b7L*; 8: A2L b6L*; 9: A4L b8L*; 10: B8R b5L*; 11: B6R ; South wins. It takes only 320 seconds and 123,486,759 evaluations (385,000 nps) to find this solution with a Delphi-program on a AMD Athlon 1.333 GHz PC. This indicates an effective branching factor of 2.43 during search. In this solution, the long-move limit was set to 100 and during search, 488,282 long moves were encountered and 16,127 positions were a loss because of the availability of only long moves. An example of a long move is reached by playing B8R a3L; A1R a1R starting from the novice opening position. No further positions in the second stage of Bao are investigated yet, but this solution suggests that more positions can be solved and put in a partial endgame database.

6. CONCLUSION The game of Zanzibar Bao differs much from both Kalah and Awari. Not only is the state-space complexity much higher, but the lack of convergence in the end game and the existence of endless moves ask for quite different approaches in writing a program for Bao. After the successes with Kalah and Awari, which are both Western, artificial versions of a mancala game, it might be time to step over to Bao, an ancient African version of a mancala game with a large tradition in human play and human mastership.

7. REFERENCES Allis, L. V. (1994). Searching for Solutions in Games and Artificial Intelligence. Ph.D. thesis, Rijksuniversiteit Limburg, Maastricht, The Netherlands. ISBN 90–9007488–0. Allis, L. V., Meulen, M. van der, and Herik, H. J. van den (1991). Databases in Awari. Heuristic Programming in Artificial Intelligence 2: The Second Computer Olympiad (eds. D. N. L. Levy and D. F. Beal), pp. 73–86, Ellis Horwood, Chichester, UK. ISBN 0–13–382615–5. Bal, H. E. and Romein, J. W. (2002). Private communication. See also http://www.cs.ualberta.ca/ awari/. Beal, D. F. and Smith, M. C. (1994). Random evaluations in chess. ICCA Journal, Vol. 17, No. 1, pp. 3–9. Bell, A. G. (1968). Kalah on Atlas. Machine Intelligence, Vol. 3, pp. 181–194. Donkers, H. H. L. M. (2001). Zanzibar Bao rules for the computer. http://www.cs.unimaas.nl/ donkers/ games /bao. Donkers, H. H. L. M., Uiterwijk, J. W. H. M., and Voogt, A. J. de (2002). Mancala Games – topics in Artificial Intelligence and Mathematics. Step by Step. Proceedings of the 4th Colloquium ‘Board Games in Academia’ (eds. J. Retschitzki and R. Haddad-Zubel), Editions Universitaires, Fribourg, Switserland. Goot, R. van der (2001). Awari Retrograde Analysis. Computers and Games – Second International Conference, CG2000 (eds. T. A. Marsland and I. Frank), pp. 87–95, Springer Verlag, Lecture Notes in Computer Science LNCS 2063, Berlin, Germany. ISBN 3–540–43080–6. Herik, H. J. van den, Uiterwijk, J. W. H. M., and Rijswijck, J. van (2002). Games solved, now and in the future. Artificial Intelligence, Vol. 134, Nos. 1–2, pp. 227–312. Irving, G., Donkers, H. H. L. M., and Uiterwijk, J. W. H. M. (2000). Solving Kalah. ICGA Journal, Vol. 23, No. 3, pp. 139–146. Kalah (1963). Kalah recognised as valuable educational aid. http://www.ahs.uwaterloo.ca/ museum/countcap/ pages/newskala.html. Lincke, T. R. and Marzetta, A. (2000). Large databases with limited memory space. ICGA Journal, Vol. 23, No. 3, pp. 131–138.

Meulen, M. van der, Allis, L. V., and Herik, H. J. van den (1990). Lithidion, an Awari-playing program. Technical Report CS 90-05, Universiteit Maastricht, Maastricht, the Netherlands. Murray, H. J. R. (1952). A History of Board Games other than Chess. Oxford University Press, Oxford, UK. ISBN 0878172114. Plaat, A., Schaeffer, J., Pijls, W., and Bruin, A. de (1996). Best-first fixed-depth minimax algorithms. Artificial Intelligence, Vol. 87, Nos. 1–2, pp. 255–293. Russ, L. (2000). The Complete Mancala Games Book. Marlow & Company, New York. ISBN 1–56924–683– 1. Russel, R. (1964). Kalah – the game and the program. Artificial Intelligence Project Memo nr 22. University of Stanford, Stanford, CA. Slagle, J. R. and Dixon, J. K. (1970). Experiments with the M & N tree-searching program. Communications of the ACM, Vol. 13, No. 3, pp. 147–154. Voogt, A. J. de (1995). Limits of the Mind, towards a characterisation of Bao mastership. Ph.D. thesis, Rijksuniversiteit Leiden, Leiden, The Netherlands.

APPENDIX

0

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

0

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

3

3

0

2

2

2

2

2

3

3

0

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

0

0

a) Start.

0

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

0

2

2

2

2

2

2

2

0

2

2

2

0

2

2

2

0

2

2

2

0

2

2

2

3

3

0

2

3

3

2

2

3

3

0

2

3

3

2

2

3

3

0

2

4

4

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

0

0

0

0

e) captures a2,

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

0

2

2

2

0

2

2

2

0

2

2

2

0

2

2

2

0

2

2

2

0

2

2

2

4

4

1

3

0

4

3

3

0

4

1

3

0

4

3

3

0

4

1

4

1

5

2

2

2

2

2

2

2

3

3

2

2

2

2

2

2

3

0

3

3

0

3

3

0

0

g) continues sowing,

0

0

h) continues...,

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

0

2

2

0

0

2

2

2

0

2

0

0

0

2

2

2

0

2

0

0

0

2

3

3

0

4

1

4

1

5

3

3

0

4

2

5

0

6

3

3

0

4

2

5

1

7

0

3

3

0

3

3

0

0

3

3

0

3

3

0

0

3

3

0

3

3

0

3

j) captures 2 at a3,

0

3

0

i) until A6,

2

0

0

f) sows from the right end,

2

0

0

c) captures a6,

2

2

0

0

b) South plays A5 to the left,

d) sows from the right end,

0

0

k) captures 2 at a4,

0

0

3

l) and stops at A7.

Figure 10: An example of a complex move in the novice version of Bao.

0

Suggest Documents