If you're only getting 1000 table generations a second, you should look
into your algorithm. You should get at least 100,000 table generations a
second!
On 2015-10-16 7:21, Álvaro Begué wrote:
That sounds kind of obsessive. I think the probability of having a 0
or repeated numbers in the table is about 3.18*10^-15 (someone else
please check my math). To generate some intuition for how small this
number is, if you did this a thousand times per second, the expected
time to finding a problematic table is about 10,000 years.
Álvaro.
On Fri, Oct 16, 2015 at 9:59 AM, Gonçalo Mendes Ferreira
<go...@sapo.pt <mailto:go...@sapo.pt>> wrote:
I'm currently using random numbers ensuring they are not 0 or
repeated in the table, for obvious reasons. I suspect the next
step for those interested would be ensuring each bit has a similar
ratio of occurrences, or bruteforcing it.
On 16/10/2015 14:51, Álvaro Begué wrote:
Btw does anyone have a good initialization vector for the
Zobrist table?
The obvious thing to try is random numbers. Another idea is
turning your
Zobrist key into CRC64, which I think is what you get if you
generate your
numbers like this:
#include <cstdio>
int main() {
unsigned long long const P = 0x42F0E1EBA9EA3693ull;
unsigned long long h = P;
for (int i = 0; i < 1000; ++i) { // Or as many as you need
std::printf("%016llx\n", h);
h = (h & 0x8000000000000000ull) ? (h << 1) ^ P : (h << 1);
}
}
Álvaro.
_______________________________________________
Computer-go mailing list
Computer-go@computer-go.org <mailto:Computer-go@computer-go.org>
http://computer-go.org/mailman/listinfo/computer-go
_______________________________________________
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go
_______________________________________________
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go