bug-gnubg
[Top][All Lists]
Advanced

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

Re: human level opponents in GNUbg?


From: Øystein Schønning-Johansen
Subject: Re: human level opponents in GNUbg?
Date: Fri, 4 Aug 2023 19:58:26 +0200

(not harsh at all, Joseph!)

Yes! I think everyone agree to that. The engine and the gui should be separated in two processes with a protocol between them.

BTW. There is a new initiative to develop a new backgammon engine. So far it has been some discussions. It will be coded from scratch in Rust. If anyone wants to participate, I can send an invite to a slack workspace.

-Øystein 


On Fri, 4 Aug 2023, 19:38 Joseph Heled, <jheled@gmail.com> wrote:

I don't want to sound harsh, but if we lost all GUI support then GNUbg is no more alive than XG.

-Joseph


On Sat, 5 Aug 2023 at 02:07, Øystein Schønning-Johansen <oysteijo@gmail.com> wrote:
Yes!

We could actually train neural networks with different characteristics.

Let's say we do one loop through the training dataset, and for each position we add a little notch to the winning probabilities for all positions that have an opponent checker on the bar (and maybe even a bigger notch if there's two or more checkers on the bar). Then we do supervised training with this modified trainset. This will hopefully create a more aggressive player that will be more eager to hit loose on checkers, and hopefully create a player with an attacking style.

Then - Let's say we do one loop through the training dataset, and for each position we subtract a little notch to the winning probabilities for all positions that have a blot that can be hit (and maybe even a bigger notch if there's several of it's blot that can be hit). Then we do supervised training with this modified trainset. This will hopefully create a more careful player that will rather create high stacks than playing flexible. Typically seen by beginner players. 4-1 opening roll is then played 13/8, they seldom split backcheckers etc.

Of course I have no idea if this will work or not. But I think I will be able to do something like this. (But not now as I'm leaving for vacation tomorrow morning)

We probably need some interface that can read custom neural networks. I have lost the touch when it comes to GTK coding, but someone may be able to specify.

-Øystein



fre. 4. aug. 2023 kl. 15:39 skrev Superfly Jon <jonkinsey@gmail.com>:
Different nets sound like a good addition for people who want to play against the computer.  This could be combined with an old idea of having a list of opponents with different characteristics (e.g. more / less aggressive) where the move equities are adjusted based e.g. on the number of blots, leading to weaker play with different styles.  Maybe the different neural nets already do this to some degree?

Unfortunately I haven't the time to commit to this currently, but maybe others might and I may have more time in the future.

Jon

On Tue, 1 Aug 2023 at 06:52, Joseph Heled <jheled@gmail.com> wrote:

Hi,

As part of my recent research (Elo systems and PR) I generate a number of neural nets, ranging from 500 Elo to about 1800.

I thought it might be a nice feature to have for beginners, to play a weaker, less frustrating, computer opponent. Might also be useful for stronger players - practicing playing against weaker players. 

I am willing to adapt the nets to GNUbg. If anyone wants to collaborate with me on the rest, i.e. user interface and glue to the rest of the system, please contact me and we can discuss feasibility.

-Joseph 

reply via email to

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