BikMove v1.2

Discussion about development of draughts in the time of computer and Internet.
Post Reply
AartBik
Posts: 103
Joined: Wed Mar 11, 2009 01:30
Location: Mountain View
Contact:

BikMove v1.2

Post by AartBik »

As alluded to earlier, I just released BikMove v1.2 (8x8 checkers engine that plugs in Martin Fierz' CheckerBoard GUI) with the following new features:
  • Added internal iterative deepening to search
  • Configurable sizes for transposition table and endgame database cache
  • Improved evaluation function
  • Avoid querying Fierz's database when *either* side can capture
Download at http://www.aartbik.com/MISC/checkers.html. Below some results of a test match between BikMove v1.2 (256MB hash, 256MB database cache, 2-8 piece endgames) and other engines, allocating 1 second per move for the 3-move openings.

Code: Select all

BikMove v1.2 vs. Easy Checkers 1.0   : W-L-D: 284-  0-  4  99%
BikMove v1.2 vs. SimpleCheckers 1.14 : W-L-D: 136- 21-131  70%
BikMove v1.2 vs. GUI checkers 1.05+  : W-L-D:   9-108-171  33%
BikMove v1.2 vs. Cake1.8 + huge book : W-L-D:   0-152-136  24%
For comparison, also the results under similar conditions with v1.1 posted earlier in this forum.

Code: Select all

BikMove v1.1 vs. SimpleCheckers 1.14 : W-L-D: 75- 64-149  52%
BikMove v1.1 vs. GUI checkers 1.05+  : W-L-D:  6-183- 99  19%
Last edited by AartBik on Mon Nov 15, 2010 07:19, edited 1 time in total.
AartBik
Posts: 103
Joined: Wed Mar 11, 2009 01:30
Location: Mountain View
Contact:

Re: BikMove v1.2

Post by AartBik »

Two more opponents, same conditions (using the best-move out of the huge book for Cake). Results edited in table above.
AartBik
Posts: 103
Joined: Wed Mar 11, 2009 01:30
Location: Mountain View
Contact:

Re: BikMove v1.2

Post by AartBik »

And the last one, after a few hours playing the 3-move opening against the formidable Kingsrow (set to use best-move from book).

Code: Select all

BikMove v1.2 vs. Kingsrow 1.16d      : W-L-D:   1-181-106  19%
AartBik
Posts: 103
Joined: Wed Mar 11, 2009 01:30
Location: Mountain View
Contact:

BikMove v1.3

Post by AartBik »

I had not worked on checkers for quite a while, but recently I made a few improvements to BikMove (8x8 checkers engine plugin for Martin Fierz' CheckerBoard). BikMove 1.3 has been posted on my checkers website. The changes are minor, but I believe it has improved the strength a bit, looking at the following test matches (256MB hash, 256MB database cache, 2-8 piece endgames), allocating 1 second per move for the 3-move openings.

Code: Select all

BikMove v1.3 vs. Easy Checkers 1.0   : W-L-D: 287-  0-  1  99.8%
BikMove v1.3 vs. SimpleCheckers 1.14 : W-L-D: 153-  7-128  75.3%
BikMove v1.3 vs. GUI checkers 1.05+  : W-L-D:   5- 98-185  33.9%
BikMove v1.3 vs. Cake1.8 + huge book : W-L-D:   1-132-155  27.2%
----------------------------------------------------------------
BikMove v1.3 vs. BikMove 1.1         : W-L-D: 158- 11-119  75.5%
BikMove v1.3 vs. BikMove 1.2         : W-L-D:  71- 41-176  55.2%
For comparison, here are older results posted in this thread, combined into one table.

Code: Select all

BikMove v1.2 vs. Easy Checkers 1.0   : W-L-D: 284-  0-  4  99.3%
BikMove v1.2 vs. SimpleCheckers 1.14 : W-L-D: 136- 21-131  70.0%
BikMove v1.2 vs. GUI checkers 1.05+  : W-L-D:   9-108-171  32.8%
BikMove v1.2 vs. Cake1.8 + huge book : W-L-D:   0-152-136  23.6%
BikMove v1.2 vs. Kingsrow 1.16d      : W-L-D:   1-181-106  18.8%
----------------------------------------------------------------
BikMove v1.1 vs. SimpleCheckers 1.14 : W-L-D:  75- 64-149  51.9%
BikMove v1.1 vs. GUI checkers 1.05+  : W-L-D:   6-183- 99  19.3%
Rein Halbersma
Posts: 1722
Joined: Wed Apr 14, 2004 16:04
Contact:

Re: BikMove v1.3

Post by Rein Halbersma »

AartBik wrote:I had not worked on checkers for quite a while, but recently I made a few improvements to BikMove (8x8 checkers engine plugin for Martin Fierz' CheckerBoard). BikMove 1.3 has been posted on my checkers website. The changes are minor, but I believe it has improved the strength a bit, looking at the following test matches (256MB hash, 256MB database cache, 2-8 piece endgames), allocating 1 second per move for the 3-move openings.

Code: Select all

BikMove v1.3 vs. Easy Checkers 1.0   : W-L-D: 287-  0-  1  99.8%
BikMove v1.3 vs. SimpleCheckers 1.14 : W-L-D: 153-  7-128  75.3%
BikMove v1.3 vs. GUI checkers 1.05+  : W-L-D:   5- 98-185  33.9%
BikMove v1.3 vs. Cake1.8 + huge book : W-L-D:   1-132-155  27.2%
----------------------------------------------------------------
BikMove v1.3 vs. BikMove 1.1         : W-L-D: 158- 11-119  75.5%
BikMove v1.3 vs. BikMove 1.2         : W-L-D:  71- 41-176  55.2%
Hi Aart,

Nice to see your program improving! Did you ever take a look at the GuiCheckers source code? The eval + search seem reasonably easy to comprehend, and they are rather small too (compared to say chess engines like Stockfish). Do you have any idea what concepts are not yet in BikMove that GuiCheckers does have? It seems that GuiCheckers is a very efficient way (in terms of ELO per byte of source code) to get into the 40-45% range against Cake.

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

Re: BikMove v1.2

Post by Ed Gilbert »

Do you have any idea what concepts are not yet in BikMove that GuiCheckers does have?
The strength of GuiCheckers is very likely due to its opening book, which (I think) BikMove does yet have. Unlike 10x10 draughts, in 8x8 checkers a modest opening book can make a very large difference in playing strength. Back in the days when Martin and I were actively working on checkers, we always ran engine matches with opening books off. With books on the games were all draws.

-- Ed
AartBik
Posts: 103
Joined: Wed Mar 11, 2009 01:30
Location: Mountain View
Contact:

Re: BikMove v1.2

Post by AartBik »

Ed Gilbert wrote:
Do you have any idea what concepts are not yet in BikMove that GuiCheckers does have?
The strength of GuiCheckers is very likely due to its opening book, which (I think) BikMove does yet have. Unlike 10x10 draughts, in 8x8 checkers a modest opening book can make a very large difference in playing strength. Back in the days when Martin and I were actively working on checkers, we always ran engine matches with opening books off. With books on the games were all draws.

-- Ed
Rein,
I actually bought a few checkers books (and found that good ones are hard to find!) to get some inspiration for an evaluation function (especially the "move" was very fun to code using bitboards), and I glanced at some of the evaluation components used in Martin's simple checkers (even though BikMove now plays much stronger). Do you have any insights what components are most important for 8x8 checkers?

Ed,
Good insights. Indeed BikMove has no opening book at all, while I let GUI checkers use its own "opening.gbk". I am going to retry some of these matches without opening book, as you suggested.
Rein Halbersma
Posts: 1722
Joined: Wed Apr 14, 2004 16:04
Contact:

Re: BikMove v1.2

Post by Rein Halbersma »

AartBik wrote: Rein,
I actually bought a few checkers books (and found that good ones are hard to find!) to get some inspiration for an evaluation function (especially the "move" was very fun to code using bitboards), and I glanced at some of the evaluation components used in Martin's simple checkers (even though BikMove now plays much stronger). Do you have any insights what components are most important for 8x8 checkers?
Aart, I sent you an email on the subject. Rein
Ed Gilbert
Posts: 860
Joined: Sat Apr 28, 2007 14:53
Real name: Ed Gilbert
Location: Morristown, NJ USA
Contact:

Re: BikMove v1.2

Post by Ed Gilbert »

I actually bought a few checkers books
I have a number of checkers books, but I don't think I ever got much insight into what to put into an evaluation function from them. What worked for me was watching games between kingsrow and other programs, and observing how kingsrow would lose or win.

About 'the move', I came to the conclusion that there are so many exceptions to a generalized rule that it is no help. There are some very specific cases where it is important, so for example if you have detected a certain formation, and you know that e.g. if the side with the trapped king has the move then it is a draw, else it is a loss for the side with the trapped king, you can use it for that specific case. But for a generalized eval term, not qualified with some specific formation, I do not think it is helpful.

It has been a while since I worked on checkers, but from memory some of the important terms were back rank, runaways, tempo, mobility, and many things associated with kings. King mobility, trapped kings, king control of the center, kings with limited mobility at the board edges. I think I have some specific tests for rather common formations of kings that are trapped on the king row (where they first become a king), and then a more generalized function to detect king mobility anywhere on the board. There are also a number of 'cramp' formations, where one or more pieces are more or less trapped by a smaller number of opponent pieces, usually along the sides of the board.

Many authors talk about controlling the center, but I found that early in the game, when no kings are present, this does not mean that you want to focus all your men towards the center. Center control is much more important for kings than for men.

One of the hardest things to evaluate is when it is good to sacrifice a man for an early king. If you can see that the king will have good mobility and be able to freely move towards the center, and if your opponent does not have any good chances for a king in the near horizon, then you want your eval to make the sacrifice look attractive. But if you sacrifice for a king and then your opponent gets a king soon afterwards, you probably lost.

-- Ed
AartBik
Posts: 103
Joined: Wed Mar 11, 2009 01:30
Location: Mountain View
Contact:

Re: BikMove v1.2

Post by AartBik »

Ed Gilbert wrote:What worked for me was watching games between kingsrow and other programs, and observing how kingsrow would lose or win.
Thanks both Ed and Rein for all the information here and in private email! I have a lot of new information to think about!

I ran some matches without book and BikMove indeed scores slightly better (few percent), but not enough to dramatically change the outcome reported in the table above.
Post Reply