Search Algorithm
Re: Search Algorithm
And here 2 relevant header files CEngineDefinitions.h and CEngineDef.h
Bert
Bert
- Attachments
-
- cEngineDef-HeaderFiles.zip
- (14.29 KiB) Downloaded 269 times
Re: Search Algorithm
Herewith the result of the 22-ply match Horizon (Horizon Evaluation - Damage Search) - Kingsrow 10 min.
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
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
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 277 times
-
- dxpgames_H10P22.pdn
- (158.06 KiB) Downloaded 273 times
-
- DDD-20130224.png (17.18 KiB) Viewed 9061 times
Last edited by BertTuyt on Mon Feb 25, 2013 19:22, edited 1 time in total.
-
- Posts: 145
- Joined: Tue Sep 01, 2009 17:31
- Real name: Krzysztof Grzelak
Re: Search Algorithm
Hi Bert.
Bert and you can make available Hybrid version ( Horizon 4.0).
-- Krzysztof.
Bert and you can make available Hybrid version ( Horizon 4.0).
-- Krzysztof.
Re: Search Algorithm
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
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
Re: Search Algorithm
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
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 296 times
Re: Search Algorithm
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
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
-
- Posts: 145
- Joined: Tue Sep 01, 2009 17:31
- Real name: Krzysztof Grzelak
Re: Search Algorithm
Bert ask taste here mega.co.nz.
--Krzysztof.
--Krzysztof.
Re: Search Algorithm
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
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 256 times
Re: Search Algorithm
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
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
Re: Search Algorithm
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
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.
-
- Posts: 44
- Joined: Wed Nov 17, 2010 13:26
- Real name: Walter Thoen
Re: Search Algorithm
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
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
Re: Search Algorithm
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
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
Re: Search Algorithm
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
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