Search found 634 matches

by Desperado
Sun Feb 21, 2016 2:31 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: pawn hash and eval tuning
Replies: 10
Views: 2930

Re: pawn hash and eval tuning

This is not a feature of having a pawn hash or not. The pawn hash only saves some computation. If you remove the pawn hash and compute everything from scratch you have the same outcome from tuning (only a bit slower). I can't follow now. If parameters are changed for pawn evaluation you need to re-...
by Desperado
Sun Feb 21, 2016 8:25 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: pawn hash and eval tuning
Replies: 10
Views: 2930

Re: pawn hash and eval tuning

Hi, you can simply always compute the data when in tuning mode, like... pawn_t* PawnTable::getSlot(Position* pos) { pawn_t* slot = &table[getKey(pos) & _HASHMASK]; if( NOT_TUNING ) if(BitUtil::hi32(getKey(pos)) == slot->lock) { return slot; } ev...
by Desperado
Mon Jan 18, 2016 7:45 pm
Forum: Computer Chess Club: General Topics
Topic: Something Hikaru Said
Replies: 204
Views: 31408

Re: Something Hikaru Said

Hello everybody.

I began to read this thread from the beginning and after reading some posts i realized that we might answer much earlier than expected. Here is the idea:

:?: Why using a 32 men egtb if 31 would be sufficient for a knight handicap :P :lol:
by Desperado
Sun Jan 03, 2016 10:58 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: The wrong way
Replies: 122
Views: 19433

Re: The wrong way

At the risk of being accused of thread hijacking, what do you think of the following method to exploit the O^O-2R trick: * mask the relevant ray (6 central bits) from 'occupied' * multiply with the square- and orientation-dependent factor to collect all bits in the upper byte, preserving their orde...
by Desperado
Sun Jan 03, 2016 8:34 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: The wrong way
Replies: 122
Views: 19433

Re: The wrong way

OD addresses the mentioned points you were discussing in this post: hgm wrote: Note that, although I wrote it myself because I thought it was obvious, I cannot be credited with the invention, as it was already known (as commonly happens with obvious things), under the name O^(O-2R) trick. As usual, ...
by Desperado
Sun Jan 03, 2016 7:56 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: The wrong way
Replies: 122
Views: 19433

Re: The wrong way

Hello, based on the O^O-2R trick the algorithm can be used for all lines (rank,file,diag,antiDiag) and does not require any lookup. bitboard_t AttackGetter::generateLine(square_t s,bitboard_t o,bitboard_t lineEx) { bitboard_t lower = Bitboard::getLower(s) & o & lineEx; bitboard_...
by Desperado
Thu Dec 31, 2015 12:39 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: The wrong way
Replies: 122
Views: 19433

Re: The wrong way

ok thank you. Well it can never be bad if your move generator is 10% faster. So all my perft tests will run 10% faster too and how often do I run perft tests. ... Wrong :!: 1. If the effort to reach that goal will be done at the wrong time it is definitively bad ! You want to produce sth., so be pr...
by Desperado
Thu Dec 31, 2015 11:02 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: The wrong way
Replies: 122
Views: 19433

Re: The wrong way

I think looping (iterating) again over the bitboard moves is too slow. Also function calls are too slow on this level. By the way I found another simple optimization so I have to rewrite it anyhow. It is all about speed now. Every instruction counts. I agree writing out loops makes no sense for com...
by Desperado
Sat Dec 19, 2015 8:25 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Special cases
Replies: 16
Views: 2055

Re: Special cases

What is the fastest way to detect if a piece on a1, h1, a8 or h8 is pinned ? First you need to check if the king is not missing :D . Second check if there are h1, a8 and h8 squares on the board :) . Hi, i guess your approach is much more safe. I realized that my test has a lack if it is done while ...
by Desperado
Sat Dec 19, 2015 12:12 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Special cases
Replies: 16
Views: 2055

Re: Special cases

Henk wrote:What is the fastest way to detect if a piece on a1, h1, a8 or h8 is pinned ?
First check if the piece in the corner is a pawn, everything else is easy :wink: