# go game

go   learn   rules   solve   linear   trees   ex   safe

## learn

• interactive way to go point, stone, liberty, string (or chain), atari, ko, komi, byoyomi (AlphaGo-Lee Sedol match, for each match, each player had 2 hr + 3x 60s byoyomi), positional superko, situational superko, live group, dead group, eye, life and death problem, semiai, seki

• browser opponent

## rules

• tromp-taylor rules

• in practice

• after 2 consecutive passes, players agree on which groups are dead/captured

• if no agreement, play continues

• then game is scored

• computer implementations often based on TT rules

• situational superko

• no suicide

• algorithm to recognize dead/captured groups at end of game

• TT scoring

• result is close to Chinese rules

## solving go

small boards
• proof tree for 2x2 go

• in theory (with enough time/memory), any go state can be solved by minimax

• in practice, search space infeasible for boards 8x8 or bigger

• up to 5x5 (does not use psk) erik van der werf

• up to 30-cells (does not use psk) erik van der werf

• open problems

• solve all 6x6 go openings   (msc/ugrad: theory there, just needs coding)

• solve 1xn opening for n ≥ 13 (msc/ugrad: theory + coding)

• needed linear go theory: move pruning, move ordering

## linear go

solving
• small boards

• solving 1xn go open for n over 12: why ?

• many early-win-detection observations do not apply in linear go

• eg. linear go blocks have no interior region, so blocks have no true eyes

• eg. there are no local safe linear go patterns

• need linear go early-win-detection/pruning observations

## some linear go proof trees

1x3
``` - - -

|

- x -
```
1x4
```     - - - -

|

- x - -

/         \

- x o -   - x - o

|         |

- x * x   - x x -      o cannot play at *: ko
```

## some linear go exercises

x-to-move
```find minimax value and principal variation for each

x - o - -

o - x - -

x - - o -

o - - x -

o - - - -

- o - - -

- - o - -
```
``` 1 2 3 4 5
x - o - -  val 0     pv x:4 o:2 x:1 o:2 pass pass

o - x - -  val x+5   pv x:4 p x:2

x - - o -  val x-5   pv x:2 o:3 x:2 o:1

o - - x -  val x+5   pv x:2

o - - - -  val x+5   pv x:4 ... (use 3rd result above)

- o - - -  val 0     pv x:4

- - o - -  val 0     pv x:2 o:4 (o:1 loses) x:5 o:4
```

## some safe linear go positions

unconditionally safe whole-board positions
```
- x -

- x x -

- x - x -
- x x x -

- x x x x -
- x - x x -

- x x x x x -
- x - x x x -
- x x - x x -
- x - x - x -

...

not necessarily safe
x -

x - -
x - x
x x -

x - - -
x - x -
x - - x
x x - -
x - x x
x x x -

...
```
some conditionally safe whole-board positions
```** if x has never played at each ! cell ** then whole board for x

- x ! ! x -

- x ! ! x x -

- x ! ! x x - x -
- x ! ! x - x x -
- x ! ! x ! ! x -

...

not necessarily safe (why?)
- x ! ! ! x -
```