Kingrsow, Damage, Dragon
Kingrsow, Damage, Dragon
Hi dear programmers.
I saw and thought about all the games you played between you and the target of each of you to get the best program it mean, faster, with a better Elo different to the others. That is a good war.
I have so some questions for you:
First: a good opening book permit to have a good middle game and of course a good endgame.
do you think that an opening is better than another? classical ,weiss or Roozenburg or keller? or closed games are there better than opened games? Truus has this option.
Second :how to find the best move ?, 1) search deeper that possible, 2) take to account the strategical position like weiss, half classical...
Third: Wath did you think about using brutus force or play strategically? Or have a search with a big node/sec is it the signe of big strength ?
Fourth and last: parallele search, that is mean that the same position is calculated separately or is calculated in continiuty? and how is it apply to play the best move.
Thank, Catherine.
I saw and thought about all the games you played between you and the target of each of you to get the best program it mean, faster, with a better Elo different to the others. That is a good war.
I have so some questions for you:
First: a good opening book permit to have a good middle game and of course a good endgame.
do you think that an opening is better than another? classical ,weiss or Roozenburg or keller? or closed games are there better than opened games? Truus has this option.
Second :how to find the best move ?, 1) search deeper that possible, 2) take to account the strategical position like weiss, half classical...
Third: Wath did you think about using brutus force or play strategically? Or have a search with a big node/sec is it the signe of big strength ?
Fourth and last: parallele search, that is mean that the same position is calculated separately or is calculated in continiuty? and how is it apply to play the best move.
Thank, Catherine.
Re: Kingrsow, Damage, Dragon
Herewith a few Damage answers.
In general for Damage the opening choice is not very relevant, as the search is deep enough to find combinations and the evaluation function recognizes many concepts as you mentioned. Next to that with Drop-Out-Expansion very solid and large opemings books can be generated.
Basically the program does not have a notion if the postion is weiss half-classical or whatever. The search only optimizes the evaluation score, and is in general not aware which underlying specific evaluation concept is involved. I guess it would be interesting to see if programs play better if specific evaluation knowlegde is passed towards the search-routine, to determine to search deeper in specific cases (or to apply a selective search, based on a limited number of defined moves).
In general a deeper search yields a better move. And searching deep enough will result in the perfect move. If 2 programs always play perfect moves the outcome will be most likely a draw.
None of the programs play brute-force. Next to alfa beta search or MTD-f most program apply selective pruning and/or selective extensions, to make the search more efficient. Here some known algorithms are LMR (Late-Move-Reduction), SE (Singular Extensions), FHR (Fail High Reduction), MCP (Multi Cut Pruning), Razoring, .... Also a common used method is not to count a ply if there is only one move possible (mostly a capture), and promotions.
A big node/sec does not make sense, if you search the wrong nodes, and/or the evaluation function is very limited.
In parallel search you devide search taks amongst different cores (or processors), so all cores work simultaniously on the search problem.
Bert
In general for Damage the opening choice is not very relevant, as the search is deep enough to find combinations and the evaluation function recognizes many concepts as you mentioned. Next to that with Drop-Out-Expansion very solid and large opemings books can be generated.
Basically the program does not have a notion if the postion is weiss half-classical or whatever. The search only optimizes the evaluation score, and is in general not aware which underlying specific evaluation concept is involved. I guess it would be interesting to see if programs play better if specific evaluation knowlegde is passed towards the search-routine, to determine to search deeper in specific cases (or to apply a selective search, based on a limited number of defined moves).
In general a deeper search yields a better move. And searching deep enough will result in the perfect move. If 2 programs always play perfect moves the outcome will be most likely a draw.
None of the programs play brute-force. Next to alfa beta search or MTD-f most program apply selective pruning and/or selective extensions, to make the search more efficient. Here some known algorithms are LMR (Late-Move-Reduction), SE (Singular Extensions), FHR (Fail High Reduction), MCP (Multi Cut Pruning), Razoring, .... Also a common used method is not to count a ply if there is only one move possible (mostly a capture), and promotions.
A big node/sec does not make sense, if you search the wrong nodes, and/or the evaluation function is very limited.
In parallel search you devide search taks amongst different cores (or processors), so all cores work simultaniously on the search problem.
Bert
Re: Kingrsow, Damage, Dragon
Thank Bert for taking time to answer to my questions.
Now i understand many things.
It certainly sure that Damage is very strong now. 8 piece egdb is it in your task to do? How is now his evaluation fonction ?
Thank again.
Catherine.
Now i understand many things.
It certainly sure that Damage is very strong now. 8 piece egdb is it in your task to do? How is now his evaluation fonction ?
Thank again.
Catherine.
Re: Kingrsow, Damage, Dragon
Basically Damage did not improve very much the last 2 years.
Based upon the inactivity in this forum, Im not alone in limited progress, or everyone is working on secret projects
In my case I still work on a ad-hoc basis on the Damage GUI. Sometimes a change something (like DXP impelementation), where Krzysztof supports me with testing (thanks Krzysztof!), but no major breakthroughts.
With respect to the Damage Engine I only focus on the evaluation function these days. The 8P Database is not on my priority list. So my main activity this year (2015) is the evaluation function.
Im working now on a self-learning and self-optimization of the evaluation function. This was something I wanted to do for a long time. So far I always optimized the evaluation function manually based on specific errors observed during computer matches (with great opponents like Dragon and Kingsrow).
If Im right the first Draughts program who implemented something like this was Psi Force (somewhere end 80s beginning 90s), more recently Dragon used optimzation technologies for the evaluation function (but Im not 100% sure, so Michael could provide more and better information). End the grandfather of Draughts programming Arthur Samuel also applied machine learning of evaluation functions.
Im not sure if this approach will yield any results, as it is not very straightforward.
The code and algorithms for the first tests are in progress, and I hope/expect that in May I might see some first initial results.
If it looks promising (which I doubt) I will certainly post all findings and results in this forum.
Bert
Based upon the inactivity in this forum, Im not alone in limited progress, or everyone is working on secret projects
In my case I still work on a ad-hoc basis on the Damage GUI. Sometimes a change something (like DXP impelementation), where Krzysztof supports me with testing (thanks Krzysztof!), but no major breakthroughts.
With respect to the Damage Engine I only focus on the evaluation function these days. The 8P Database is not on my priority list. So my main activity this year (2015) is the evaluation function.
Im working now on a self-learning and self-optimization of the evaluation function. This was something I wanted to do for a long time. So far I always optimized the evaluation function manually based on specific errors observed during computer matches (with great opponents like Dragon and Kingsrow).
If Im right the first Draughts program who implemented something like this was Psi Force (somewhere end 80s beginning 90s), more recently Dragon used optimzation technologies for the evaluation function (but Im not 100% sure, so Michael could provide more and better information). End the grandfather of Draughts programming Arthur Samuel also applied machine learning of evaluation functions.
Im not sure if this approach will yield any results, as it is not very straightforward.
The code and algorithms for the first tests are in progress, and I hope/expect that in May I might see some first initial results.
If it looks promising (which I doubt) I will certainly post all findings and results in this forum.
Bert
Re: Kingrsow, Damage, Dragon
Thank Bert
So Damage evaluation function, is in progress. You have right do improve it because, and it is true, even if you have a big edgb but you have a bad evaluation function, it clear that you will lose vs another program wich have a strong and stable evaluation function.
Like you said, you are not alone in limited progress. But we are happy to see that you support us with your sincer answets, without mask anything.
1 last question, i will ask it because something is unjust for my point of view (you are absolutely not concerned by this disappointment), and i will write it after your answer.
1) If a programmer sell his program or a version of it, this last one, is it forbidden to participate to a computer tournament?
Thank, Catherine.
So Damage evaluation function, is in progress. You have right do improve it because, and it is true, even if you have a big edgb but you have a bad evaluation function, it clear that you will lose vs another program wich have a strong and stable evaluation function.
Like you said, you are not alone in limited progress. But we are happy to see that you support us with your sincer answets, without mask anything.
1 last question, i will ask it because something is unjust for my point of view (you are absolutely not concerned by this disappointment), and i will write it after your answer.
1) If a programmer sell his program or a version of it, this last one, is it forbidden to participate to a computer tournament?
Thank, Catherine.
Re: Kingrsow, Damage, Dragon
If a programmer sells his Engine he is still allowed to play in computer tournaments.
In the past this was done with Truus and Flits, and more recently Kingsrow and Dragon.
In general the own engines, are often a little stronger in comparison with the commercial versions.
Main reason is the use of extensive tables, which require computer resources the average PC owner does not posess.
Bert
In the past this was done with Truus and Flits, and more recently Kingsrow and Dragon.
In general the own engines, are often a little stronger in comparison with the commercial versions.
Main reason is the use of extensive tables, which require computer resources the average PC owner does not posess.
Bert
Re: Kingrsow, Damage, Dragon
Hi Bert
Thank for this answer. I want to write about share spirit. You and almost all programer on this forum shared or selled at least a version of his program, ie Damage 5.0, 2000, horizon with Damage eval fucntion, Kingrsow, Dragon 2.41, 4.4.0, Truus, Flits, Maximus for android. Dam 2.2 , very strong but free with all 6 egdb ..
But, not to attak anyone, just a remark, Buggy and Damy are not accessible.
Gerard of Damy wrote on ffjd (french draughts federation) that he refuse to sell or share a version of Damy because
1) for him Damy is not ready yet. And run only on 64 bits because he runed ut on 32 bits, and after Culemborg 2007, Ed told to him that, run a program on 64 bits increase his strength.
I think that a program cant be ready, there is alway update to do. We see it with Damage, Kingrsow and Dragon.
2) He refuse that it opponent programmers see weakness or examine Damy to beat him in tournament.
I think that it is not an excuze, himself wrote that he took Flits to train Damy and that he implemented Kingrsow's playing plan into Damy.
I think that if Flits and Kingrsow programmers refused to share or sell their program, how can he have opportunity to test his program and improve it.
Thank
Thank for this answer. I want to write about share spirit. You and almost all programer on this forum shared or selled at least a version of his program, ie Damage 5.0, 2000, horizon with Damage eval fucntion, Kingrsow, Dragon 2.41, 4.4.0, Truus, Flits, Maximus for android. Dam 2.2 , very strong but free with all 6 egdb ..
But, not to attak anyone, just a remark, Buggy and Damy are not accessible.
Gerard of Damy wrote on ffjd (french draughts federation) that he refuse to sell or share a version of Damy because
1) for him Damy is not ready yet. And run only on 64 bits because he runed ut on 32 bits, and after Culemborg 2007, Ed told to him that, run a program on 64 bits increase his strength.
I think that a program cant be ready, there is alway update to do. We see it with Damage, Kingrsow and Dragon.
2) He refuse that it opponent programmers see weakness or examine Damy to beat him in tournament.
I think that it is not an excuze, himself wrote that he took Flits to train Damy and that he implemented Kingrsow's playing plan into Damy.
I think that if Flits and Kingrsow programmers refused to share or sell their program, how can he have opportunity to test his program and improve it.
Thank
-
- Posts: 1368
- Joined: Thu Jun 20, 2013 17:16
- Real name: Krzysztof Grzelak
Re: Kingrsow, Damage, Dragon
Catherine can write where you read a statement Gerarda.
Re: Kingrsow, Damage, Dragon
If i dont mistake you can also find Cerberus from Leo Nagels on the internet.
I respect every decision from a programmer, and people have different objectives like sharing (including source), selling, or just keep it for personnel use. And dont forget the DamExchange protocol from Frank Mesander which really created a breakthough, and is now the defacto standard and enables automatic game play.
To a lesser extend I think the work of Ed and myself with respect to the DXP-Clients for Truus and Flits could also be mentioned.
I also would like to thank Harm Jetten, as his free program Dam 2.x in many languages was and is most likely the
most used and downloaded Draughts program ever.
And last but not least I consider the legacy of Feike Boomstra a great gift towards our Computer Draughts Community.
In my case I like sharing , also source code, and discuss new ideas (which in general do not work).
Im glad that Rein has the same approach, which I really value.
Also Michael shared much source code in the past (as an example the endgame generator for 6P, and many 6P databases was mainly based on his code).
Writing a bug-free program which can be used on many platforms and is robust and reliable, is not an easy task. And therefore Im really glad that some programmers invested quite some time in this, and in a later stage sold their program (Truus, Flits, Kingsrow, and Dragon). Without them and without DXP i think Computer Draughts progress would be very slow.
So there might be good reasons for Gerard not no share code, and/or not to participate in Tournaments any more. And there is nothing wrong with that. This is a (weird) hobby, and people are different and have different reasons to do this, and also different energy sources.
Im also not a frequent participant in tournaments. The reason in my case is that I want to test and implement new ideas, and when I have a completely new version, Im curious about the strength compared with others, and I join a tournament.
As I made limited progress the last years (although I work on the Damage Engine and GUI on a daily basis) I was mainly behind the drawing table.
Also here other people might have a different approach, and always (or often) participate with the same program. And there is nothing wrong with this. I also consider the Draughts community as a familiy, and most of the programmers I know for 25 years now. And seeing each other , (and confirming that in our case time is also not kind to us), is always a pleasure
So what do I miss these days.
At least the discussions in this forum. Its a pity that the people who are actively contributing are reducing.
And without discussions, and sharing of weird/briljant/stupid ideas, we will not make much progress (as I believe we did not reach perfection yet).
I also think it is a pity that retired programmers, who also dont sell their programs any more (Like Stef with Truus and/or Adri with Flits) dont share their source code. Im sure every program has a few (or multiple) interesting ideas worth sharing, and worth implementing. This way the briljant secrets will be taken to the grave finally, and we will never know what Truus or Flits made so special in their days when they were unbeatable.
As previously mentioned, I focus these days on learning and optimization algorithms for the evaluation function. And although it might not be succesfull in the end, I will in time share all, so others can built on this, improve, suggest, and we might make this work. So we boldly go where no man has gone before.
Bert
I respect every decision from a programmer, and people have different objectives like sharing (including source), selling, or just keep it for personnel use. And dont forget the DamExchange protocol from Frank Mesander which really created a breakthough, and is now the defacto standard and enables automatic game play.
To a lesser extend I think the work of Ed and myself with respect to the DXP-Clients for Truus and Flits could also be mentioned.
I also would like to thank Harm Jetten, as his free program Dam 2.x in many languages was and is most likely the
most used and downloaded Draughts program ever.
And last but not least I consider the legacy of Feike Boomstra a great gift towards our Computer Draughts Community.
In my case I like sharing , also source code, and discuss new ideas (which in general do not work).
Im glad that Rein has the same approach, which I really value.
Also Michael shared much source code in the past (as an example the endgame generator for 6P, and many 6P databases was mainly based on his code).
Writing a bug-free program which can be used on many platforms and is robust and reliable, is not an easy task. And therefore Im really glad that some programmers invested quite some time in this, and in a later stage sold their program (Truus, Flits, Kingsrow, and Dragon). Without them and without DXP i think Computer Draughts progress would be very slow.
So there might be good reasons for Gerard not no share code, and/or not to participate in Tournaments any more. And there is nothing wrong with that. This is a (weird) hobby, and people are different and have different reasons to do this, and also different energy sources.
Im also not a frequent participant in tournaments. The reason in my case is that I want to test and implement new ideas, and when I have a completely new version, Im curious about the strength compared with others, and I join a tournament.
As I made limited progress the last years (although I work on the Damage Engine and GUI on a daily basis) I was mainly behind the drawing table.
Also here other people might have a different approach, and always (or often) participate with the same program. And there is nothing wrong with this. I also consider the Draughts community as a familiy, and most of the programmers I know for 25 years now. And seeing each other , (and confirming that in our case time is also not kind to us), is always a pleasure
So what do I miss these days.
At least the discussions in this forum. Its a pity that the people who are actively contributing are reducing.
And without discussions, and sharing of weird/briljant/stupid ideas, we will not make much progress (as I believe we did not reach perfection yet).
I also think it is a pity that retired programmers, who also dont sell their programs any more (Like Stef with Truus and/or Adri with Flits) dont share their source code. Im sure every program has a few (or multiple) interesting ideas worth sharing, and worth implementing. This way the briljant secrets will be taken to the grave finally, and we will never know what Truus or Flits made so special in their days when they were unbeatable.
As previously mentioned, I focus these days on learning and optimization algorithms for the evaluation function. And although it might not be succesfull in the end, I will in time share all, so others can built on this, improve, suggest, and we might make this work. So we boldly go where no man has gone before.
Bert
-
- Posts: 1368
- Joined: Thu Jun 20, 2013 17:16
- Real name: Krzysztof Grzelak
Re: Kingrsow, Damage, Dragon
Great too bad that other programmers do not make their programs under Windows. He purchased willingly (bought programmes) Maximus,Damy,Damage,Sjende Blyn,TD King.
Re: Kingrsow, Damage, Dragon
Hi Bert
Your text is fine, nothing to add!!!
Thank for taking time to answers. You have right when you said that all programmers on this community haven't the same reasons to be here.
I appreciate what You, Ed, Michael, Rein doing on this forum even if, like you wrote, the forum isn't more active now.
Thank for the share spirit that you.
i think that with persons like you, without forget those recognize themselve in what you are doing, computers and human draughts players can be more stronger.
I am so excited at the idea to see in a tournament great programs like Damage, Kingrsow and Dragon.
Good work for Damage .
God bless you.
--Catherine.
Your text is fine, nothing to add!!!
Thank for taking time to answers. You have right when you said that all programmers on this community haven't the same reasons to be here.
I appreciate what You, Ed, Michael, Rein doing on this forum even if, like you wrote, the forum isn't more active now.
Thank for the share spirit that you.
i think that with persons like you, without forget those recognize themselve in what you are doing, computers and human draughts players can be more stronger.
I am so excited at the idea to see in a tournament great programs like Damage, Kingrsow and Dragon.
Good work for Damage .
God bless you.
--Catherine.
-
- Posts: 1368
- Joined: Thu Jun 20, 2013 17:16
- Real name: Krzysztof Grzelak
Re: Kingrsow, Damage, Dragon
I have a question Bert. Before you answer, please consider itself across a moment and answer honestly and seriously. Do you share the engine Damage people.
Re: Kingrsow, Damage, Dragon
I'm still intending to make Damage available.
However so far Damage is mainly meant as a study project, and the resources needed to run the program are very large.
I need to optimize this so sharing makes sense.
However, most likely the version I will share will have a different evaluation.
The Computer Tournament tournament version is 12.6.
I will work on a new evaluation based on learning.
I already started this, but for the tournament I focused on a stable older version.
However people like Fabien and Michel motivated me, to also go the evaluation learning path.
And I'm aiming to distribute this version eventually.
But I don't have a detailed timing as also work consumes time.
And I also want to write some articles for the ICGA journal.
Bert
However so far Damage is mainly meant as a study project, and the resources needed to run the program are very large.
I need to optimize this so sharing makes sense.
However, most likely the version I will share will have a different evaluation.
The Computer Tournament tournament version is 12.6.
I will work on a new evaluation based on learning.
I already started this, but for the tournament I focused on a stable older version.
However people like Fabien and Michel motivated me, to also go the evaluation learning path.
And I'm aiming to distribute this version eventually.
But I don't have a detailed timing as also work consumes time.
And I also want to write some articles for the ICGA journal.
Bert
-
- Posts: 1368
- Joined: Thu Jun 20, 2013 17:16
- Real name: Krzysztof Grzelak
Re: Kingrsow, Damage, Dragon
A very diplomatic answer you give. When Bert share with the engine Damage please specific date.BertTuyt wrote:I'm still intending to make Damage available.
However so far Damage is mainly meant as a study project, and the resources needed to run the program are very large.
I need to optimize this so sharing makes sense.
However, most likely the version I will share will have a different evaluation.
The Computer Tournament tournament version is 12.6.
I will work on a new evaluation based on learning.
I already started this, but for the tournament I focused on a stable older version.
However people like Fabien and Michel motivated me, to also go the evaluation learning path.
And I'm aiming to distribute this version eventually.
But I don't have a detailed timing as also work consumes time.
And I also want to write some articles for the ICGA journal.
Bert