ChessDBCN

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

Moderators: hgm, Rebel, chrisw

Ratosh
Posts: 77
Joined: Mon Apr 16, 2018 6:56 pm

Re: ChessDBCN

Post by Ratosh »

Hello,

This is a great tool! I'm trying to do tools around it and i found something odd, nodes above 50 move rule:

https://www.chessdb.cn/cdb.php?action=q ... 0258%20159
Leo
Posts: 1080
Joined: Fri Sep 16, 2016 6:55 pm
Location: USA/Minnesota
Full name: Leo Anger

Re: ChessDBCN

Post by Leo »

I wonder who is paying the cost of doing this. I haven't read the whole postings yet.
Advanced Micro Devices fan.
noobpwnftw
Posts: 560
Joined: Sun Nov 08, 2015 11:10 pm

Re: ChessDBCN

Post by noobpwnftw »

Ratosh wrote: Sat Sep 14, 2019 5:18 pm Hello,

This is a great tool! I'm trying to do tools around it and i found something odd, nodes above 50 move rule:

https://www.chessdb.cn/cdb.php?action=q ... 0258%20159
It ignores move counters entirely and rules may be handled on the client side.
Reason being for sake of rule completeness it must also consider 3-fold rule which would require probing to send all history moves, which is undesired.
User avatar
Ovyron
Posts: 4556
Joined: Tue Jul 03, 2007 4:30 am

Re: ChessDBCN

Post by Ovyron »

I wonder how strong ChessDB is, and how would it play a correspondence game. I'm able to outpace it steadily when analyzing in parallel, but then I go to sleep, and waking up means it has already outpaced me greatly, so the biggest advantage is champing non-stop.
Your beliefs create your reality, so be careful what you wish for.
User avatar
Ovyron
Posts: 4556
Joined: Tue Jul 03, 2007 4:30 am

Re: ChessDBCN

Post by Ovyron »

I've just managed to feed my mainline for 1.e4 and made it its preferred choice :)

1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O

On this position 8.c3?? is 0.00 as it allows 8...d5!! and no matter what white plays, it can't make progress. 8.c3 was ChessDBCN's top move:

Image

After feeding it the relevant lines that busted its main defenses, ChessDBCN now admits that 8.a4!! is best!

Image

This has the unexpected ripple effect of making it unsure about what's the best reply against 1.e4. Before this, ChessDB thought 1...e5 was best:

Image

After this 1...e5 and 1...c5 are tied, though it was c5's score that went up...

Image

So yeah, if you have a strong mainline you can make it ChessDBCN's favorite 8-)
Your beliefs create your reality, so be careful what you wish for.
amchess
Posts: 323
Joined: Tue Dec 05, 2017 2:42 pm

Re: ChessDBCN

Post by amchess »

A question.
Based on your API description,
-queryAll can give us, for all moves, their score, rank and winrate
-querypv also the depth
-querybest the best move

There is a fashion to have the best move with score, winrate and depth al in one ?

Many thanks in advance,
Andrea
User avatar
Ovyron
Posts: 4556
Joined: Tue Jul 03, 2007 4:30 am

Re: ChessDBCN

Post by Ovyron »

Isn't that what it shows currently?

See:

https://www.chessdb.cn/queryc_en/

Interestingly, there seems to be two kind of "ranks". What ranks have been called so far is the order of the moves (best is rank 1, second best is rank 2, third best is rank 3, and so on.) However, what ChessDB calls "rank" is a number at the sides of the moves that goes from 0 to 2.

Presumably, winrate and depth would be the numbers below "Notes", so it's possible to get all in one.
amchess
Posts: 323
Joined: Tue Dec 05, 2017 2:42 pm

Re: ChessDBCN

Post by amchess »

Ovyron wrote: Sun Dec 01, 2019 1:53 am Isn't that what it shows currently?

See:

https://www.chessdb.cn/queryc_en/

Interestingly, there seems to be two kind of "ranks". What ranks have been called so far is the order of the moves (best is rank 1, second best is rank 2, third best is rank 3, and so on.) However, what ChessDB calls "rank" is a number at the sides of the moves that goes from 0 to 2.

Presumably, winrate and depth would be the numbers below "Notes", so it's possible to get all in one.
Clearly, I watched the gui, but I speak about API.
I asked if there is a mean to obtain, via code and for a given position, the best move and its associated depth, score and winrate.
Me too, I think there must be this possibility, but this doesn't appear in API description.

Andrea
noobpwnftw
Posts: 560
Joined: Sun Nov 08, 2015 11:10 pm

Re: ChessDBCN

Post by noobpwnftw »

amchess wrote: Sun Dec 01, 2019 10:04 am I asked if there is a mean to obtain, via code and for a given position, the best move and its associated depth, score and winrate.
Providing depth to any move require recursive probing within the database which is quite resource heavy, so it is only performed upon explicit request.
The move suggesting API does perform a recursive look-ahead but the recursion can be terminated by sufficient confidence, so in order to get what you need, at least 2 API calls, first is to let the DB provide a best move(query or querybest), if there is one, make the move(due to diversity it may give you different main lines and you should ask explicitly a particular move) and probe 'querypv' on following positions to get the depth and scores.

Winrate is just for display, you can apply any formula to convert it from cp.
amchess
Posts: 323
Joined: Tue Dec 05, 2017 2:42 pm

Re: ChessDBCN

Post by amchess »

noobpwnftw wrote: Wed Dec 11, 2019 8:15 pm
amchess wrote: Sun Dec 01, 2019 10:04 am I asked if there is a mean to obtain, via code and for a given position, the best move and its associated depth, score and winrate.
Providing depth to any move require recursive probing within the database which is quite resource heavy, so it is only performed upon explicit request.
The move suggesting API does perform a recursive look-ahead but the recursion can be terminated by sufficient confidence, so in order to get what you need, at least 2 API calls, first is to let the DB provide a best move(query or querybest), if there is one, make the move(due to diversity it may give you different main lines and you should ask explicitly a particular move) and probe 'querypv' on following positions to get the depth and scores.

Winrate is just for display, you can apply any formula to convert it from cp.
Thanks.
I used the two api calls in a private application, but it would be nice to have this possibility with only one call in the engine code, for example, our learning algorithm.