Search Algorithm

Discussion about development of draughts in the time of computer and Internet.
Post Reply
BertTuyt
Posts: 1592
Joined: Wed Sep 01, 2004 19:42

Re: Search Algorithm

Post by BertTuyt » Thu Feb 21, 2013 20:10

And here 2 relevant header files CEngineDefinitions.h and CEngineDef.h

Bert
Attachments
cEngineDef-HeaderFiles.zip
(14.29 KiB) Downloaded 238 times

BertTuyt
Posts: 1592
Joined: Wed Sep 01, 2004 19:42

Re: Search Algorithm

Post by BertTuyt » Sun Feb 24, 2013 15:20

Herewith the result of the 22-ply match Horizon (Horizon Evaluation - Damage Search) - Kingsrow 10 min.

Code: Select all

Depth     ELO     W     L    D      U     P
14        191     80    1    77     0     0,25
16        114     52    2    104    0     0,34
18        55      29    4    125    0     0,42
20        58      28    2    128    0     0,42  
22        20      13    4    141    0     0,47      
Think the curve shows both diminishing returns, as a diminishing advantage of the Damage Evaluation compared with Horizon.
Hope someone is able to analyze the games lost by Horizon, and indicate which specific long-term knowledge is lacking.
As usual all files attached.

I will now focus on removing garbage from the CSearch class, so I can publish it on short notice.

Bert
Attachments
Fixed Depth MutiCore.xls
(64.5 KiB) Downloaded 246 times
dxpgames_H10P22.pdn
(158.06 KiB) Downloaded 242 times
DDD-20130224.png
DDD-20130224.png (17.18 KiB) Viewed 8541 times
Last edited by BertTuyt on Mon Feb 25, 2013 19:22, edited 1 time in total.

Krzychumag
Posts: 145
Joined: Tue Sep 01, 2009 17:31
Real name: Krzysztof Grzelak

Re: Search Algorithm

Post by Krzychumag » Sun Feb 24, 2013 17:29

Hi Bert.

Bert and you can make available Hybrid version ( Horizon 4.0).

-- Krzysztof.

BertTuyt
Posts: 1592
Joined: Wed Sep 01, 2004 19:42

Re: Search Algorithm

Post by BertTuyt » Mon Feb 25, 2013 19:21

Krzysztof,

the Horizon 4.1 version, including all sources (also with all the required files for the Visual Studio Project) will most likely be available mid March, so in 2 - 3 weeks.

Bert

BertTuyt
Posts: 1592
Joined: Wed Sep 01, 2004 19:42

Re: Search Algorithm

Post by BertTuyt » Wed Feb 27, 2013 22:43

Herewith the CHorizonEvaluation class, based on the evaluation function of Feike Boomstra.
I only added a Damage wrapper, and slightly changed the code related to several symmetry bugs..

The last class I will forward is the CSearch class (where I'm still in a cleaning mode)...

Bert
Attachments
CHorizonEvaluation.zip
(45.83 KiB) Downloaded 264 times

BertTuyt
Posts: 1592
Joined: Wed Sep 01, 2004 19:42

Re: Search Algorithm

Post by BertTuyt » Sat Mar 02, 2013 17:06

As already mentioned , I will post in the next week(s) the Horizon 4.1 Engine, the remaining CSearch class, and a (.zip) file containing all the Horizon 4.1 Visual Studio 2008 project files.
Next to that I want to store "somewhere" in the cloud the Database files.
So for this I need help, i think 5G is common available nowadays, so providing access to the full 6P DB might be easy.
But I'm not sure if there are already options for more (like 40G - 50G) in this case I'm able also to share with you the 7P DB.
Also for people who want to use their own Engine, as the DB-handler source code is already made available , it would be straightforward to include it in your own program.
So I need your advice here, for a recommendation for cloud storage...

Bert

Krzychumag
Posts: 145
Joined: Tue Sep 01, 2009 17:31
Real name: Krzysztof Grzelak

Re: Search Algorithm

Post by Krzychumag » Sat Mar 02, 2013 19:00

Bert ask taste here mega.co.nz.

--Krzysztof.

BertTuyt
Posts: 1592
Joined: Wed Sep 01, 2004 19:42

Re: Search Algorithm

Post by BertTuyt » Sat Mar 02, 2013 20:00

The Horizon 4.1 version played a 10 Min 158 games Match against Kingsrow ( also 10 min).
The match result from the perspective of Kingsrow, 31 Win, 2 Lost and 125 Draw.
This yields an ELO difference of 63.
The previous fixed ply search matches already revealed that the Horizon evaluation is not as good as Damage.
Also the evaluation is quite computation heavy as the overall nodes/sec is (only) around 1.5 M.

So room for improvement... (version 4.2 :) )
I will take a look at the speed increase opportunities.
For those interested the match files.
Maybe some one can find some overall missing features which could/should be added in the evaluation.

As also discussed I will release this version soon with all related source files..

Bert
Attachments
dxpgames_H10K10.pdn
(158.55 KiB) Downloaded 223 times

BertTuyt
Posts: 1592
Joined: Wed Sep 01, 2004 19:42

Re: Search Algorithm

Post by BertTuyt » Sat Mar 02, 2013 20:52

In the mean time Im trying Dropbox, i might also explore others as i dont have any experience so far.
Anyway if you drop me an email or private message, i can forward you the link to the 6P DB (as Dropbox free has a maximum of 5G).
If things work according plan, I might also add all other stuff there........
So If you are also a Dropbox user I can give also sharing access.

Bert

BertTuyt
Posts: 1592
Joined: Wed Sep 01, 2004 19:42

Re: Search Algorithm

Post by BertTuyt » Sat Mar 02, 2013 21:12

For those who want to analyze the Horizon 4.1 - Kingsrow match and wonder "what was Horizon thinking",
herewith the Dropbox link to the log-file (31M download):

https://www.dropbox.com/sh/2sli5xcnhmpy8wx/zaxuVRAiUV?m

As im new to this, just let me know if this work, so I can add more laterzzzzz.

Bert
Last edited by BertTuyt on Sat Mar 02, 2013 22:39, edited 1 time in total.

BertTuyt
Posts: 1592
Joined: Wed Sep 01, 2004 19:42

Re: Search Algorithm

Post by BertTuyt » Sat Mar 02, 2013 22:33

Here the sources I posted so far....

https://www.dropbox.com/sh/sf7ynwmgo8ljf2j/6HkUp4CBwV?m

Bert

BertTuyt
Posts: 1592
Joined: Wed Sep 01, 2004 19:42

Re: Search Algorithm

Post by BertTuyt » Sat Mar 02, 2013 22:38


Walter Thoen
Posts: 44
Joined: Wed Nov 17, 2010 13:26
Real name: Walter Thoen

Re: Search Algorithm

Post by Walter Thoen » Sun Mar 03, 2013 11:58

Bert,

I am using Skydrive for some of my projects. You get 7GB free (max file size is 2GB). The pricing for additional GB is reasonable.

One of my goal is to allow users to query end game databases online in a similar manner to http://www.shredderchess.com/online-che ... abase.html Therefore, I would be very interested in getting your 7p databases. I already had a good look at the CDatabase64 code to try to understand how the score for a position is retrieved.

I would also be very interested in any source code that you could make available to generate additional databases (8p, killer etc.). I think that hardware-wise we are at a point where 10p databases should be possible. From a technical point of view I am very interested to try out if using a Xeon Phi Co-processor could speed database generation up or not.

Regards,
Walter

BertTuyt
Posts: 1592
Joined: Wed Sep 01, 2004 19:42

Re: Search Algorithm

Post by BertTuyt » Sun Mar 03, 2013 13:42

Walter, thanks for your suggestion.
In the mean time Dropbox seems to work in a reasonable way, but I'm sure i will test some alternatives.

Herewith the link for the 6P databases, which also work on the current Horizon version.
Just put all files in your local Databases directory.
The Engine (if it works according plan) will automatically recognize this.
So if you did , please drop me a line , so I can get a clue....

https://www.dropbox.com/sh/30f6gtvmq9nn8v9/HRZ-rDX78C?m

For 7P I need 30G-35G and i couldn't find a provider so far who could host this for free.

My DB Generator was "very much" based on the work on Michel, so i leave it up to him if he want to share code.
If so I can always upload it to my Dropbox account, so all can access.

I hope more programmers will share ideas, sources, so we can make a quantum leap in computer draughts programming.
You can always sent sources to me so i can upload them, or use your own hosting side.

So i really like initiatives of Feike (a pity he is no longer with us) and Rein.
If we keep working on isolated secret islands we will never really progress in this domain.

Bert

BertTuyt
Posts: 1592
Joined: Wed Sep 01, 2004 19:42

Re: Search Algorithm

Post by BertTuyt » Sun Mar 03, 2013 16:13

In the meantime I also installed SkyDrive (but not used it so far).
Basically if we would join with 5 users we would have 5 * 7 = 35G, which would be sufficient to host (for free) all 7P DB's.
I was questioning if someone (other than Gerard, who uses a very efficient compression scheme) has a 7P which is significant smaller.
It is evident that for 8P this does not work.

Although for $50 a month or so, one could get 500G which is sufficient to host a 8P DB (any idea what download time would be associated with this??),
but for a hobby for which I don't earn money this is a "bridge to far",
and I agree that the approach to use mobile HD's (like Ed) is the preferred option as of today.

The standard approach to reduce size and improve compression is to omit positions where the side to move has a capture.
One could add to that the restriction that also the other side should not have a capture.
This could potentially further improve compression.

The drawback is that in some positions a small search is needed to retrieve the DB-score.
On the other hand, cache misses could be reduced (if the total DB is significant smaller), so the time penalty could be acceptable.

Did someone ever test this idea, and/or have a clue about the gain possible.
If i remember well this was mentioned (an/or implemented) by the Chinook team(s)....

So to capture all above:
- Sharing a 6P DB is easy and without a fee involved (as I shared the 6P DB on Dropbox)
- The 7P DB needs some cooperation between several users, or finding some new compression techniques, but is doable (even without a fee).
Or a very small fee (think dropbox asks $10 for 100G/Month).
If we would standardize and communicate the DB-format, share the code for the DB-handler, all engines could benefit from this.
Next to that, programmers dont need to run computers for days/weeks/.... to generate these DB's.
- On-line distribution of the 8P seems not feasible and/or practically today (or for now not the preferred way) due to costs and/or download time (but i need to better quantify this).

Bert

Post Reply