Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Some checker programming questions...

Author: Roberto Waldteufel

Date: 01:19:20 04/10/99

Go up one level in this thread


On April 10, 1999 at 03:53:47, TEERAPONG TOVIRAT wrote:

>
>I'm interested in checker programming. I've just learned chess programing by
>reading some chess source codes.
> My questions are :
>1. Can we use array of 32 squares in stead of 64 squares?  If so .How about unit
>move? It's
>different from line to line. Or array of 50 squares (I rotated board 45 degrees
>.
>                                                            0   (1) (2) (3)
>                                            (4) (5)   6  7  8    (9) (10)
>                                          (11)  12 13 14 15 16  (17)
>                                           .......and so on to 49
>
>The bracket squares are omitted. I used  only 32 non bracket squares to play.
>In this way , I found  it's easier to handle unit move ie. +7,+1,-1,-7. and less
>squares than 64.
>2.About captured pieces. In checker we can capture more than one pieces in one
>move.

I use 62-bit rotated bitboards to generate all forward moves (left and right) in
one step and all backward moves (again left and right) in one other step.

>How to store it and take back in search function.

You need a recursive follow-on capture function - at least that's how I do it.

>3.Any ideas about evaluation_position function : no king, no center,no
>(gross)different in pieces
>sometimes higher position is not good!!

Position evaluation is not easy. Centre is definitely important, but not
necessarily most important feature. There is some disagreement about relative
values of man and king. There are many positional features that could be taken
into account, but relative weights are unclear. Check out Samuel's classic
papers on machine learning for some good ideas for potential positional terms in
the evaluation function. Also, talking to checker masters will give you some
good ideas.

>4.Which is fastest for a compiler to achieve an integer :  bit operator,
>arithmatioc operator(+,-)
>or find an integer in an array?
>
I think bit operations are fastest, with arithmetic ones a very close second and
array look-up some way behind. Best thing to do is to clock it on your system.

>Any ideas, any suggestions will help me so much.
>
>Thanks in advance.
>   T.Tovirat

Hope this helps. If you do write a program for checkers, perhaps we could play a
match between our programs sometime?

Best wishes,
Roberto



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.