Cute Chess 0.9.0 (GUI) released

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: Cute Chess 0.9.2 released

Post by ilari »

Ferdy wrote:The polyglot book use has no random, so what is the minimum move weight for it to be played?
Here's the code for calculating a move's weight: https://github.com/cutechess/cutechess/ ... k.cpp#L111

So drawn games give both players +1 and win gives winner +2. Loser's moves are not saved in the book.
pferd
Posts: 134
Joined: Thu Jul 24, 2014 2:49 pm

Re: Cute Chess 0.9.0 (GUI) released

Post by pferd »

I pulled the latest master from github and compiled it on my Linux machine. It really does look awesome!

I set up a tournament with about 15 engines and I have trouble with the Komodo 9.x series.

I always get the message

Terminating process of engine komodo-9(1)

and the engine debug output remains empty. With cutechess-cli the engine works just fine.

The free Komodo 8 works just fine...

Can anybody confirm my issue or is it just my computer?
User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: Cute Chess 0.9.0 (GUI) released

Post by ilari »

pferd wrote:I pulled the latest master from github and compiled it on my Linux machine. It really does look awesome!
Thanks! It's mostly thanks to the awesome widget toolkit in the Qt framework.
pferd wrote:I set up a tournament with about 15 engines and I have trouble with the Komodo 9.x series.

I always get the message

Terminating process of engine komodo-9(1)

and the engine debug output remains empty. With cutechess-cli the engine works just fine.

The free Komodo 8 works just fine...

Can anybody confirm my issue or is it just my computer?
Do you get this error immediately when trying to start the tournament, or is there delay? And does this happen if you just start a normal Human vs. Komodo 9.x game?
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Cute Chess 0.9.2 released

Post by Ferdy »

ilari wrote:
Ferdy wrote:The polyglot book use has no random, so what is the minimum move weight for it to be played?
Here's the code for calculating a move's weight: https://github.com/cutechess/cutechess/ ... k.cpp#L111

So drawn games give both players +1 and win gives winner +2. Loser's moves are not saved in the book.
In the following, do the entries weight in foreach() are read in descending order?

Code: Select all

Chess::GenericMove OpeningBook::move(quint64 key) const
...

// Pick a move randomly, with the highest-weighted move having
	// the highest probability of getting picked.
	int pick = Mersenne::random() % totalWeight;
	int currentWeight = 0;
	foreach (const Entry& entry, entries)
	{
		currentWeight += entry.weight;
		if (currentWeight > pick)
			return entry.move;
	}
In any case, I would like to suggest to allow the user to control the minimum weight percentage that a move will be played, say minWePercent = 8, then play the move if wePercent >= minWePercent. So the moves b3 and e3 will not be played.

Image

Then you can add the maxWePercent. If the user wants the engine not to play the best book move for whatever purpose, he may set it to 30 for example.
So for book moves having wePercent > maxWePercent, that move will not be played. In this case the move e4 will not be played.
pferd
Posts: 134
Joined: Thu Jul 24, 2014 2:49 pm

Re: Cute Chess 0.9.0 (GUI) released

Post by pferd »

ilari wrote:
pferd wrote:I pulled the latest master from github and compiled it on my Linux machine. It really does look awesome!
Thanks! It's mostly thanks to the awesome widget toolkit in the Qt framework.
pferd wrote:I set up a tournament with about 15 engines and I have trouble with the Komodo 9.x series.

I always get the message

Terminating process of engine komodo-9(1)

and the engine debug output remains empty. With cutechess-cli the engine works just fine.

The free Komodo 8 works just fine...

Can anybody confirm my issue or is it just my computer?
Do you get this error immediately when trying to start the tournament, or is there delay? And does this happen if you just start a normal Human vs. Komodo 9.x game?
It happens, when I start a human vs Komdodo 9.x game, an engine-engine game or a tournament.

When I want to start a game, the error appears immediately after I click OK in the New Game dialog and I am prompted to the default tab.

When I am running a tournament everything works fine until the first game with Komodo. The engine process and the tournament gets stopped.
User avatar
Guenther
Posts: 4606
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: Cute Chess 0.9.2 released

Post by Guenther »

Code: Select all

[Event "?"]
[Site "RWBC-CAPPUCCINO"]
[Date "2016.09.07"]
[Round "?"]
[White "Abrok_50"]
[Black "Aice_0992"]
[Result "*"]
[ECO "A06"]
[Opening "Reti Opening"]
[Termination "unterminated"]
[TimeControl "40/300"]

1. Nf3 {+0.02/99 0.001s} d5 {0.001s} 2. d4 {+0.02/99 0.001s} Nf6 {0.002s}
3. c4 {+0.02/99 0.003s} dxc4 {0.002s} 4. e3 {+0.02/99 0.022s} e6 {0.001s}
5. Bxc4 {+0.02/99 0.003s} a6 {0.001s} 6. O-O {+0.60/12 9.1s} c5 {0.001s}
7. a4 {+0.02/99 0.003s} Nc6 {0.001s} 8. Qe2 {+0.02/99 0.001s} cxd4 {0.001s}
9. Rd1 {+0.02/99 0.003s} Be7 {0.001s} 10. exd4 {+0.02/99 0.003s} O-O {0.001s}
11. Nc3 {+0.02/99 0.003s} Nb4 {0s} 12. Ne5 {+0.02/99 0.003s} b6 {0s}
13. Qf3 {+0.36/11 7.3s} Rb8 {0.001s} 14. Qg3 {+0.18/12 15s} Bb7 {0s}
15. Bh6 {+0.12/12 16s} Ne8 {0s} 16. Qg4 {+0.14/11 9.5s} Bd6 {-0.17/9 17s}
17. Rac1 {+0.24/10 8.4s} Kh8 {-0.20/9 9.2s} 18. Bg5 {+0.30/11 10s}
Nf6 {-0.36/9 8.8s} 19. Qh4 {+0.34/12 10s} Be7 {-0.23/9 12s}
20. Na2 {+0.36/11 11s} Nbd5 {-0.07/9 25s} 21. Bd3 {+0.52/12 12s} *
I have a question about the precision of the given time in the pgn output.
In the pgn above it starts with millisecond precision but later it changes
to deciseconds and even to seconds resolution.
From the other posts I have seen similar output with all kinds of varying precisions, mixed from milliseconds to seconds.
Actually I like high precision output, but IMHO several magnitudes of precision should not be mixed.
May be there are also some strange roundings here or other unknown rules?
User avatar
hgm
Posts: 27793
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Cute Chess 0.9.2 released

Post by hgm »

The aim is to keep the relative precision approximately constant, e.g. not more than 10% rounding.
User avatar
Guenther
Posts: 4606
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: Cute Chess 0.9.2 released

Post by Guenther »

hgm wrote:The aim is to keep the relative precision approximately constant, e.g. not more than 10% rounding.
Well, the output I have shown (and others) surely looks not constant.
For my taste always centiseconds (may be as an option) would be fine.
PaulieD
Posts: 212
Joined: Tue Jun 25, 2013 8:19 pm

Re: Cute Chess 0.9.2 released

Post by PaulieD »

Have you created a manual for the GUI yet?
User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: Cute Chess 0.9.2 released

Post by ilari »

Ferdy wrote:In the following, do the entries weight in foreach() are read in descending order?

Code: Select all

Chess::GenericMove OpeningBook::move(quint64 key) const
...

// Pick a move randomly, with the highest-weighted move having
	// the highest probability of getting picked.
	int pick = Mersenne::random() % totalWeight;
	int currentWeight = 0;
	foreach (const Entry& entry, entries)
	{
		currentWeight += entry.weight;
		if (currentWeight > pick)
			return entry.move;
	}
The entries are not ordered by weight at all, but that doesn't matter - the highest-weighted move still has the best chance of getting chosen. Ordering the entries differently wouldn't change anything.
Ferdy wrote:In any case, I would like to suggest to allow the user to control the minimum weight percentage that a move will be played, say minWePercent = 8, then play the move if wePercent >= minWePercent. So the moves b3 and e3 will not be played.

Image

Then you can add the maxWePercent. If the user wants the engine not to play the best book move for whatever purpose, he may set it to 30 for example.
So for book moves having wePercent > maxWePercent, that move will not be played. In this case the move e4 will not be played.
That is very much doable. The most difficult thing about adding features like these is avoiding cluttering the user interface while doing it.