Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Fast way to sort moves in movelist ?

Author: Antonio Dieguez

Date: 12:57:16 10/16/99

Go up one level in this thread


On October 16, 1999 at 14:19:30, leonid wrote:

...
>>>I hope you people will talk more about the move ordering, this is the most
>>>painful part of the game to fix.
>>>
>>>Your number of nodes seeing in each ply for the middlegame goes well with what I
>>>see in mine. The best average number of nodes that I was able to come was 21%.
>>>This number is the devision between the number of nodes that my logic is forced
>>>to see in each ply devided on number of nodes for given ply.
>>>
>>>If it could be interesting my move ordering it goes this way:
>>>1) First moves that put under the fire the ennemy king.
>>>2) Moves with capture put in in four categories. The last capture of the pawn.
>>>3) At the end of the chaine are the moves without any material advantage.
>>>
>>>a) Last best move used to be checked against the moves whith best material
>>>advantage. If found, is put at the head of the moves with material advantage.
>>>b) Last 8 best moves are taken from the chaine of the best previous moves and
>>>used to align the moves that give no material advantage.
>>>
>>>If somebogy will mention what is the "bubble sort" it will be appreciated.
>>>
>>>Leonid.
>>
>>hi again leonid, I see in my game a really big difference with killers and
>>withouth them, so I hope you check your implementation very well, and also
>>seeing captures I dont know if in your program is well ordered since I dont know
>>what you consider moves that "put under fire the enemy king", but eating a piece
>>with a pawn could win the game and a heavy atacking move could not even been
>>apreciated by your eval but I dont know what are that moves...
>>
>>Also please post what do you find about how many nodes in the initial
>>position... without null-move and early prunes.
>
>Hi!

hi!

>Move that put the ennemy king under the fire is the move that will check the
>adversary king. I said before "check" this way because simetime I am not sure
>how my words will be understood. Have bad experience of mysefl for not
>recognizing significance of certain simple expression like "fixed depth".

ok.
you are not the only one.

>For me the moves that end by material advantage are the moves that end by
>capture or promotion of the pawn. My other expession that was not clear is the
>expression that indicated the move that lead to the material advantage equal to
>the taking of pawn.

ok.

>When I spoke about the number of nodes forced to see in the ply, I should say
>also I spoke about "brute force" search done without any "extentions". Nul-move,
>as far as I know is done for some quck but not perfect search in the ply. For
>the search that I call "quick search" I don't use the "nul-move" but something
>very simple and probaly different.

ok.
Anyway hash table is another important item that programs uses so you would have
to worry about it too to improve the amount of nodes in brute force, and do good
comparison with other programs, or give 0 mbs for both programs.

>So how many nodes for the perfect search generally logic is forced to see in the
>game?

I have not implemented some test modes yet, so I would not give you exactly
numbers, am sorry about that but I am not a good example I repeat.
But if I generate captures first, how will I know how many moves of the total I
see if a cut off appears?, I would have to do some changes.

And here is my move order now

1.last capture that has caused cut off
(I will change this for capture to the last moved piece only may be)
2.pieces eating no less valuable pieces, starting with pawns as the piece that
capture and so on.
3.pieces capturing less valueble pieces, starting with horses and so on...
4.the first killer
5.the second...
6.the third...
7.moves that advance or not come back a piece, first with pieces, last pawns.
8.moves that come back.

in 7 and 8 I still dont make difference about the king(it has to be the last of
the last in the opening at least and except castling but that rarely cuts some
nodes.)

the actualization of the killers are simple switch between them, when they cause
cut off or are the best move >initialAlpha  && !kingInCheck.

I dont believe is better first see moves that check the oponent before captures,
except obviusly losing captures.

>You can respond here or send your message to leonide@total.net

sure! but you first to zodiamoon@yahoo.com

>And what language you use for your game and in what stage is your writing?

java, and you?

>Leonid.

me.



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.