Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Application of Chess Programming Techniques to Other Games

Author: Christophe Theron

Date: 06:00:22 04/08/99

Go up one level in this thread


On April 07, 1999 at 23:03:07, Roberto Waldteufel wrote:


>>>Wow! Tic-Tac-Toe to chess is quite a leap.
>>
>>Yeah... Imagine: from tic-tac-toe in Basic to chess in assembly!
>
>One of the nice things about my compiler (PowerBasic) is that you can freely mix
>(compiled) Basic with 32-bit assembler, including the full set of Pentium 32-bit
>instructions, all the Math coprocessor instructions and MMX instructons being
>supported as well. I find this a very pleasant tool, and in fact my most
>speed-critical code is all written in assembler within the framework of the
>Basic programming language. I never did get to grops with the ubiquitous C.

All my speed critical code is written in C (like the rest of my program) so I
never have to program assembly code! :)

However I sometimes take a look at what's generated, just to be sure the
compiler didn't get mad about it.



>>So you do full width until QSearch?
>>
>Yes. Also Qsearch is full width but variable depth. Remember that in checkers,
>unlike chess, if you can capture then the rules insist that you *must* capture,
>so a capture-based Qsearch is necessarily full width because if any captures are
>possible, then there cannot be any legal non-capture moves. I just extend the
>search as long as there are legal captures, or as long as there is the threat of
>a capture by the other side. This latter point took a while to for me to
>realise, but it improved the quality of play quite noticeably.

Isn't it because of the possibility of zugzwang positions everywhere, as you
stated before? In chess, we assume that in QSearch the side to move can simply
"stand pat". But here again we ignore the zugzwang problem (in other words,
everybody uses a kind of virtual "null move" in QSearch). Maybe it is the reason
why in checkers just "standing pat" in QSearch is worse...?

In this case I don't understand why you continue the search only if there is the
threat of a capture by the other side only. Shouldn't you continue if there is
the threat of a capture, whatever side is to move? Maybe it's a performance
issue?



    Christophe



This page took 0.01 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.