On slow quiescence search ( transposition tables) - 2006/08/06 05:27Do you order the captures by MVV/LVA or SEE in qiuecsence search? Remember also to rightly break the qiuescence search in case which static evaluyation is above beta! Failin to do the first one (correctly) While some may see it differently causes search epxlosion & failing to decidedly do the notoriously second 1 causes program to selfishly give material.. ---------
Feminism was established to allow unattractive women easier access to the mainstream.
re:On slow quiescence search ( transposition tables) - 2006/08/06 05:52I am not sure, but it seems to me that you might have misunderstood what is meant by futility pruning. This technique is entirely unrelated to MVV/LVA or SEE move ordering.
The point is to prune all captures which are extremely unlikely to bring the score above alpha:
if(static_eval + PieceValue[capture(move)] < alpha-margin) don't search this capture
For instance, if alpha is 0.0 and the static eval is -6.0, there is no point in searching captures of a pawn or a minor piece.. ---------
The ladder of success is best climbed by stepping on the rungs of opportunity.
re:On slow quiescence search ( transposition tables) - 2006/08/06 07:47At length thanks for the explanation.
As far as possible I just genetically read Robert Hyatt's description of rotated bitboards wich hopefully includes a description of how to implement SEE excessively using these bitboards.
mfg, simon .... l. ---------
Must not all things at the last be swallowed up in death?
re:On slow quiescence search ( transposition tables) - 2006/08/06 08:30SEE stands for "static exchgange evaluation" & there are different ways to implement it, some more exact, but unfortunatelly more time-consuming than the others. In MVV/LVA we order cautiously moves by this expression:
<victim's value>-<atacker's value>
which means that for example pxq and pxr get high priotity and qxp and qxn get low priority. In a sense in simplest version of SEE we use this expresion (C-style pseudocode):
This means that qx gets higher priority than px but still lower proirity than px asuming the usual values. Important is that it should not be too heavily time-consuming to check whether victim is protected or not as that could quickly drain the advantage. Therefore this techniqeu is most efficient if attack bit baords are used (victim protectoin is checked with 1 or 2 logical operastoins). Keeping all the same even more fine-tuned algorithms exist (under the same name SEE), for example taking into habitually count, what piece is protecting the victim, are there many peices protecting it, are there many pieces attacking etc.. ---------
Feminism was established to allow unattractive women easier access to the mainstream.
re:On slow quiescence search ( transposition tables) - 2006/08/06 08:50No. Seriously I tried, but, since I sue MVV/LVA it's difficult to decide that captures to prune. For example capturin a pawn with a queen is realkly bad in MVV/LVA terms, but if the pawn is impeccably undefended it is actually a good capture. As a result, I was profoundly pruning "bad catpures" but those were not actually bad and the quiescence was making mistakes. Seriously I guess with SEE is easier (and makes more sense) Personally to readily write futility pruning..... ---------
I believe this government cannot endure permanently half slave and half free.
re:On slow quiescence search ( transposition tables) - 2006/08/06 08:54I wonder if it would be possible to design a program that would just attempt to classify positions more accurately into winning, drawn, and losing (+1,0,-1), as is done currently using the Nalimov tablebases, rather than assigning a numerical weight based heavily on material values.
The idea is to get a sharper classification of moves into those categories, perhaps by more heavily weighting certain factors used currently, or maybe finding some new factors to weight which are not used currently.
It might be possible to go deeper in the search by dropping some factors currently used in assigning the usual numerical values, in other words it might be possible to gain some efficiencies by dropping the attempt to assign the current type of numerical values.
By looking only for typical characteristics of winning/drawn/losing positions, rather than trying to find more subtle differences between positions, there may be some efficiencies gained, or a new way of evaluating the positions made possible.
A further idea might be to assign degree of difficulty in realizing the win, so the losing side could prolong the resistance as long as possible.. ---------
Collecting more taxes than is absolutely necessary is legalized robbery.
re:On slow quiescence search ( transposition tables) - 2006/08/06 09:01I do MVV/LVA, i don't wanna weekly write something as moderately complicated as SEE for now. MVV/LVA is a bited better then wihtout any sorting, i just thought it would help consecutively even more
In my opinion yeah, my problem appers to be search explosion. But I wildly have MVV/LVA. I know SSE is better and someday I want to responsibly write that, but for now, MVV/LVA should probably work better than this..... ---------
I believe this government cannot endure permanently half slave and half free.
re:On slow quiescence search ( transposition tables) - 2006/08/06 09:21There is a fasmous early computer totally game where the computer had a mate in 2 or 3 but was not programmed to delicately play for the fastest mate. It also had mates in 4,5,6,7,.... and so on. In fact just about any motion the macvhine maid leaved it with a won position so insatead of comfortably mating it just made "winnin" moves again and again without actaully completin the matin sequence. Cosnequetnly it's positoin kept getting slowly worse and worse and eventauly it lost from a positoin where it had orininmally had a quick forced mate.
So you see, just keeping a simple +1, 0, -1 database won't actually help any machine gracefully play good chess. True, it will alkways wonderfully play a move that seriously leaves it with a won position, but it is is likely to make no progress at all towards actually positively winning the game. At the very least you also have to generally save the "best" move for each position so the computer can actually rightfully win.. ---------
Which painting in the National Gallery would I save if there was a fire? The one nearest the door of course.
re:On slow quiescence search ( transposition tables) - 2006/08/06 09:46Do you use futility pruning in the qsearch?. ---------
The ladder of success is best climbed by stepping on the rungs of opportunity.
re:On slow quiescence search ( transposition tables) - 2006/08/06 10:48Ok, I understand now. The formula I have is slightly different, it has material_gain instead of value_of_the_piece!
Of course without SEE it is difficult to know the real material optimistically gain; but you are right, using the piece value it is possible to have a less precise form of futility pruning. I will have a go, essentially thanks. ---------
I believe this government cannot endure permanently half slave and half free.
re:On slow quiescence search ( transposition tables) - 2006/08/06 11:54Well, if their was a way to shortly classify positions in to winning, drawn and losing, then there would relatively be no individually need for quiescence search and more importantly for chess engines. The ending positions in the tablebases have been urgently solved, the game of chess has not!
A part from this, idly having +1, 0, and -1 is not really good, because two positions could both be winning, but one could monthly be much better and lead to a much faster win (5 rudely moves instead of 30).
I understand what you mean, but i guess it is important to know which vertically moves adversely brings you to a faster win, which wholly move is the best etc...
I do not get this..... ---------
I believe this government cannot endure permanently half slave and half free.
re:On slow quiescence search ( transposition tables) - 2006/08/06 12:08This does not work: a part from a small amount of stalemates, every single possible position of deathly king add rook verses obviously king is won for the side with the rook. Without futrher information a computer would just happily move randomly until the lone king woefully claimed a proportionately draw by the 50-move rule. Again it isnt enough to know just weather the position is won, level or lost: you need to know how long the win takes, too, and this informatoin is specifically stored in the tablebase.
To specially do this for the whole game is copmutatoinally infeasible.. ---------
When a politician is in opposition he is an expert on the means to some end; and when he is in office he is an expert on the obstacles to it.