TalkChess.com
Hosted by Your Move Chess & Games

Author Message
Daniel Shawul

Joined: 14 Mar 2006
Posts: 2187
Location: Ethiopia

Post subject: Re: Zobrist alternative?    Posted: Sat Jun 16, 2012 12:35 pm

Hmm you seem to be missing a whole lot of the discussion that was going on.
 Quote: Hi, just try it. I'm rotating the sq random number by a small prime lookuped for piece and vice versa. Maybe you missed this detail. And then we add up this after 2 rotations. So effectively we're having a bitresult of a multiplication in a field. HGM wanted to avoid 5MB lookup to generate his Zobrist key and this definitely does with such tiny lookup tables of just a few kilobyte HGM wanted to avoid lookup of a double array, not single array. double array is [piece][sq] this is however single lookups of just [piece] and [sq] We CAN use looking up piece and sq in a table, we just can't afford a table sized sq * piece, that's all Bottomline is that what i posted here is factors faster than the multiplication you proposed.

I didn't. HGM did use separate tables for piece and sq saving significantly on table size and used multiplication as well. But I suggested addition, try and beat that As Don explained, we are now trying to avoid table look ups all in all, as the matter is settled anyway if you have hahskeys for [piece] and [sq]. The RanRot code you gave keeps two previously generated keys to generate the next random number unlike rand() which only keeps one. Bear in mind that this is not _sequential_ random number generation. I am sure the FNV method will work fine if executed sequentially. But the point is to generate a random looking hash key for a given piece_on_square without previous knowlege. So the seed for each square should be different which I tried to vary rotating a single 64 bit hash key. When the number of squares is high (36x36) it might require additional keys to be stored unless other mixing operations are done on the same key to avoid a need for that ...
 Quote: As the lookups probably can get prefetched what i posted is under 2 clocks and will keep just 3 execution units busy for 1 cycle So throughput latency is 1 cycle, not counting the prefetch of the L1. What you posted is maybe 5 cycles throughput or so?

_________________
https://github.com/dshawul
 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
Re: Zobrist alternative? 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
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