TalkChess.com
Hosted by Your Move Chess & Games

Author Message
Don Dailey

Joined: 29 Apr 2008
Posts: 4507

Post subject: Re: Zobrist alternative?    Posted: Sat Jun 16, 2012 3:49 pm

diep wrote:
The problem i foresee with addition is basically this:

suppose we have a position with a knight on f3 and a king on g2.
Versus the position with a knight on g2 and a king on f3

Now we do this:

 Code: Zobrist = sq[f3] + piece[knight] | sq[g2] + piece[king]

versus
 Code: Zobrist = sq[f3] + piece[king] | sq[g2] + piece[knight]

In (modified to) MANY cases that generates the same Zobrist key.
I don't feel this is a safe key generation function.

So just addition won't work. We need to shift/rotate as well.

Vincent

We xor for the normal zobrist function but addition for computing a key to use for a color/piece/square combination. At least that is what someone in an early post recommends and claims is strong. I cannot vouch for that but it could very well be good.

For the sake of this discussion let's use the terminology "piece" to represent the piece exactly including the color of the piece. In other words "white pawn" is distinct from "black pawn."

So let's say we are doing this for chess. To compute incremental zobrist for a simple knight move (using xor for incremental updates but addition for computing the key to work with) we have this:

Assume Nf1-g3 - no capture:

signature = signature ^ (ptab[wn] + sqtab[f1]); // downdate
signature = signature ^ (ptab[wn] + sqtab[f3]); // update

ptab[] is a table of random numbers for each piece and sqtab[] is a table of random numbers for each square. For chess, dimensions might be ptab[12] and sqtab[64].

Don
_________________
The Optimist thinks this is the best of all possible worlds, the Pessimist fears it is true.
 Display posts from previous: All Posts1 Day7 Days2 Weeks1 Month3 Months6 Months1 Year Oldest FirstNewest First
Subject Author Date/Time
H.G.Muller Tue Jun 12, 2012 7:35 pm
Kevin Hearn Tue Jun 12, 2012 7:44 pm
Daniel Shawul Tue Jun 12, 2012 8:19 pm
H.G.Muller Tue Jun 12, 2012 8:54 pm
Daniel Shawul Tue Jun 12, 2012 9:46 pm
Daniel Shawul Wed Jun 13, 2012 3:24 am
Daniel Shawul Wed Jun 13, 2012 4:14 am
Daniel Shawul Wed Jun 13, 2012 4:00 pm
Daniel Shawul Thu Jun 14, 2012 1:30 am
H.G.Muller Thu Jun 14, 2012 5:50 am
Daniel Shawul Thu Jun 14, 2012 12:52 pm
Edmund Moshammer Thu Jun 14, 2012 8:21 am
Edmund Moshammer Thu Jun 14, 2012 9:27 am
Wylie Garvin Tue Jun 12, 2012 8:27 pm
H.G.Muller Tue Jun 12, 2012 8:36 pm
Vincent Diepeveen Wed Jun 13, 2012 1:01 pm
Wylie Garvin Wed Jun 13, 2012 10:57 pm
H.G.Muller Thu Jun 14, 2012 5:42 am
Robert Hyatt Thu Jun 14, 2012 1:17 pm
H.G.Muller Thu Jun 14, 2012 2:17 pm
Wylie Garvin Thu Jun 14, 2012 6:11 pm
Vincent Diepeveen Sat Jun 16, 2012 10:05 am
Reinhard Scharnagl Wed Jun 13, 2012 9:52 am
Edmund Moshammer Wed Jun 13, 2012 9:58 am
Reinhard Scharnagl Wed Jun 13, 2012 12:49 pm
Edmund Moshammer Wed Jun 13, 2012 1:15 pm
Reinhard Scharnagl Wed Jun 13, 2012 1:41 pm
Edmund Moshammer Wed Jun 13, 2012 3:55 pm
Reinhard Scharnagl Wed Jun 13, 2012 4:03 pm
H.G.Muller Wed Jun 13, 2012 2:19 pm
Vincent Diepeveen Wed Jun 13, 2012 2:44 pm
Vincent Diepeveen Wed Jun 13, 2012 2:48 pm
Vincent Diepeveen Wed Jun 13, 2012 3:28 pm
H.G.Muller Wed Jun 13, 2012 4:01 pm
Vincent Diepeveen Wed Jun 13, 2012 5:42 pm
H.G.Muller Wed Jun 13, 2012 5:51 pm
Vincent Diepeveen Wed Jun 13, 2012 6:27 pm
Daniel Shawul Wed Jun 13, 2012 5:29 pm
Karlo Bala Jr. Thu Jun 14, 2012 9:50 am
Reinhard Scharnagl Thu Jun 14, 2012 8:49 am
H.G.Muller Thu Jun 14, 2012 9:09 am
Daniel Shawul Thu Jun 14, 2012 1:11 pm
Vincent Diepeveen Sat Jun 16, 2012 10:12 am
Don Dailey Thu Jun 14, 2012 4:46 pm
Don Dailey Thu Jun 14, 2012 6:38 pm
Daniel Shawul Thu Jun 14, 2012 6:57 pm
Don Dailey Fri Jun 15, 2012 2:39 pm
H.G.Muller Fri Jun 15, 2012 3:46 pm
Daniel Shawul Fri Jun 15, 2012 5:22 pm
H.G.Muller Fri Jun 15, 2012 5:38 pm
Vincent Diepeveen Sat Jun 16, 2012 10:17 am
Daniel Shawul Fri Jun 15, 2012 5:04 pm
Don Dailey Fri Jun 15, 2012 6:00 pm
Daniel Shawul Fri Jun 15, 2012 7:27 pm
Don Dailey Fri Jun 15, 2012 8:16 pm
Daniel Shawul Fri Jun 15, 2012 8:42 pm
Daniel Shawul Fri Jun 15, 2012 9:14 pm
Don Dailey Fri Jun 15, 2012 10:59 pm
Daniel Shawul Sat Jun 16, 2012 12:17 am
Don Dailey Sat Jun 16, 2012 4:28 am
Daniel Shawul Sat Jun 16, 2012 6:30 am
Daniel Shawul Sat Jun 16, 2012 10:09 am
Vincent Diepeveen Sat Jun 16, 2012 10:22 am
Vincent Diepeveen Sat Jun 16, 2012 10:42 am
Vincent Diepeveen Sat Jun 16, 2012 10:54 am
Daniel Shawul Sat Jun 16, 2012 11:03 am
Vincent Diepeveen Sat Jun 16, 2012 11:08 am
Don Dailey Sat Jun 16, 2012 12:03 pm
Vincent Diepeveen Sat Jun 16, 2012 12:55 pm
Vincent Diepeveen Sat Jun 16, 2012 2:21 pm
Daniel Shawul Sat Jun 16, 2012 2:25 pm
Vincent Diepeveen Sat Jun 16, 2012 2:44 pm
Daniel Shawul Sat Jun 16, 2012 12:35 pm
Vincent Diepeveen Sat Jun 16, 2012 1:11 pm
Vincent Diepeveen Sat Jun 16, 2012 1:15 pm
Vincent Diepeveen Sat Jun 16, 2012 1:56 pm
Daniel Shawul Sat Jun 16, 2012 2:05 pm
Vincent Diepeveen Sat Jun 16, 2012 2:10 pm
Daniel Shawul Sat Jun 16, 2012 2:22 pm
Vincent Diepeveen Sat Jun 16, 2012 2:29 pm
Daniel Shawul Sat Jun 16, 2012 2:35 pm
Vincent Diepeveen Sat Jun 16, 2012 2:39 pm
Re: Zobrist alternative? Don Dailey Sat Jun 16, 2012 3:49 pm
Daniel Shawul Sat Jun 16, 2012 4:35 pm
Daniel Shawul Sat Jun 16, 2012 2:11 pm
Vincent Diepeveen Sat Jun 16, 2012 2:13 pm
Vincent Diepeveen Sat Jun 16, 2012 2:19 pm
Daniel Shawul Sat Jun 16, 2012 2:29 pm
Vincent Diepeveen Sat Jun 16, 2012 2:32 pm
Daniel Shawul Sat Jun 16, 2012 4:19 pm
Don Dailey Sat Jun 16, 2012 4:50 pm
Daniel Shawul Sat Jun 16, 2012 4:25 pm
Don Dailey Fri Jun 15, 2012 8:21 pm

 Jump to: Select a forum Computer Chess Club Forums----------------Computer Chess Club: General TopicsComputer Chess Club: Tournaments and MatchesComputer Chess Club: Programming and Technical DiscussionsComputer Chess Club: Engine Origins Other Forums----------------Chess Thinkers ForumForum Help and Suggestions
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum