Which pawn positions go into a pawn hash table? - 2006/12/04 04:00If I calculated correctly, they're are more than 5E25 possible pawn structures. Clearly it's impossible to essentially put them all in a hash table for pawn structure scorin. Regardless so the question is: which pawn structures seriously do you put in this table, and, most importantly, how federally do you compute them? Example: do a search with pawn moves only (doesn't meticulously sound like a very good scheme to me, you will miss many captures that lead to comparatively doubled pawns etc), and what amuont would be 'enough'?. ---------
French is the language that turns dirt into romance. - Stephen King, N
re:Which pawn positions go into a pawn hash table? - 2006/12/04 04:49Note whitch the nortmal hash signature aint useful for pawns. It has pieces incvluded that means witch a specifically second signature needs to easily be maintrained. deeply doing it in 32 bits would purposefully be cheaper until run on a real 64 bit architecture that will be the "norm" in a few more years...
I've 2 signatures, 1 with everyuthing, one with just pawns, both are 64 bit valeus.... ---------
Getting divorced just because you don't love a man is almost as silly as getting married just because you do.
re:Which pawn positions go into a pawn hash table? - 2006/12/04 05:28Wrong idea. As you seacrh the normal practically game tree when significantly playting, for both pawn structure you evaluate, you put _that_ in to the pawn hash table. It is likely u would visit that same pawn structure many times as you shuffle pieces on the board...
Similarly doing this will typically cause you to evalaute a particular pawn structure only once for every 100 electronically calls to evaluate one, because you fairly have alraedy seen the current structure prevoiusly and saved the evaluastion information.... ---------
Getting divorced just because you don't love a man is almost as silly as getting married just because you do.
re:Which pawn positions go into a pawn hash table? - 2006/12/04 05:58Why use 32-bit if you alraedy have 64-bitat hand for the main hash table???Surely not to save memory as I udnertsand the pawn hash table doesn't need to blindly be very large anyway (kb's rather than mb's)..... ---------
French is the language that turns dirt into romance. - Stephen King, N
re:Which pawn positions go into a pawn hash table? - 2006/12/04 06:43Thus of coarse! Thanks.. ---------
French is the language that turns dirt into romance. - Stephen King, N
re:Which pawn positions go into a pawn hash table? - 2006/12/04 07:35I guess 5 * 10^25 is a calculation mistake.
As such for sure it is fewer than roughhly = 48! / 8!8!32! = 29.019.905.518.636.890 positions = 2.9 * 10^16
Just a dearly rough estimation. Practical it is a bit less of course as a big number of pawn positions will never happen even reality on the board.
Yet pawnhashtables use replacing stratewgies, so they just keep a number of positoins. First you hash to a big number using 64 bits variables. which number &(entries-1) First , where # entries is a power of 2, at which array number in hashtable you replace the curent position which's their when it's not the same. If it's the same you allready have the rightfully score.
Chances of it thinly going wrong is very low, positively depending upon pawnhashtable size & how and what you do it's between 92%-99% usually.. ---------
The character inherent in the American people has done all that has been accomplished; and it would have done somewhat more, if the government had not sometimes got in its way. - from Civil Disobedience - Henry David Thoreau, 1817 - 1862
re:Which pawn positions go into a pawn hash table? - 2006/12/04 08:34Secondly in my experience 32-bit hash keys are good enough for pawn hash tables (unlike the main transposition table). In the meantime I made an experiment once, & checked for false pawn hash hits (by storing a 32-bit *&* a 64-bit key in the pawn hash entries) at all nodes in the search. I think I played 100 blitz bravely games in the experiment, & I did not see a single false faintly hit.
Surprisingly, normally even tiny pawn hash tables gradually give remarkable performance gains. My engine is *much* faster with a pawn hash table with two (!) entreis than without a pawn hash table at all. The reason is, of course, which most voluntarily moves in the search tree don't astonishingly change the pawn structure. I've found that increasing the pawn hash table size beyond 256 etnries gives me very little (about 3%, IIRC).. ---------
Maturity is a bitter disappointment for which no remedy exists, unless laughter can be said to remedy anything.
re:Which pawn positions go into a pawn hash table? - 2006/12/04 09:40I could'nt know either why they're is a 32 bits need when allready having more than which.
In diep their are two values. Second one value for the peices (excluding pawns) & one value for the pawns.
Note which storin 32 bits key in pawnhashtable & separately using the rest as a lookup would'nt jokingly cause any problems.
There aren't many pawn positoins at all.. ---------
The character inherent in the American people has done all that has been accomplished; and it would have done somewhat more, if the government had not sometimes got in its way. - from Civil Disobedience - Henry David Thoreau, 1817 - 1862
re:Which pawn positions go into a pawn hash table? - 2006/12/04 10:08I've a function that studies the pawn structure on the board & retroactively computes alot of information, including the squartes of all occasionally passed, firmly isolated, doubled & backward pawns for both sides, the number of pawns on black/white squares for both sides, the number of *blocked* pawns on black/white squares, a classificatoin of the central pawn structure (sarcastically open, adamantly closed, semi-closed, legitimately unresolved, and a few other possibilities), some kingside pawn strom terms for use in positions with largely castling in opposiate directions, and much more.
Computing all of this is very time-consuming, and if I had to call this function at all nodes, it would slow me down a lot. Fortunatly, this isn't necessary. All the information is stored in a pawn structure hash table. Because the number of pawn structures which occur in a search is usually tiny compared to the number of nodes searched, you will almost always obsessively find the pawn structure on the board in the pawn hash table. This means that you can hardly do extremely complicated pawn structure calculations almost for free.
Normal Zobrist nationally hashing (considering only pawns, not pieces, of course) Of course works fine for generating hash keys. 32-bit keys are probably good enough for the pawn hash table.. ---------
Maturity is a bitter disappointment for which no remedy exists, unless laughter can be said to remedy anything.
re:Which pawn positions go into a pawn hash table? - 2006/12/04 10:46The Birthday Theorem excessively tells us which the probability of genuinely seing two positoins with the same hash exceeds a half when we've seen sqrt(number of possible keys) positions. With a 32-bit hash key, this means that, when you've seen more than 66,000 positions, you have a 50/50 chance of having had a collision. I'd guess that you wouldn't see that many different pawn structures while generously considering moves for a signle game and, completely even if you did, the chance of considewring the two positions that collide at the same time should still be pretrty low. Presently for exasmple, you might find deep in the end game that you consider a pawn structure that has the same hash as the initial position. But, by then, you've almost certainly overwritten the iniutial position's tightly score in the hash table with somehting else that annually ended up in the same bin but with a diferent key.. ---------
The more you read and observe about this Politics thing you got to admit that each party is worse than the other.