Godoggo

21
GO DOG GO Robert Carr <[email protected] > Friday, April 15, 2011

Transcript of Godoggo

Page 1: Godoggo

GO DOG GORobert Carr <[email protected]>

Friday, April 15, 2011

Page 2: Godoggo

GO DOG GORobert Carr <[email protected]>

Friday, April 15, 2011

Page 3: Godoggo

GO?

Friday, April 15, 2011

Page 4: Godoggo

GOBJECT-DETECTOR

• Go board recognition library.

• Rewritten in C++ for Android NDK.

• Some issues with OpenCv on Android...

Friday, April 15, 2011

Page 5: Godoggo

IMPROVED GRID DETECTION

• Board has dots to indicate “Hoshi” points (For example Tengen at 10,10)

• Adjust grid to fit better to Hoshi points.

Friday, April 15, 2011

Page 6: Godoggo

MORE?

• Score boards. Requires a simple MonteCarlo AI or user interaction.

• Live broadcasting to KGS.

Friday, April 15, 2011

Page 7: Godoggo

GIFU!

• iTunes for your Go game records.

• Fully queryable sqlite backed database.

• Tested with collection of 50,000 games.

Friday, April 15, 2011

Page 8: Godoggo

TAGS AND COMMENTS

• With a collection of 50,000 games it can be difficult to remember what you are studying...or which game had a particular move.

• Would also be nice to comment game without disturbing the original file.

Friday, April 15, 2011

Page 9: Godoggo

SGF PRINTER

• Would also be nice to print records in Kifu format.

Friday, April 15, 2011

Page 10: Godoggo

GO AI

• Really hard :(

Friday, April 15, 2011

Page 11: Godoggo

BOARD REPRESENTATION

• Keep track of blocks/liberties.

• Zobrist hashing

• Positional Super Ko

• Symmetry Checking.

Friday, April 15, 2011

Page 12: Godoggo

AI ARCHITECTURE

• Multiple modules generate candidate moves.

• Moves are evaluated by Monte Carlo evaluator.

Friday, April 15, 2011

Page 13: Godoggo

MONTE CARLO EVALUATOR

• Core of AI move evaluation.

• Randomly plays out thousands of games and calculates win percentage.

• Playouts can be “light” or “heavy”

Friday, April 15, 2011

Page 14: Godoggo

PATTERN MATCHING

• Match subset of board against pattern.

• Recognize patterns independent of transposition, rotation, etc...

Friday, April 15, 2011

Page 15: Godoggo

FUSEKI DATABASE

• Compiled from collection of pro and high dan amateur games.

• Typically relevant for first 50 moves.

Friday, April 15, 2011

Page 16: Godoggo

JOSEKI DATABASE

• Patterns in local corner positions.

• Best moves found for both sides.

Friday, April 15, 2011

Page 17: Godoggo

CONNECTIVITY

• Higher level concept than blocks.

• The red stones are “connected”

• Every shape has weaknesses.

Friday, April 15, 2011

Page 18: Godoggo

PROVERBIAL KNOWLEDGE

• Black would like to play inbetween the white stones on top.

• Proverbial knowledg says to build thickness first....pattern database has a suggestion!

Friday, April 15, 2011

Page 19: Godoggo

THE PEEP

Friday, April 15, 2011

Page 20: Godoggo

STRATEGIC DECISIONS

• Proverbial knowledge database will enable guiding selection of moves for MonteCarlo based on moves generated by various strategy modules.

• In previous example, “invasion” module, would query the “thickness” module for setup plays.

• Such plays are given heavier play outs in MonteCarlo.

Friday, April 15, 2011

Page 21: Godoggo

QUESTIONS?

Friday, April 15, 2011