Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: question about move generation.

Author: Bas Hamstra

Date: 18:00:56 11/18/99

Go up one level in this thread


On November 18, 1999 at 15:04:37, Daniel Clausen wrote:

>Hi
>
>On November 18, 1999 at 11:40:31, Bas Hamstra wrote:
>
>>On November 18, 1999 at 08:35:56, Antonio Dieguez wrote:
>>
>>>On November 18, 1999 at 06:41:49, Bas Hamstra wrote:
>>>
>>>hi Bas,
>>>
>>>>My program uses incremental move generation, in the sense that 1 move at the
>>>>time is generated. I too think the advantage over staged generators (eg. only
>>>>captures) is small, if any at all.
>>>
>>>and which is the move ordering in your program?
>>>
>>>>Bas Hamstra.
>>
>>I have one old complete program and 8 incomplete testbeds :)
>>
>>The complete program uses this:
>>
>>- BM from hash
>>- Non losing caps sorted MVV and within that LVA (so not quite MVV/LVA)
>>- 2 Killers
>>- Non caps unsorted
>>- Losing caps
>>
>>That's it. I see no need for history sorting, nor for SEE sorting. It uses
>>incremental peudo attack updating, that basically makes you have all
>>captures at hand at any time. And a cheap SEE. And cheap Check-checking :)
>
>I also wondered why people use history heuristics. Given the above move
>orderung, the only place where you can use history heuristics is "Non caps".
>And if you use history heuristics, do people sort the whole non-cap list
>based on the history value or just the first ones?

I'm not sure, but I would guess the top-5 or so. The point is getting a cutoff
and if you don't get it after a first bunch of moves it is probably an "all"
node where sorting is of no importance.

>Another thing: I saw "MVV/LVA" mentioned several times in this forum.
>Can anyone point me to an article or something about this?

Mwah, it's nothing. All that fancy names :) MVV stands for Most Valuable Victim
and LVA for Least Valuable Attacker. Simply go for the big pieces first, with
the smallest possible attacker. If you sort captures by VictimValue minus
AttackerValue you get reasonable results. SEE sorting is slightly better, but
will cost you more ticks. IE you try to predict the outcome of a capture
sequence to 1 particular square, statically. SEE = Static Exchange Evaluation.
How to do it: sort all captures to that one square on piecevalue (both colors),
and start swapping, always playing the lowest piece first. If you have just
captured, but result is still bad, you stop. Note that you can do this
enterirely without makes/unmakes and so very fast.

Personally I *do* throw out losing captures based on SEE, but I don't sort all
captures SEE wise.

Regards,
Bas Hamstra.














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.