Hi,

michi-c is a port in C of the michi program by Petr Baudis with the same goals (see https://gitub.com/pasky/michi).

It has many of the extensions that Petr has hoped:
- early passing,
- graphics in gogui,
- parameters modifications by gtp commands,
- speed improvement by tracking liberties and blocks,
- preliminary time management and dynamic komi
- read simple SGF files
- small user manual

Currently (version 1.4), it runs exactly the same algorithms as the michi python version.

The michi goal for brevity has been relaxed in favor of speed and functionalities.

Michi-c is relatively fast even if there is still much room for improvements. It runs 3200 playouts/s from an empty 19x19 board on an i7-4790K (single threaded and using large patterns). With this setting, it plays about even with gnugo on 19x19 (winrate 57 % +/- 2.5% measured on 400 games) at an average speed of 400 seconds per game (about 3.3 sec/move).

The development is done on Linux but the goal is to keep the code portable.
Michi-c comes with everything included. The only requirements are :
- a C compiler with the standard C library to build the gtp engine,
- gogui (http://gogui.sourceforge.net) to use the engine confortably if gogui is supported on your system.

The code for the MCTS tree search and the playout policy is about 1000 lines of C (20 % of the total).

Michi-c can be downloaded at https://github.com/db3108/michi-c2. It is distributed under the MIT license.

Thanks to Horace Ho, Andreas Pearson, Eric Steinmetz and J.Kartz who have provided feedback and/or corrections about portability issues of earlier versions with IOS (iphone 6), Windows 32 bits system with Microsoft Visual Studio and MAC OS X.

And of course, many thanks to Petr Baudis for having published the michi.py code and setting up the goals for this project.

Denis
_______________________________________________
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Reply via email to