Page 1 of 1

Announcing Daydreamer 1.5

Posted: Fri Sep 04, 2009 8:44 am
by Aaron Becker
Image
Daydreamer 1.5 (UCI), by Aaron Becker
http://github.com/AaronBecker/daydreamer

I'm pleased to announce a new release of my chess engine, Daydreamer. The biggest improvements from version 1.0 include a simple hashed pawn evaluation, king safety evaluation, thoroughly reworked and improved move ordering, and futility pruning. I also improved the board representation and move generation, but the gains in nodes/s were far outstripped by improvements in move ordering and pruning.

I released the initial version of Daydreamer fairly recently. If I had realized how quickly I could get through the top items on my TODO list and how much strength they would add, I would have waited. Instead I'm making this 1.5 release now, which should be the only feature release for some time.

Here are the scores Daydreamer 1.5 achieved against a variety of engines in some fast testing matches I've conducted, just to give you a rough idea of the strength of the new release:

Code: Select all

    Diablo 0.5.1    +30-20=0    30.0/50
    Dirty ACCA 3    +32-13=5    34.5/50
    Greko 6.5       +29-10=11   34.5/50
    Sungorus 1.2    +24-13=13   30.5/50
    Romichess P3K   +17-26=7    20.5/50
    Bison 9.6       +5-34=11    10.5/50
Source code (with full revision history) and binaries for Windows and Mac are available on the engine's site, linked above. Let me know if you have any problems.

Finally, I'd like to take just a moment to thank Tord Romstad for his open source engine, Viper. The fast progress I've made was facilitated by digging into Viper's source and tinkering with it, printing out diagnostics and taking various features out to see how it was searching such a small tree compared to Daydreamer. I appreciate the time and effort you put into making Viper relatively small and accessible yet still strong. Thanks also to the authors of cutechess-cli for making a very handy testing tool and to the authors of the engines I've tested against.

Re: Announcing Daydreamer 1.5

Posted: Sat Sep 05, 2009 12:07 am
by Graham Banks
Thanks for your engine Aaron.

Re: Announcing Daydreamer 1.5

Posted: Sat Sep 05, 2009 4:07 am
by swami
Thanks, Aaron, for the new update.

What a stylish analysis output, I totally love it! 8-)

Re: Announcing Daydreamer 1.5

Posted: Sat Sep 05, 2009 6:07 am
by swami
Daydreamer 1.5

Strategic Test Suite Conditions:
Arena GUI
10 seconds per position
500 positions
Core2Quad 32 bits, Q6600, 2 GB RAM, 2.4GHZ
Engine uses 130 Mb Hash.
Subject-wise Scores:
STS (v1.0) - Undermining:
62/100, Grade: B

STS (v2.0) - Open Files and Diagonals:
58/100, Grade: C+

STS (v3.0) - Knight Outposts/Centralization/Repositioning:
52/100, Grade: C

STS (v4.0) - Square Vacancy:
59.18/100, Grade: C+

STS (v5.0) - Bishop vs Knight:
50/100, Grade: C
Overall Performance:
Total Score: 281.18/500

Overall Average: 56.23 %

Grade: C+
Note: 2 Questions in STS (v4.0) Square Vacancy are reported to be duplicates, therefore those 2 tests are excluded (new ones for replacement will be added later), Daydreamer scored 58/98 which is about 59.18/100.

Re: Announcing Daydreamer 1.5

Posted: Sat Sep 05, 2009 6:15 am
by swami
Improvement over Previous Version [Daydreamer 1.0]:
  • Code: Select all

    (v1.0) +16 !! 
    (v2.0) +24 !!! 
    (v3.0) +11 !
    (v4.0) +12.18!
    (v5.0) -7
    Performance:

    Code: Select all

    Overall Score Increase: +56.18 !! 
    
    Percentage Increase: +11.23% !!
Observation:

Overall, a very tremendous improvement. Mainly on open files and diagonals and also on undermining. I just noticed that it values Bishop highly and refuses to trade it with opponent's superior/highly purposeful knight when the trade is justified and required.

Regards,
Swami

Re: Announcing Daydreamer 1.5

Posted: Sat Sep 05, 2009 7:01 am
by Aaron Becker
Thanks, Swaminathan. I appreciate the testing, and it's always nice to see scores going up. I'm guessing that the big improvement on open files and diagonals is due to the fact that I do mobility calculations now. The knights vs. bishops issue is a little bit vexing, and it's an issue I've noticed in matches as well. In this version I implemented Larry Kaufman's formulas from his article on evaluating material imbalances, and I think the values might be unhelpful even if the ideas are sound. Either that or I'm scoring the bishop's mobility too high relative to the knight's. In any case, thanks for your work on the test suites.

Re: Announcing Daydreamer 1.5

Posted: Sat Sep 05, 2009 8:05 am
by swami
Aaron Becker wrote:Thanks, Swaminathan. I appreciate the testing, and it's always nice to see scores going up. I'm guessing that the big improvement on open files and diagonals is due to the fact that I do mobility calculations now. The knights vs. bishops issue is a little bit vexing, and it's an issue I've noticed in matches as well. In this version I implemented Larry Kaufman's formulas from his article on evaluating material imbalances, and I think the values might be unhelpful even if the ideas are sound. Either that or I'm scoring the bishop's mobility too high relative to the knight's. In any case, thanks for your work on the test suites.
You're welcome, engine Pupsi also experienced the same problem with knight management, the author had also studied Larry Kauffman's material tables. Maybe it was Larry's old work, he had outlined sound ideas at the time... (which was around 2000's IIRC) but recently he had been working with Vas on Rybka's material tables... Rybka/Deep Fritz score consistently more than 90's in all of the test suites given limited time else 100 when given more time...so I assume Larry has improved the material evaluation idea even further and knight is no more an hampering nightmare. He has not revealed his secret material evaluation ingredient that's already present in Rybka. Something that is somewhat different to his award winning published article years ago :)