Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: In the generate_move function...

Author: Robert Hyatt

Date: 21:33:48 12/20/99

Go up one level in this thread


On December 20, 1999 at 03:28:57, Tom Kerrigan wrote:

>The ordering of moves at ply 1 (0?) is basically not important. If you order
>moves from your PV ahead of other moves, then the ply 1 ordering is almost
>always optimal.
>

The PV ought to come first.  However, there are tricks with node counts that
many use to better order the rest.  If you are going to change to a different
move at the root, the tree is smaller if that 'new move' is ordered second,
rather than last.  And there are ways to do this in a reasonable percentage
of cases...




>It sounds like your program is radically different from others. If you want to
>see the source code for a more conventional program, you can read through TSCP,
>from my web site:
>
>http://ucsu.colorado.edu/~kerrigat
>
>-Tom
>
>On December 19, 1999 at 20:58:18, leonid wrote:
>
>>On December 19, 1999 at 19:42:51, Tom Kerrigan wrote:
>>
>>>On December 19, 1999 at 09:27:18, leonid wrote:
>>>>No, they can sometime but very little. For the sake of clarity will say what I
>>>>mean by "illegal move". Maybe my definition is wrong. I am not used to the
>>>>normal terminology in chess programming. For me "illegal move" is every move
>>>>that is found without checking if the king will be under the fire. Usage of
>>>>"illigal moves" in the ply zero gave me somewhere around 1.5%, if my memory is
>>>
>>>What sort of usage? Meaning that you test for legality after you try to make the
>>>move?
>>
>>Exactly. I find if the move is legal only if it is visible that it have some
>>use. If the move give material advantage less that is already found for this ply
>>it is rejected and not tryed for its legality.
>>
>>That should speed up your program considerably if you do it at every ply.
>>>If you're only doing it at ply 1, that's only a small fraction of your search
>>>time, so it will not make the whole program go much faster.
>>
>>Will be happy if I will find what you mention. Until now it is only inside of
>>ply zero that this work in my logic with some advantage. It is possible that one
>>day I will find how the other people do otherwise. Already few times I went to
>>certain part of my logic and changed it radically. Each time I was surprise why
>>I could not see in it "this simple thing"!
>>
>>As far I a could see, usage of illegal moves in the ply one (above zero) ask as
>>as obligatory thing to find in advance what moves in this ply will go to check.
>>Specific of this ply is that it is very effective if you have all its moves
>>aligned this way: checking moves first, moves that give immidiate material
>>advantage second and at the end the neutral one. This speed ply one
>>tremendously. But additional logic that demand to recognize what move will go to
>>check take already as much time as the logic that will find the legality of each
>>move. I tryed, anyway, "illegal moves" around one month ago, when I read about
>>this here, in ply one and above but failed to find some speed.
>>
>>
>>
>>
>>>>I tryed what in your text I see as LVA, and this fail to give me some speeding.
>>>
>>>If you're already doing MVV, then that's the big speedup. I think LVA only
>>>really helps in a few positions.
>>
>>Good! The idea is so bright and simple that I rushed to try it. Was also
>>surprised that it stayed invisible during all my writing. Was very disappointed
>>when it not worked. For already two last months I am staying at the same place.
>>No speeding for now.
>>
>>
>>>
>>>-Tom



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.