Author: Matthew Hull
Date: 13:48:28 08/06/04
Go up one level in this thread
On August 06, 2004 at 16:01:02, Stuart Cracraft wrote:
>On August 06, 2004 at 12:48:40, Robert Hyatt wrote:
>
>>On August 06, 2004 at 00:09:52, Stuart Cracraft wrote:
>>
>>>Assume for the sake of simplicity you aren't worrying about pinned
>>>or x-rayed pieces for now.
>>>
>>>Assume your attackers of sq are in attackers[], your defenders of sq
>>>are in defenders[] and the count of each is in at1 and de1 and you
>>>have them sorted from highest value to lowest value,i.e.
>>>Rook, Knight, Pawn at positions 0, 1, 2 in attackers[], etc.
>>>
>>>Defenders are the defenders of the piece at sq about which
>>>this whole exchange is taking place.
>>>
>>>Do your exchange by lowest piece first. Return a function value
>>>reflecting the value of the exchange from the attacker's perspective
>>>and taking into account that the whole sequence doesn't have to play
>>>out and one can stop mid-way if advantageous to do so.
>>>
>>>int see(sq) {
>>> int defenders[], attackers[], de1, at1, value;
>>> // Value of piece starting the exchange
>>> value = absolute value of piece at sq.
>>> while (1) {
>>> if (de1 > 0) {
>>> value -= attacker[at1-1];
>>> at1--;
>>> } else break;
>>> if (at1 > 0) {
>>> value += defender[de1-1];
>>> de1--;
>>> } else break;
>>> }
>>> return(value)
>>>}
>>>
>>>What do you think should be the modification to the code
>>>to be able to stand-pat at the right time(s) and return
>>>a value that is accurate for chess, not checkers-like in
>>>terms of everything being forced, allowing for standing
>>>pat and ignoring x-ray and pinned.
>>>
>>>For problem 2, how would you integrate x-ray and pinned in?
>>>
>>>Happy Hacking,
>>>
>>>Stuart
>>
>>
>>Minmax it. Make all captures to there are no more. Then start backing up one
>>ply at a time asking the question "is the backed up score at this point better
>>if I just stop and accept the current material balance, or is it better if I
>>make the next capture?
>>
>>You have to do that back-to-front to make it work. And then you get the right
>>answer every time, whether it is best to stand pat or make another capture.
>>Crafty's "swap.c" has code that does this that is pretty easy to understand.
>
>Super. Great explanation as usual.
>
>I seem to have collected nearly other program recently but lack a recent
>Crafty -- I remember there was a web site? Or do I request it from you?
>
>Please advise as I'm not SEEing anything and SUFFERing as a RESULT. :-)
>
>Stuart
ftp://ftp.cis.uab.edu/pub/hyatt/
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.