ENGINE SPEED AND STRONG

Discussion about development of draughts in the time of computer and Internet.
Post Reply
Joost Buijs
Posts: 471
Joined: Wed May 04, 2016 11:45
Real name: Joost Buijs

Re: ENGINE SPEED AND STRONG

Post by Joost Buijs » Tue Feb 14, 2017 17:15

Strange that it crashes if the egdb path doesn't match, I assume that the egdb driver will take care of it, I guess I have to check the return value of the egdb driver initialization routine.

Ed Gilbert
Posts: 859
Joined: Sat Apr 28, 2007 14:53
Real name: Ed Gilbert
Location: Morristown, NJ USA
Contact:

Re: ENGINE SPEED AND STRONG

Post by Ed Gilbert » Tue Feb 14, 2017 17:57

Joost Buijs wrote:This is an interesting story, I don't know what to think of it.

http://talkchess.com/forum/viewtopic.ph ... w=&start=0
The subject of the post, "Checkers is strongly-solved ...", is very misleading. What he is announcing is that he has built an 8-piece dtw database for English checkers.

-- Ed

Joost Buijs
Posts: 471
Joined: Wed May 04, 2016 11:45
Real name: Joost Buijs

Re: ENGINE SPEED AND STRONG

Post by Joost Buijs » Tue Feb 14, 2017 19:01

Ed Gilbert wrote:
Joost Buijs wrote:This is an interesting story, I don't know what to think of it.

http://talkchess.com/forum/viewtopic.ph ... w=&start=0
The subject of the post, "Checkers is strongly-solved ...", is very misleading. What he is announcing is that he has built an 8-piece dtw database for English checkers.

-- Ed
Indeed, after reading the headline I was perplexed when I read what he actually did, and he build 4-4 only. I assumed this was already done 20 years ago by Schaeffer, now I understand it was WLD only. 'One Jump Ahead' nice read btw.

Joost

Joost Buijs
Posts: 471
Joined: Wed May 04, 2016 11:45
Real name: Joost Buijs

Re: ENGINE SPEED AND STRONG

Post by Joost Buijs » Tue Feb 14, 2017 19:23

Rein Halbersma wrote:
Joost Buijs wrote:This is an interesting story, I don't know what to think of it.

http://talkchess.com/forum/viewtopic.ph ... w=&start=0
What do you mean, Joost? This is a straightforward database computation, 8x8 checkers (not 10x10 draughts!), 8 pieces, could have been done 20 years ago.
Yes, I know, that is why I don't know what to think of it.

Btw. Do you know who rendered the pieces that Bert uses in his GUI, according to Bert it is either you or Wieger Wesselink. And do you know if they are free to use or is there some copyright on them?

Joost

Rein Halbersma
Posts: 1722
Joined: Wed Apr 14, 2004 16:04
Contact:

Re: ENGINE SPEED AND STRONG

Post by Rein Halbersma » Tue Feb 14, 2017 21:33

Joost Buijs wrote:
Rein Halbersma wrote:
Joost Buijs wrote:This is an interesting story, I don't know what to think of it.

http://talkchess.com/forum/viewtopic.ph ... w=&start=0
What do you mean, Joost? This is a straightforward database computation, 8x8 checkers (not 10x10 draughts!), 8 pieces, could have been done 20 years ago.
Yes, I know, that is why I don't know what to think of it.

Btw. Do you know who rendered the pieces that Bert uses in his GUI, according to Bert it is either you or Wieger Wesselink. And do you know if they are free to use or is there some copyright on them?

Joost
I don't know, I am sure I never created any piece images myself :)

TAILLE
Posts: 968
Joined: Thu Apr 26, 2007 18:51
Location: FRANCE

Re: ENGINE SPEED AND STRONG

Post by TAILLE » Wed Feb 15, 2017 00:00

Catherine wrote: This question is for you and all the others programmers:
What are the elements that can do the "perfect engine" this wich can for example will never lose.
It's the hardware on what it's launched, search evaluation, speed of search?

Thank to all

Catherine.
Oops what do you mean by "perfect engine".
Let's assume you have built the 40 pieces egdb (!!!) and you perfectly know that the game will normaly finish with a draw. That way you do not need an eval function but your program will be very weak: it will never lose but it will hardly win because it will be unable to create real difficulties facing a GMI.
It may even happen that, with black side, the program may begin by 1.31-27 16-21??? if it's 40 pieces EGDB tells that the game is still a draw!!!
As you see, if your program participate to a tournament against 11 GMI the program will play 11 draws and will finish near the 6th place. Is it a perfect engine?

In many cases a GMI wins by accepting to play doubful moves (but not losing moves!) in order to avoid simplifications and have better chance to see an error from his opponent. A program has great difficulty to play such doubtful move in order to avoid a simplification hasn't it?

It is exactly the same when a program is facing a weaker program. If the best program do not try to get the game difficult it will hardly win and you will se a lot of draws.
Gérard

Catherine
Posts: 129
Joined: Tue Aug 14, 2012 22:24
Real name: Catherine Bourneuf

Re: ENGINE SPEED AND STRONG

Post by Catherine » Wed Feb 15, 2017 09:36

TAILLE wrote:
Catherine wrote: This question is for you and all the others programmers:
What are the elements that can do the "perfect engine" this wich can for example will never lose.
It's the hardware on what it's launched, search evaluation, speed of search?

Thank to all

Catherine.
Oops what do you mean by "perfect engine".
Let's assume you have built the 40 pieces egdb (!!!) and you perfectly know that the game will normaly finish with a draw. That way you do not need an eval function but your program will be very weak: it will never lose but it will hardly win because it will be unable to create real difficulties facing a GMI.
It may even happen that, with black side, the program may begin by 1.31-27 16-21??? if it's 40 pieces EGDB tells that the game is still a draw!!!
As you see, if your program participate to a tournament against 11 GMI the program will play 11 draws and will finish near the 6th place. Is it a perfect engine?

In many cases a GMI wins by accepting to play doubful moves (but not losing moves!) in order to avoid simplifications and have better chance to see an error from his opponent. A program has great difficulty to play such doubtful move in order to avoid a simplification hasn't it?

It is exactly the same when a program is facing a weaker program. If the best program do not try to get the game difficult it will hardly win and you will se a lot of draws.
Hi Taille,

If a program have the 40 pieces egdb, i suppose that it contain win/draw /loss informations, so if the program see after a few moves an move error from his opponent, it will win.

I think that almost GMI and/or best engine can't play without error until the 50 or 60 first moves.

So if understood what you said, the prefect program must have the 40 egdb and an eval function that manage to reach difficults positions to increase the percentage of mistake from his opponent. Isn't ?
Thank.

Catherine

TAILLE
Posts: 968
Joined: Thu Apr 26, 2007 18:51
Location: FRANCE

Re: ENGINE SPEED AND STRONG

Post by TAILLE » Wed Feb 15, 2017 10:43

Catherine wrote: Hi Taille,

If a program have the 40 pieces egdb, i suppose that it contain win/draw /loss informations, so if the program see after a few moves an move error from his opponent, it will win.

I think that almost GMI and/or best engine can't play without error until the 50 or 60 first moves.

So if understood what you said, the prefect program must have the 40 egdb and an eval function that manage to reach difficults positions to increase the percentage of mistake from his opponent. Isn't ?
Thank.

Catherine
Hi Catherine,

Yes Catherine you have understand my point. If a program have the 40 egdb it cannot win if it simply plays one of the drawing moves by chance. Another mechanism is needed in order to create difficulties for the opponent.
To come back to a realistic situation: take a program A having the 8 egdb playing against a program B having only the 6 egdb and suppose we have already reached a 8 pieces position with a draw theoritical result the question is the following : what search algorithm will you use for program A in order to try and provoque a mistake from your opponent?
If now you have reached a 8x8 positions for which program A is able to conclude it is a draw, how could you extend the previous search in order to try to win?

Currently I am working on my eval function but in parallel I am studying such algorithm.
Gérard

Catherine
Posts: 129
Joined: Tue Aug 14, 2012 22:24
Real name: Catherine Bourneuf

Re: ENGINE SPEED AND STRONG

Post by Catherine » Wed Feb 15, 2017 13:11

TAILLE wrote:
Catherine wrote: Hi Taille,

If a program have the 40 pieces egdb, i suppose that it contain win/draw /loss informations, so if the program see after a few moves an move error from his opponent, it will win.

I think that almost GMI and/or best engine can't play without error until the 50 or 60 first moves.

So if understood what you said, the prefect program must have the 40 egdb and an eval function that manage to reach difficults positions to increase the percentage of mistake from his opponent. Isn't ?
Thank.

Catherine
Hi Catherine,

Yes Catherine you have understand my point. If a program have the 40 egdb it cannot win if it simply plays one of the drawing moves by chance. Another mechanism is needed in order to create difficulties for the opponent.
To come back to a realistic situation: take a program A having the 8 egdb playing against a program B having only the 6 egdb and suppose we have already reached a 8 pieces position with a draw theoritical result the question is the following : what search algorithm will you use for program A in order to try and provoque a mistake from your opponent?
If now you have reached a 8x8 positions for which program A is able to conclude it is a draw, how could you extend the previous search in order to try to win?

Currently I am working on my eval function but in parallel I am studying such algorithm.
Hi Taille

It is true that egdb have a important function into the playing strenght of an engine.
I think that the evaluation based on the goal to reach the max EGDB with optimals egdb moves to force opponent to do a mistake and win itsn't so bad.
It must be the perfect "team" to have the perfect engine.

Thank
Catherine

TAILLE
Posts: 968
Joined: Thu Apr 26, 2007 18:51
Location: FRANCE

Re: ENGINE SPEED AND STRONG

Post by TAILLE » Wed Feb 15, 2017 14:21

Catherine wrote: Hi Taille

It is true that egdb have a important function into the playing strenght of an engine.
I think that the evaluation based on the goal to reach the max EGDB with optimals egdb moves to force opponent to do a mistake and win itsn't so bad.
It must be the perfect "team" to have the perfect engine.

Thank
Catherine
I do not understand your proposal. What do you mean by "max EGDB" and "optimals egdb moves" ?
Gérard
Gérard

Joost Buijs
Posts: 471
Joined: Wed May 04, 2016 11:45
Real name: Joost Buijs

Re: ENGINE SPEED AND STRONG

Post by Joost Buijs » Wed Feb 15, 2017 15:52

Catherine wrote: Hi Joost,

I think that the engine crashed because of the cfg setting with the egdb path wich no matched. Now that i saw how it is, the engine run perfectly.
It seem that the new engine is more stronger, wich all the fings you done and fixed.
Thank again.
Catherine
Hi Catherine, last night I couldn't resist to work somewhat more on the engine. I'm afraid that I'm addicted to work on it. I totally reworked the quiescence search (which is very sensitive to tuning) and I made the pruning more aggressive. With bullet-tests the Elo rating went up by about 25 points, I guess this is as good as it gets, further improvements will have to wait for a next version.

Friday I can work a large part of the day on it and I will try to fix the small issues that still are there. I will add pondering and a console mode to help Krzysztof play his match.

You have to understand that the non BMI version will always be weaker because it is 2 to 3 times as slow as the BMI version, it was never my intention to run the engine on older hardware. Although it is possible to make it somewhat faster by writing a completely different index-function for it, it has no priority what so ever.

Joost

Catherine
Posts: 129
Joined: Tue Aug 14, 2012 22:24
Real name: Catherine Bourneuf

Re: ENGINE SPEED AND STRONG

Post by Catherine » Wed Feb 15, 2017 17:46

Joost Buijs wrote:
Catherine wrote: Hi Joost,

I think that the engine crashed because of the cfg setting with the egdb path wich no matched. Now that i saw how it is, the engine run perfectly.
It seem that the new engine is more stronger, wich all the fings you done and fixed.
Thank again.
Catherine
Hi Catherine, last night I couldn't resist to work somewhat more on the engine. I'm afraid that I'm addicted to work on it. I totally reworked the quiescence search (which is very sensitive to tuning) and I made the pruning more aggressive. With bullet-tests the Elo rating went up by about 25 points, I guess this is as good as it gets, further improvements will have to wait for a next version.

Friday I can work a large part of the day on it and I will try to fix the small issues that still are there. I will add pondering and a console mode to help Krzysztof play his match.

You have to understand that the non BMI version will always be weaker because it is 2 to 3 times as slow as the BMI version, it was never my intention to run the engine on older hardware. Although it is possible to make it somewhat faster by writing a completely different index-function for it, it has no priority what so ever.

Joost
Hi Joost,

Thank very much for advance. You are so excited by the idea to discover how strongest is your engine. Don't worry, i will buy a new hardware this week for use fully the BMI version.
Thank again for you disponility.

Catherine

Joost Buijs
Posts: 471
Joined: Wed May 04, 2016 11:45
Real name: Joost Buijs

Re: ENGINE SPEED AND STRONG

Post by Joost Buijs » Wed Feb 15, 2017 19:18

Catherine wrote:
Joost Buijs wrote:
Catherine wrote: Hi Joost,

I think that the engine crashed because of the cfg setting with the egdb path wich no matched. Now that i saw how it is, the engine run perfectly.
It seem that the new engine is more stronger, wich all the fings you done and fixed.
Thank again.
Catherine
Hi Catherine, last night I couldn't resist to work somewhat more on the engine. I'm afraid that I'm addicted to work on it. I totally reworked the quiescence search (which is very sensitive to tuning) and I made the pruning more aggressive. With bullet-tests the Elo rating went up by about 25 points, I guess this is as good as it gets, further improvements will have to wait for a next version.

Friday I can work a large part of the day on it and I will try to fix the small issues that still are there. I will add pondering and a console mode to help Krzysztof play his match.

You have to understand that the non BMI version will always be weaker because it is 2 to 3 times as slow as the BMI version, it was never my intention to run the engine on older hardware. Although it is possible to make it somewhat faster by writing a completely different index-function for it, it has no priority what so ever.

Joost
Hi Joost,

Thank very much for advance. You are so excited by the idea to discover how strongest is your engine. Don't worry, i will buy a new hardware this week for use fully the BMI version.
Thank again for you disponility.

Catherine
To be honest I think it is nonsense to buy new hardware for a difference of maybe 30 Elo. When it runs at full speed my engine is roughly comparable in strength with Kingsrow and Scan, maybe even less because it is not tuned as good as the others yet. I don't want to feel responsible for talking you into buying new hardware. For me this is just a fun project, besides this I'm not interested in draughts at all, I played maybe 3 draughts games in my whole life.

Joost

Catherine
Posts: 129
Joined: Tue Aug 14, 2012 22:24
Real name: Catherine Bourneuf

Re: ENGINE SPEED AND STRONG

Post by Catherine » Wed Feb 15, 2017 20:05

TAILLE wrote:
Catherine wrote: Hi Taille

It is true that egdb have a important function into the playing strenght of an engine.
I think that the evaluation based on the goal to reach the max EGDB with optimals egdb moves to force opponent to do a mistake and win itsn't so bad.
It must be the perfect "team" to have the perfect engine.

Thank
Catherine
I do not understand your proposal. What do you mean by "max EGDB" and "optimals egdb moves" ?
Gérard
Hi Taille,

By "max EGDB" i mean the maximum EGDB that can be built. And we know that if an engine own the biggest egdb and the eval function wich will have the goal to force complicated positions to force opponent to make mistake will be the best.

By "optimals egdb moves" i mean to reach the egdb, engines used to play the best moves to reach or the win or the draw inside the EGDB.

Just an example to resume all, i suppose that you have 2 engine A and B with the same eval function like SMP, BTW... Engine A has the 10 egdb and B has the 6 EGDB, the number of draws, even with this difference will be high.
Now if adding to the 10 egdb, engine A use this new eval function, it will win several games.

This it's what i tried to say.

Catherine

Catherine
Posts: 129
Joined: Tue Aug 14, 2012 22:24
Real name: Catherine Bourneuf

Re: ENGINE SPEED AND STRONG

Post by Catherine » Wed Feb 15, 2017 20:11

Joost Buijs wrote:
Catherine wrote:
Joost Buijs wrote:
Hi Catherine, last night I couldn't resist to work somewhat more on the engine. I'm afraid that I'm addicted to work on it. I totally reworked the quiescence search (which is very sensitive to tuning) and I made the pruning more aggressive. With bullet-tests the Elo rating went up by about 25 points, I guess this is as good as it gets, further improvements will have to wait for a next version.

Friday I can work a large part of the day on it and I will try to fix the small issues that still are there. I will add pondering and a console mode to help Krzysztof play his match.

You have to understand that the non BMI version will always be weaker because it is 2 to 3 times as slow as the BMI version, it was never my intention to run the engine on older hardware. Although it is possible to make it somewhat faster by writing a completely different index-function for it, it has no priority what so ever.

Joost
Hi Joost,

Thank very much for advance. You are so excited by the idea to discover how strongest is your engine. Don't worry, i will buy a new hardware this week for use fully the BMI version.
Thank again for you disponility.

Catherine
To be honest I think it is nonsense to buy new hardware for a difference of maybe 30 Elo. When it runs at full speed my engine is roughly comparable in strength with Kingsrow and Scan, maybe even less because it is not tuned as good as the others yet. I don't want to feel responsible for talking you into buying new hardware. For me this is just a fun project, besides this I'm not interested in draughts at all, I played maybe 3 draughts games in my whole life.

Joost
Understood Joost,
Thank very much, and we are waiting for Argus. With this strenght, i suppose that the next Draughts tournament will be plenty of suspens.

Catherine

Post Reply