Author: Andreas Guettinger
Date: 15:54:11 08/06/04
Go up one level in this thread
Two small glitches in my example:
The array of values should be:
mat_value[13] = {INFINITY, 900, 500, 300, 300, 100, 0, 100, 300, 300, 500, 900,
INFINITY};
and after looking for hidden figures the next_fig has to be updated to the next
figure that takes part in the attack.
For the minimax part, it's best to look at an examples and print out all the
steps at first for debugging.
Ok, this is maybe not the best example, just one that I came quickly up with.
The scores in the minimax column derive from whether to back up the scores or
stand pat, by following the if <= or >= part.
[D]1k1q4/p7/1pp5/3n4/4B3/P4Q2/1PP5/2K5 w - -
move: Be4xd5
counter swapscore[counter] stm flag minimax swap
0: 300 1 0
1: 300 + (-300) = 0 -1 0 (back up)
2: 0 + 100 = 100 1 -800 (don't back up)
3: 100 - 900 = -800 -1 -800 (back up)
backed up score = 0 (only exchange, net gain 0)
[D]1k1q4/p7/1pp5/3n4/2P1B3/P4Q2/1P6/2K5 w - -
move: c4xd5
counter swapscore[counter] stm flag minimax swap
0: 300 1 300
1: 300 + (-100) = 200 -1 300 (back up)
2: 200 + 100 = 300 1 300 (back up)
3: 300 - 300 = 0 -1 900 (don't back up)
4: 0 + 900 = 900 1 900 (back up)
backed up score = 300 (win a knight)
regards
Andy
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.