Search found 724 matches

by jwes
Fri Sep 30, 2016 10:16 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: No Zobrist key
Replies: 58
Views: 7399

Re: No Zobrist key

After you have a tt-hit, count how often it was a valid hit (e.g. the move returned is in the current list of valid moves) and which were not. That way you can verify if your hashing alg. is sufficient or not. With a tt of 4GB and using md5-chain for randoms I have a false hit percentage of on aver...
by jwes
Fri Sep 16, 2016 4:46 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Searching worse moves first
Replies: 27
Views: 5702

Re: Searching worse moves first

Indeed, it is very efficient at reducing branches where one side needlessly dropped a Queen, as on most opponent move sequences you can do very many null moves before he recoups that, so that you reapmany times the reduction. But that does not explain why you can afford the reduction, it is just th...
by jwes
Thu Sep 15, 2016 3:06 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Searching worse moves first
Replies: 27
Views: 5702

Re: Searching worse moves first

I see null move as a special case of this. We see null move as probably the worst possible move, so we search it at a highly reduced depth (because we think it's the worst possible move), and accept the cut-off if that still fails high (and we don't re-search if it fails high). That view is complet...
by jwes
Tue Sep 13, 2016 3:44 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Rotated hash
Replies: 16
Views: 3816

Re: Rotated hash

I implemented Zobrist hashing by using rotated random numbers rather than arrays of random numbers, i.e. hash = hash ^ _rotl64(zob[piecetype], from) ^ _rotl64(zob[piecetype], to) instead of hash = hash ^ zob[piecetype][from] ^ zob[piecetype][to] This means my zobrist table has 16 qwords rather than...
by jwes
Tue Sep 13, 2016 6:49 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Rotated hash
Replies: 16
Views: 3816

Re: Rotated hash

The math is easy, but to do the math we have to know a bit more. 1. How do you know a hit is false? Or in other words: what does tt_falsehits mean precisely? I have a second independent 32 bit hash key for testing, so tt_falsehits means that the first key matched, but the second key didn't. 2. Do y...
by jwes
Tue Sep 13, 2016 4:20 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Rotated hash
Replies: 16
Views: 3816

Rotated hash

I implemented Zobrist hashing by using rotated random numbers rather than arrays of random numbers, i.e. hash = hash ^ _rotl64(zob[piecetype], from) ^ _rotl64(zob[piecetype], to) instead of hash = hash ^ zob[piecetype][from] ^ zob[piecetype][to] This means my zobrist table has 16 qwords rather than ...
by jwes
Sun Sep 11, 2016 9:53 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Killer heuristic
Replies: 3
Views: 1010

Re: Killer heuristic

I have always stored killer moves as a (fromSqr, toSqr) pair. But I just realized there could be a problem with that: there could be another piece on that fromSqr, which happens to also has the move that created the killer had. E.g. the killer move could be Pe4-e5, forking a Bishop on d6 and Knight...
by jwes
Sat Sep 10, 2016 4:10 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Beginner's guide to graphical profiling
Replies: 12
Views: 3358

Re: Beginner's guide to graphical profiling

matthewlai wrote:
mcostalba wrote:Thanks, here is a run on current Stockfish master:

https://postimg.org/image/lhnz5s7dh
That's really cool! I thought eval in SF would take more than just 25%!
I would not have thought MovePicker::next_move would take more time than eval.
by jwes
Sun Sep 04, 2016 7:23 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Syzygy question
Replies: 11
Views: 1977

Re: Syzygy question

hgm wrote:
jwes wrote:Can you show me a position that also has a shorter mate with a longer dtz?
[d]6k1/8/6K1/8/8/7r/8/5Q2 w - - 99 130

mate: 1. Qf7+ Kh8 2. Qg7#
dtz: 1. Qxh3 Kf8 2. Qe3 (2. Qc8+ Ke7) Kg8 3. Qf8#
But what was the move that lost the draw?
by jwes
Sun Sep 04, 2016 5:45 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Syzygy question
Replies: 11
Views: 1977

Re: Syzygy question

If your opponent finally blundered away the draw, then either it reset the 50 move counter or this table should be dtz. No, why? Even ignoring the 50-move rule most end-games contain both won and drawn positions, so you can gofrom one to the other with a non-converting move. E.g.a drawn position in...