Hello everyone,
I released a new version of my program DoubleCheck 2.0: http://wbec-ridderkerk.nl/html/download.htm
User visible changes are
- improved evaluation, which should make it play more accurately from a positional perspective, especially pawn structures. Note however that the search algorithm is untouched, so tactical skills should be the same as before
- ability to handle fixed depth search, fixed number of nodes, or infinite search (although the UCI stop command is only handled on POSIX and untested)
- bug fixed on the time allocation, which could cause DoubleCheck to lose on time. Now it should never lose on time, provided the UCI interface is not lagging: I use cutechess-cli so no problem there, but you never know with things like Arena etc.
I ran some tests and it scored +110 elo against version 1.3.1, meaning ~2300 elo on CCRL 40/40. Although I expect a little less, since self testing isn't as accurate as testing against a varied population of opponents.
As usual I provide a Linux-64 and Windows-64 binary and the windows one is untested, since I don't have Windows on my computer. Let me know if it works for you. Otherwise the code is ISO C99 and you should be able to compile on any plateform (even 32 bit). In particular it should still compile for Mac OS X and Google Android.
Regards,
Lucas
DoubleCheck 2.0 is out
Moderators: hgm, Rebel, chrisw
-
- Posts: 3232
- Joined: Mon May 31, 2010 1:29 pm
- Full name: lucasart
-
- Posts: 819
- Joined: Fri Dec 01, 2006 10:46 pm
- Location: Mountain View, CA, USA
- Full name: Aart Bik
Re: DoubleCheck 2.0 is out
Hi Lucas,lucasart wrote:In particular it should still compile for Mac OS X and Google Android.
I would be happy to oblige, but all header files seem missing in the download I could find?
Aart
-
- Posts: 3232
- Joined: Mon May 31, 2010 1:29 pm
- Full name: lucasart
Re: DoubleCheck 2.0 is out
arf... my mistake! I'll upload a correction.abik wrote:Hi Lucas,lucasart wrote:In particular it should still compile for Mac OS X and Google Android.
I would be happy to oblige, but all header files seem missing in the download I could find?
Aart
sorry for that
-
- Posts: 3245
- Joined: Thu Mar 09, 2006 9:10 am
Re: DoubleCheck 2.0 is out
You need to specify position and time control.SzG wrote:
Hi Lucas,
I ran the win64 from the command line, OK, then I typed 'uci', still OK. Now I typed 'go' and it crashed.
position startpos
go wtime 60000 btime 60000
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de
http://www.chess.hylogic.de
-
- Posts: 3232
- Joined: Mon May 31, 2010 1:29 pm
- Full name: lucasart
Re: DoubleCheck 2.0 is out
Indeed the go command needs parameters. here are the ones that DoubleCheck can hanfle:
Note that depth/movetime/nodes can be combined, for example
means the search will stop whenever the first condition is met between: 100000 nodes (exactly) have been searched, 150ms has elapsed, and depth 7 is finished
I also introduced a new command"eval", use as follows:
I use it to debug my eval, and it can be interesting if you want to know how DoubleCheck evaluates positions. You'll see that it understands unstoppable passed pawns when the opponent has no pieces, and passed pawns are incentivised, especially connected passed pawns, and especially as there are few pieces on the board and the passed pawns are advanced.
Also new are pawn features in the eval such as: doubled, isolated, chained, backward
Code: Select all
go movetime 10000
go wtime 120000 winc 1000 btime 120000 binc 1000
go nodes 150000
go depth 8
go infinite
Code: Select all
go nodes 100000 movetime 150 depth 7
I also introduced a new command"eval", use as follows:
Code: Select all
position startpos moves e2e4
eval
r n b q k b n r
p p p p p p p p
. . . . . . . .
. . . . . . . .
. . . . P . . .
. . . . * . . .
P P P P . P P P
R N B Q K B N R
eval = -34
Also new are pawn features in the eval such as: doubled, isolated, chained, backward
-
- Posts: 819
- Joined: Fri Dec 01, 2006 10:46 pm
- Location: Mountain View, CA, USA
- Full name: Aart Bik
Re: DoubleCheck 2.0 is out
I see you posted a correction. Thanks.lucasart wrote:arf... my mistake! I'll upload a correction.
I compiled and uploaded DoubleCheck 2.0 for Android (ARMv5TE)) to the UCI and XBoard engines for Android site.
Note that this version cannot replace DoubleCheck 1.3 in the ongoing Android engine tournament since the tournament of Group E is almost finished. If DoubleCheck promotes to Group D, however, I will use the latest version I just compiled.
-
- Posts: 1384
- Joined: Fri Jul 14, 2006 7:56 am
- Location: London, England
- Full name: Jim Ablett
Re: DoubleCheck 2.0 is out
Doublecheck 2.0 JA by Lucas Braesch
Windows/Linux/Android 64/32 p.g.o
Download:
http://dl.dropbox.com/u/5047625/doublecheck-20-ja.zip
Mirror:
http://cl.ly/BZUf/doublecheck-20-ja.zip
I made a few small tweaks such as fixing the windows polling.
Jim.
-
- Posts: 1384
- Joined: Fri Jul 14, 2006 7:56 am
- Location: London, England
- Full name: Jim Ablett
-
- Posts: 3232
- Joined: Mon May 31, 2010 1:29 pm
- Full name: lucasart
Re: DoubleCheck 2.0 is out
Thank you so much! Good compiles, with nice logo. And more importantly, I see that you made a windows version for my input_available function I don't know much about Windows API, so I'd never be able to do it myself.
If you don't mind, I'll include this code in the next release. And add a line in the header comment of the uci.* files saying something like "Credits to Jim Ablett for windows polling code" or whatever
If you don't mind, I'll include this code in the next release. And add a line in the header comment of the uci.* files saying something like "Credits to Jim Ablett for windows polling code" or whatever
-
- Posts: 1384
- Joined: Fri Jul 14, 2006 7:56 am
- Location: London, England
- Full name: Jim Ablett
Re: DoubleCheck 2.0 is out
Hi Lucas,lucasart wrote:Thank you so much! Good compiles, with nice logo. And more importantly, I see that you made a windows version for my input_available function I don't know much about Windows API, so I'd never be able to do it myself.
If you don't mind, I'll include this code in the next release. And add a line in the header comment of the uci.* files saying something like "Credits to Jim Ablett for windows polling code" or whatever
Don't credit me. The windows polling stuff (Bioskey()) is from Oliver Brausch (Olithink).
It's been widely used in many Windows engines over the years like Crafty, Beowulf etc.
This is the credit in the Beowulf src >
Code: Select all
/* Bioskey checks for input waiting in stdin.
* Credit here goes to Dr Oliver Brausch for the code from his
* program Olithink. Some rewriting has been done by CMF, but not much
* as I have absolutely no idea whatsoever what this does.
* I think the original code is from Crafty by Prof. Robert Hyatt. */
Jim.
p.s (I'm sure Bob Hyatt knows as well!)