GitXplorerGitXplorer
r

small-go

public
1 stars
1 forks
1 issues

Commits

List of commits on branch master.
Unverified
0a0ac5439753ea01dbcb6f7902c351a4840c98e7

2x2 problems

rryanbhayward committed 4 years ago
Unverified
438192ae5665cdf7bd4aeb1344ed10e41ac5ebcd

need these lines to work on Ryan's mac at home

rryanbhayward committed 5 years ago
Verified
4e71b6059205a6bbf9fb0b1b708bf2bf678b6b38

Merge pull request #5 from solinas/master

rryanbhayward committed 5 years ago
Unverified
03184cce85ed56e39673c5828d3bdaf8368205b6

add assumptions to README

ssolinas committed 5 years ago
Unverified
5ac6fae5cc994428d6695b4a46638a2c62f0a5c4

organize and add new problems

ssolinas committed 5 years ago
Unverified
6047373230c59e36f756d2c7af6b775910184a47

better logging, killer heuristic, and use of new theorems

ssolinas committed 5 years ago

README

The README file for this repository.

Small Go

Efficient implementation of Go with positional superko for solving games on up to 8x8 boards. Used in CMPUT 355 and CMPUT 497 at the University of Alberta.

Also includes an implementation of a solver that can solve provided 3x3 positions with the following assumptions for any legal history leading to positions:

.b.
.b.
.b.

results in a score of +9 for black,

.b.
bb.
...

results in a score of +9 for black,

b..
...
...

results in a score of -9 for black,

bbb
...
...

results in a score of -9 for black, and

bb.
...
...

results in a score of +3 for black.

Installation instructions

Typing make will produce the executable in small-go/bin.

make release does the same, but performs compiler optimizations.

make test runs unit tests after compilation.

Running

bin/small-go will start the program. It implements some of the gtp interface (https://www.gnu.org/software/gnugo/gnugo_19.html), so games can be played in the CLI using a subset those commands.

Some sample positions are located in small-go/problems. These use gtp to set up the board and test the solver. For example,

bin/small-go < problems/1.txt

will create the position:

...
.b.
...

and solve for white's best move.

Contributing

Be sure to run make contribute to run unit tests, check for memory leaks, and run static analysis and style checking before issuing a pull request.

This requires cppcheck and cpplint.