Daydreamer 1.7

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

Moderators: hgm, Rebel, chrisw

Aaron Becker
Posts: 292
Joined: Tue Jul 07, 2009 4:56 am

Re: Daydreamer 1.7

Post by Aaron Becker »

Thanks a lot for the information, Jim. I wonder why Symantec & Mcafee complain about a plain GCC compile--that's awfully annoying.
User avatar
Le Fou numerique
Posts: 859
Joined: Wed Apr 05, 2006 9:58 pm
Location: Elsass

Re: Daydreamer 1.7

Post by Le Fou numerique »

Jim Ablett wrote:
I've sent new 32 bit binary to Aaron and updated my download link. get it here >
http://dl.dropbox.com/u/5047625/daydreamer-17-ja.zip

Jim.
Hi Jim,

With the new compil it seems ok now.

Regards,
Patrick
Elorejano
Posts: 101
Joined: Sat Mar 20, 2010 3:31 am

Re: Daydreamer 1.7

Post by Elorejano »

Hi, Aaron!
I must to say that your books implementation seems not right.
In ctg books: DayDreamer "reads" only two or three moves and went out off book. When i tried a match, in the second game, DD dont read the book.
Polyglots books: in a match, DD use right in the first game, in second dont read the book.
I hope this are usefull
Regards
Aaron Becker
Posts: 292
Joined: Tue Jul 07, 2009 4:56 am

Re: Daydreamer 1.7

Post by Aaron Becker »

Elorejano wrote:Hi, Aaron!
I must to say that your books implementation seems not right.
In ctg books: DayDreamer "reads" only two or three moves and went out off book. When i tried a match, in the second game, DD dont read the book.
Polyglots books: in a match, DD use right in the first game, in second dont read the book.
I hope this are usefull
Regards
Hi Carlos,

Thanks for the information; I always appreciate bug reports. It would help me to know what interface you're using. Once Daydreamer is out of book, it doesn't look for book moves until it thinks a new game has started. Depending on what information your interface sends, Daydreamer might not realize that a new game is started and that it needs to start checking its book again. It's possible that I'll need to make it always check its book to make things work correctly for everyone.

For ctg books, it's very possible that my implementation is wrong. I'll take a closer look with a few different books and see if I can reproduce your problem. If the book you're using is publicly available, it would be helpful to know what book it is and what position you saw the problem in. Thanks again,

Aaron
Aaron Becker
Posts: 292
Joined: Tue Jul 07, 2009 4:56 am

Re: Daydreamer 1.7

Post by Aaron Becker »

I do know of a problem with ctg book reading that will cause Daydreamer to ignore moves that have less than 3 games played, and a separate problem that can cause it to ignore recommended (green) moves with extremely large numbers of games played. These issues will both be fixed in the next release.

It's also possible that the behavior I specified for choosing moves from a ctg book is poor and needs improvement. The way the current system works, Daydreamer will never play moves that are marked red, and it will never play moves that don't have at least one draw or win associated with them, regardless of whether they're recommended or not. Recommending a line (marking it green) makes it about 100 times more likely to be played than if it wasn't marked, but unmarked moves can still be chosen even when marked moves are available, it's just much less likely. If you think some other behavior would be better, do let me know. I'm not that knowledgeable about bookmaking, and am open to suggestions.
Elorejano
Posts: 101
Joined: Sat Mar 20, 2010 3:31 am

Re: Daydreamer 1.7

Post by Elorejano »

Hi, Aaron!
I use Winboard and UCI engines with polyglot and DeepFritz12 book.
Some gui masking its bad behaviours with its "features" (GUI manage books, TB, ponder, etc.) so some engines dont discover a bug due this.
About ctg books, seems that your behavior are right, but for some reason the engine dont have this behavior :D
About polyglots books maybe the problem was as you described in the other post.
Maybe off topic: you are the first that combine egbb Shawl with gtb (combination ShredderBases with Nalimov are completely different), and seems very very interesting. And maybe it can be improved. Talk with Miguel about this.
At your orders
User avatar
hgm
Posts: 27787
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Daydreamer 1.7

Post by hgm »

Daydreamer is also pretty adept with the Knights vs Queens. It seems to search deeper than most other engines, and this seems to largely make up for the mis-evaluation. It has no difficulty beating Crafty, starting from a -7 score. (Crafty counts itself even at +10 :lol: ). In many of the positions Daydreamer searches 5 ply deeper than Crafty.

Code: Select all

[Event "Computer Chess Game"]
[Site "SCHAAK_PC"]
[Date "2010.03.29"]
[Round "2.2"]
[White "Crafty 19.17"]
[Black "Daydreamer 1.7"]
[Result "0-1"]
[TimeControl "40/300"]
[FEN "2n1kn2/3ppp2/1nn2nn1/8/8/8/3PPP2/1Q1QK1Q1 w - - 0 1"]
[SetUp "1"]
[Number "13"]

{--------------
. . n . k n . .
. . . p p p . .
. n n . . n n .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . P P P . .
. Q . Q K . Q .
white to play
--------------}
1. Qdb3 {+10.49/11 7} Ne6 {-7.78/13 7} 2. Qh3 {+10.37/10 6} Nef4
{-7.67/14 13} 3. Qhh1 {+10.44/10 6} Nc4 {-7.83/15 7} 4. Qg3 {+10.57/10 10}
Kd8 {-7.95/15 19} 5. Qc3 {+10.61/10 6} N8d6 {-7.77/14 9} 6. d3
{+10.73/10 6} N4d5 {-7.95/15 9} 7. Qcc1 {+10.74/11 6} N4e5 {-8.17/15 21} 8.
Qc5 {+10.56/10 6} Nc7 {-7.94/15 19} 9. Qa2 {+10.73/9 6} Ne6 {-7.92/14 22}
10. Qa8+ {+11.05/10 6} Nc8 {-7.84/16 12} 11. Qc1 {+10.74/10 6} Nc7
{-7.96/16 14} 12. Qaa3 {+10.63/10 6} Nfd5 {-7.87/15 7} 13. Qh7
{+10.79/10 6} Nf6 {-7.92/16 9} 14. Qh3 {+10.73/10 6} Nfd5 {-7.97/16 13} 15.
Kf1 {+10.63/10 7} Nd6 {-7.80/13 3} 16. Qhh6 {+10.54/10 6} Ndb5 {-7.82/14 8}
17. Qaa1 {+10.29/10 6} Nbd4 {-7.71/12 6} 18. Qcb2 {+10.36/10 7} Kc8
{-7.83/12 3} 19. Qg7 {+11.01/10 6} Nf6 {-7.96/13 5} 20. Qh6 {+10.75/10 6}
Nfd5 {+0.00/23 2.5} 21. Qh7 {+10.99/9 6} Nf6 {-7.97/15 6} 22. Qh1
{+10.80/10 6} Nfd5 {-7.93/15 9} 23. Qh7 {+10.99/9 7} Nf6 {+0.00/28 2.0} 24.
Qh1 {+10.79/10 7} Nfd5 {+0.00/35 3} 25. Qa4 {+10.64/10 7} Ndb5 {-7.58/12 4}
26. Qh7 {+10.10/10 7} d6 {-7.52/12 4} 27. Qg8+ {+9.81/9 7} Kd7 {-6.81/15 9}
28. e3 {+9.46/10 7} Nxd3 {-6.77/12 1.8} 29. Qg4+ {+9.24/10 11} e6
{-6.46/12 3} 30. Qd2 {+8.96/10 7} Nde5 {-6.26/12 2.4} 31. Qgd1 {+9.04/10 7}
Nce7 {-6.29/13 6} 32. Qh7 {+9.03/11 8} Nc4 {-6.28/14 7} 33. Q2c1
{+8.85/11 9} Nge5 {-6.24/13 2.1} 34. Kg2 {+8.62/10 8} Nbc3 {-6.38/13 4} 35.
Qb3 {+8.64/10 8} N7b5 {-6.24/12 1.9} 36. Qa1 {+8.07/10 13} Nd2 {-6.30/14 6}
37. Qbc2 {+6.89/12 8} Ndc4 {-6.46/13 5} 38. Kh1 {+8.63/10 9} Nb4
{-6.56/13 3} 39. Qb3 {+9.20/11 10} Ned5 {-7.33/13 2.6} 40. Qa8 {+8.79/10 8}
Ndc7 {-6.60/13 3} 41. Qf8 {+8.70/10 6} Nbd5 {-7.69/15 23} 42. Qhg8
{+9.46/10 6} Kc6 {-6.92/14 9} 43. Qb8 {+9.40/9 6} Nd2 {-6.27/15 29} 44. Qc2
{+8.53/10 6} Ne4 {-5.84/14 9} 45. Kg2 {+8.52/10 7} f5 {-5.92/15 19} 46.
Qgc8 {+8.45/9 6} Ng4 {-4.67/14 21} 47. Kg1 {+7.20/9 8} Nexf2 {-4.60/12 5}
48. Qcb7+ {+7.08/9 6} Kc5 {-4.42/13 15} 49. Qd2 {+7.03/9 6} e5
{-4.10/13 16} 50. Qh8 {+6.47/9 7} Nfe4 {-3.94/12 5} 51. Qb2 {+6.38/9 6}
Ngxe3 {-4.06/12 3} 52. Qhb8 {+6.16/10 7} f4 {+0.00/14 12} 53. Kh1
{+0.62/10 10} f3 {+0.66/14 8} 54. Qf8 {+0.62/10 6} f2 {+0.70/13 6} 55.
Qfxf2 {+0.67/12 6} Nxf2+ {+0.83/13 4} 56. Qxf2 {+0.59/12 2.1} Kc4
{+1.18/14 10} 57. Qf7 {+0.61/11 9} Kb3 {+2.11/16 6} 58. Qd7 {+0.83/11 6}
Nc4 {+2.67/17 11} 59. Qh3 {+0.40/11 8} e4 {+2.85/16 7} 60. Qbc8
{-4.85/12 10} e3 {+3.10/16 5} 61. Qcf5 {-5.12/11 8} Nd4 {+3.14/16 12} 62.
Qfg4 {-6.29/11 8} N7b5 {+3.52/14 5} 63. Qg1 {-6.86/11 7} e2 {+3.74/13 2.0}
64. Qb1+ {-7.13/13 22} Ka4 {+3.94/14 1.9} 65. Qa1+ {-7.22/13 6} Kb4
{+4.83/17 4} 66. Qc1 {-7.22/12 9} Nde3 {+9.33/17 7} 67. Qh4 {-8.87/13 14}
Ndc2 {+9.64/16 9} 68. Qf2 {-9.65/12 9} Nbd4 {+9.97/13 1.4} 69. Qcg1
{-10.35/12 6} Ncd1 {+10.15/15 4} 70. Qfg3 {-10.40/12 6} Nef5
{+10.10/14 2.1} 71. Qg4 {-10.30/12 6} Nde3 {+10.10/14 2.2} 72. Qb1+
{-10.19/12 6} Nb3 {+10.20/15 2.2} 73. Qgg1 {-10.37/12 6} Nd2
{+10.31/16 1.9} 74. Qa2 d5 {+10.26/15 6} 75. Qa6 {-10.22/11 7} e1=Q
{+10.44/14 2.1} 76. Qxe1 {-10.74/11 7} Nxe1 {+10.69/14 2.6} 77. Qa7
{-10.86/11 8} d4 {+10.82/15 3} 78. Qb8+ {-13.19/11 16} Kc3 {+10.95/13 2.4}
79. Qc8+ {-13.19/10 8} Kb2 {+11.39/13 1.9} 80. Qd8 {-13.19/10 4} d3
{+16.36/14 5} 81. Qh8+ {-22.15/11 7} Nbd4 {+27.28/15 19} 82. Qf8
{-21.87/10 6} N2b3 {+99.81/11 2.7} 83. Qb8 {-327.53/10 6} d2 {+99.81/6 0.1}
84. Qh2 {-327.55/9 6} N1g2 {+99.81/4 0.1} 85. Qg1 {-327.55/9 6} Ng3+
{+99.81/4 0.1} 86. Kh2 Nf3+ {+99.89/11 0.1} 87. Kxg3 {-327.57/9 6} Nxg1
{+99.91/6 0.1}
{White resigns} 0-1
Aaron Becker
Posts: 292
Joined: Tue Jul 07, 2009 4:56 am

Re: Daydreamer 1.7

Post by Aaron Becker »

Ok, I've created a preview release of Daydreamer 1.75. This release adds support for the new release of Gaviota tablebases, with on-the-fly bitbase creation. It greatly simplifies the implementation of background tablebase fetching, and should eliminate the timeouts due to threading problems that sometimes occurred in 1.7. It also allows you to set the compression type of your gtbs.

It also improves ctg book support, fixing some bugs in move selection and adding proper support for move annotations. I also fixed an ugly bug in pawn evaluation and simplified some of my pruning and reduction logic.

A win32 binary is available here. This isn't an optimized compile, so if it's not quite as strong as 1.7 it doesn't necessary indicate a problem.
Elorejano
Posts: 101
Joined: Sat Mar 20, 2010 3:31 am

Re: Daydreamer 1.7

Post by Elorejano »

Hi, Aaron!
Ive tried your new version
1) polyglots books: seems that all are ok.
2)ctg books: theres something wrong. Agreed with the behavior, DD must to play green moves but here plays blue moves when greens are available.
Ive used H12Book.ctg, DD with whites
1. d4 d5 2. Nc3??
2.Nc3 are a blue move, and in H12Book appear 2.c4!! and 2. Nf3.
2.Nc3? (blue) appear in the book with 0%, 2.c4!! (green) with 91% and 2.Nf3 (green) with 9%
I have the logs, if you want, i can send to you.
Another strange thing: i have my egbb package in c:\egbb, but DD dont read those, and my egbb.dll are right
465705.437 Engine->Adapter: uciok
465705.437 Adapter->Engine: setoption name Hash value 128
465705.437 Adapter->Engine: setoption name Ponder value true
465705.437 Adapter->Engine: setoption name OwnBook value true
465705.437 Adapter->Engine: setoption name Book file value Book.bin
465705.437 Adapter->Engine: setoption name Use Gaviota tablebases value true
465705.437 Adapter->Engine: setoption name Gaviota tablebase path value E:\gtb
465705.437 Adapter->Engine: setoption name Use Scorpio bitbases value true
465705.437 Adapter->Engine: setoption name Scorpio bitbase path value c:\egbb
465705.437 Adapter->Engine: isready
465705.937 Engine->Adapter: info string Failed to load egbb from .\.
465705.937 Engine->Adapter: info string Failed to load egbb from c:\egbb.
The last: see this position

4k3/4p3/8/8/p7/8/3BN3/4K3 w - - 0 1
Gaviota in seconds see mate in 23
Why not DD?
Sorry for long post
Regards
Aaron Becker
Posts: 292
Joined: Tue Jul 07, 2009 4:56 am

Re: Daydreamer 1.7

Post by Aaron Becker »

Elorejano wrote:Hi, Aaron!
Ive tried your new version
1) polyglots books: seems that all are ok.
2)ctg books: theres something wrong. Agreed with the behavior, DD must to play green moves but here plays blue moves when greens are available.
Ive used H12Book.ctg, DD with whites
1. d4 d5 2. Nc3??
2.Nc3 are a blue move, and in H12Book appear 2.c4!! and 2. Nf3.
2.Nc3? (blue) appear in the book with 0%, 2.c4!! (green) with 91% and 2.Nf3 (green) with 9%
I have the logs, if you want, i can send to you.
Another strange thing: i have my egbb package in c:\egbb, but DD dont read those, and my egbb.dll are right
465705.437 Engine->Adapter: uciok
465705.437 Adapter->Engine: setoption name Hash value 128
465705.437 Adapter->Engine: setoption name Ponder value true
465705.437 Adapter->Engine: setoption name OwnBook value true
465705.437 Adapter->Engine: setoption name Book file value Book.bin
465705.437 Adapter->Engine: setoption name Use Gaviota tablebases value true
465705.437 Adapter->Engine: setoption name Gaviota tablebase path value E:\gtb
465705.437 Adapter->Engine: setoption name Use Scorpio bitbases value true
465705.437 Adapter->Engine: setoption name Scorpio bitbase path value c:\egbb
465705.437 Adapter->Engine: isready
465705.937 Engine->Adapter: info string Failed to load egbb from .\.
465705.937 Engine->Adapter: info string Failed to load egbb from c:\egbb.
The last: see this position

4k3/4p3/8/8/p7/8/3BN3/4K3 w - - 0 1
Gaviota in seconds see mate in 23
Why not DD?
Sorry for long post
Regards
Hi, Carlos. I really appreciate these detailed bug reports. I'm glad to hear that polyglot books are working for you now.

On the endgame position that you posted, if tablebases are enabled then daydreamer will see that it's a mate right away (score around 30k), but it won't see mate in 23 because I'm using the generated bitbases from the gtbs instead of depth-to-mate information, unless the root position can be located in the tablebases. This means that the engine will pick correct moves, but it won't announce long mates. I hadn't thought about this problem until you brought it up, but I will try to think of a way to use the more efficient bitbases while searching, but still get the nice mate information from the tablebases when it's time to report the pv. This feature might have to wait a bit, though.

On the Scorio bitbase problem, I think I know what's wrong. I've posted a new test binary here. It has some additional debugging code in it, so that if it doesn't solve the problem I should be able to figure out what's wrong by looking at the output.

I've also added extra code that will help me figure out the ctg problem. If you send me the complete engine output from a position where it makes a wrong move from book, I should be able to see what's happening. It will be somewhat easier for me if you use a book that I can download freely, so I can experiment with it on my end as well. I've been doing my testing using Perfect 15.ctg and Fritz10.ctg, so if you have either of those, or know of a small free book somewhere, that would be ideal. If not, I can try to figure out the problem from your description and the output logs.

Thanks again for your help; I hope this version works somewhat better for you.

Aaron