Engine doing well

After playing over 1000 games in cgos server, Hactar-7-197-p is now first among recently playing engines. Version has two improvements over previous version.

Network is now somewhat better. Training has gone thru 197-181=16 generation, and this made visible improvement.

However, biggest change is thinking in opponents time (“pondering”, thus -p). It helps as it gives more network evaluations. Big impact is also when  normal search starts, pondering has created  small tree to start with.
This small tree helps as GPU is providing number of parallel evaluations to build MC tree, and getting sensible place for these evaluations  is possible as soon as there is small tree.

Testing smaller GPU

Most recent version Hactar-7-209a-p is using P4000 GPU instead of 1080ti; thus it is running with only half of the GPU power!

Still, it looks like Hactar-7-209a-p is almost as good as Hactar-7-197-p. This goes back to reducing latency of tree walk, NN evaluation, tree update cycle. Thus even if there is only half of the network evaluations, evaluations are a lot more relevant.

At some point I will make this improved engine to play using 1080ti. It will interesting to see its wining-%…

New engine playing

My first engine to play is now playing in 9×9 board. Engine is pretty typical AlphaZero trained engine with deep neural network. And name engine is Hactar, as this is intended for Hactar android app, although engine will be on cloud.

Currently engine is active on cgos bot server . At the moment Hactar is in 2nd  place among active bots, but in past there have been significantly stronger bots in the server. When Hactar is not playing anymore, past results can be found also from bayes estimation pages.

Engine is using one 1080ti card, CPU use is not significant.

The engine name “Hactar-7-181” contains also neural network model number (7) and the training iteration. For details of neural network and differences between versions, I will need to write another posting.

Creating new engine

Creating a go engine used to be a huge effort. After a basic program structure was in place, a lot of tuning was needed.

Since Deep neural Networks were adapted to go, creating a new engine has been a lot less work.

And since the AlphaZero go engine training technique, creating a strong go engine is not so much work, but awfully lot of GPU computing time.

So currently I am in progress of doing new engine for Hactar. This has progressed really well; I hope to be able to publish results really soon (still, do not hold your breath). The main challenge is to reduce the needed GPU time to something reasonable.

GOWrite and Hactar

GOWrite is over 23 years old, and finally deserves a blog.

First time I made GOWrite go game editor available in internet during 1995. Back then, making a book was pain, as good quality diagrams were not easy to produce. Solving this was one of the initial reasons to create GOWrite.

Around 2001 I made first attempts at a grand new version 2.0 using Java. Old 1.4 version was internally messed up, and I wanted to support other than windows environments.

I also created MIDP version of gowrite around 2005. This was not big success, so eventually I stopped the development. Still, using phone as go tools was clearly practical.

Finally around 2011 I wanted to test something with Android, and creating go program was natural thing to do. This time name was not GOWrite,  as program was not about go publications. Instead program was about playing against computer and strong playing programs require a server. And servers live in the cloud, so program name was Hactar.

Hactar go was initially for beginners, it includes capture go engine to help getting started.