Page 11 of 15

Re: Cute Chess 0.9.2 released

Posted: Wed Sep 07, 2016 7:54 am
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.

Re: Cute Chess 0.9.0 (GUI) released

Posted: Wed Sep 07, 2016 9:59 am
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?

Re: Cute Chess 0.9.0 (GUI) released

Posted: Wed Sep 07, 2016 10:52 am
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?

Re: Cute Chess 0.9.2 released

Posted: Wed Sep 07, 2016 12:38 pm
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.

Re: Cute Chess 0.9.0 (GUI) released

Posted: Wed Sep 07, 2016 1:16 pm
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.

Re: Cute Chess 0.9.2 released

Posted: Wed Sep 07, 2016 4:57 pm
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?

Re: Cute Chess 0.9.2 released

Posted: Wed Sep 07, 2016 5:19 pm
by hgm
The aim is to keep the relative precision approximately constant, e.g. not more than 10% rounding.

Re: Cute Chess 0.9.2 released

Posted: Wed Sep 07, 2016 6:34 pm
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.

Re: Cute Chess 0.9.2 released

Posted: Thu Sep 08, 2016 1:24 am
by PaulieD
Have you created a manual for the GUI yet?

Re: Cute Chess 0.9.2 released

Posted: Thu Sep 08, 2016 7:27 am
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.