bug-gnubg
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: New backgammon engine: wildbg


From: MK
Subject: Re: New backgammon engine: wildbg
Date: Tue, 21 Nov 2023 22:42:20 -0700
User-agent: Mozilla Thunderbird


On 11/13/2023 1:20 PM, Carsten Wenderdel wrote:

I have started work on a new backgammon engine: 
https://github.com/carsten-wenderdel/wildbg

It's always great news and hope to hear about a new effort for a better BG bot.

The current strength is roughly 1800 ELO or an error rate mEMG of roughly 7.5 
when being analyzed with GnuBG.

May I suggest that you don't measure your bot by what other bots think of it but by how they perform against it in terms of real win/loss results.

So far only the classic TD-Gammon inputs have been implemented, the expert 
features from Hans Berliner are missing.
It’s also still learning without expert features, so I’m optimistic that there 
is lots of room for improvement.

As far as I know TD-Gammon was initially trained through random cubeless, matchless, (even backgammonless) self-play; that is only single games with 1 and 2 point wins.

Is this how you are training your bot?

Wildbg is doing many things similar as GnuBG, which is really a great project.
Some things however are done differently:

1. MIT/Apache 2 instead of GPL
... 2. Rust instead of C ... 3. HTTP/json API instead of own GUI
...
4. Usage of 3rd party machine learning libraries instead of self written neural 
nets

This allows usage of for example PyTorch and the ONNX format. Changing the 
topology of the nets (ReLu instead of sigmoid, adding hidden layers) becomes 
very easy.

I find this the most interesting to comment about. I have no idea about the specific technologies mentioned but the end result should ideally an Alpha-Zero type bot that learns through purely random cubeful and matchful self-play; that is without human bias introduced by applying cube formulas to cubeless equities and without using score tables for match equities.

The CPU power that didn't exist at the days of TD-Gammon does exist today, even if it may not be accessible to just anybody. But there is a was to transition using average desktop CPU power, by
doing what I call "clinical rollouts" done through purely random cubeful and 
matchful trials.

Gnu-BG's lowest player strength with maximum noise setting comes close to this but not quite. Even though it would be trivial to implement this in Gnu-BG, they are refusing to do it most likely for the fear that it would prove to be self-destructive for Gnu-BG.

Random checker and cube decisions go so fast that in the same amount of time that it takes to do a typical 1,296 trials, you can do 1,296,000 trials on an average desktop PC.

So, even is you can't train your new bot through Alpha-Zero type learning, you can at least implement Alpha-Zero type rollouts to double-check how an Alpha-Zero BG bot would have played individual positions one at a time.

Over time, those "clinical rollouts" will accumulate and demonstrate that none of the currently existing BG bots are good enough and that there is a need for better BG bots. If you understand and agree with what I am explaining, your bot will be the first one to progress in that direction.

I’d be super happy if wildbg would evolve into a community project similar to 
GnuBG.

I'm sure many many people would wish the same for your bot or for another one willing and daring to "exit the box".

I don’t want to abuse this mailing list too much; if you are interested please 
join this Discord server:
https://discord.gg/Ckvf7y8nGz

Can you allow read-only access for the general public without having to create 
an account?

MK



reply via email to

[Prev in Thread] Current Thread [Next in Thread]