Search found 180 matches

by Pio
Mon Sep 21, 2020 3:20 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: 3 fold repetition scoring issue
Replies: 9
Views: 173

Re: 3 fold repetition scoring issue

Hi guys I've just implemented repetition detection in my engine and the detection itself seems to be working correctly: 8 . . ♜ . . . ♚ . 7 ♖ . . . . . . . 6 . . . . . . . . 5 . ♖ . . . . . . 4 . . . . . . . . 3 . . . . . . . . 2 ♙ . . . . ♔ ♙ ♙ 1 . . . . . . . . a b c d e f g h Side: white Enpassa...
by Pio
Tue Sep 15, 2020 8:10 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: SMP, first shot at implementation
Replies: 53
Views: 1433

Re: SMP, first shot at implementation

You can get away with 16 bits, for storing the entire move information? Interesting. (Or did you mean 16 bytes? But that would be a lot.) I already have these: PIECE : 3 0-7 (use only 0-6) FROM : 6 0-63 TO : 6 0-63 CAPTURE : 3 0-7 (captured piece) PROMOTION : 3 0-7 (piece promoted to) ENPASSANT : 1...
by Pio
Tue Sep 15, 2020 8:00 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: SMP, first shot at implementation
Replies: 53
Views: 1433

Re: SMP, first shot at implementation

You can get away with 16 bits, for storing the entire move information? Interesting. (Or did you mean 16 bytes? But that would be a lot.) I already have these: PIECE : 3 0-7 (use only 0-6) FROM : 6 0-63 TO : 6 0-63 CAPTURE : 3 0-7 (captured piece) PROMOTION : 3 0-7 (piece promoted to) ENPASSANT : 1...
by Pio
Tue Sep 15, 2020 6:02 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: SMP, first shot at implementation
Replies: 53
Views: 1433

Re: SMP, first shot at implementation

You can get away with 16 bits, for storing the entire move information? Interesting. (Or did you mean 16 bytes? But that would be a lot.) I already have these: PIECE : 3 0-7 (use only 0-6) FROM : 6 0-63 TO : 6 0-63 CAPTURE : 3 0-7 (captured piece) PROMOTION : 3 0-7 (piece promoted to) ENPASSANT : 1...
by Pio
Thu Sep 10, 2020 5:31 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Reducing the horizon effect
Replies: 7
Views: 372

Re: Reducing the horizon effect

There might be a way to reduce the horizon effect by detecting a stable horizon and extending the search if it is not stable. The idea is to call Qsearch say two ply early and compare the score to that returned by a two ply further search. If the scores are close then the horizon is stable because ...
by Pio
Tue Sep 08, 2020 8:00 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Neural network quantization
Replies: 11
Views: 623

Re: Neural network quantization

I have a neural network with floating point weights and I want them to fit in int8_t . The weights goes from +64 and -57 and some are very low like 1e-5. How can I translate all these values in int8_t without losing accuracy? Is there a way to train the net to easily translate the weights to int8_t...
by Pio
Mon Aug 31, 2020 8:48 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Engine Crash Detective Story
Replies: 24
Views: 1480

Re: Engine Crash Detective Story

3) It is not always possible to write fast LINQ. Try to write LINQ that can give you the size of a table of billion of records. Of course 99,9 percent of database developers for sql server don’t know it either. I am not at work right now, but wouldn't that be entity.table.count() , or something lik...
by Pio
Mon Aug 31, 2020 6:08 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Engine Crash Detective Story
Replies: 24
Views: 1480

Re: Engine Crash Detective Story

Don't use linq in move generation. Too slow LINQ for move generation? That's insanity. I avoid it even for line-of-business applications. If your code is in a tight loop that will be run many times, and hence performance is critical, then yes - use SQL. One criticism of linq I will make is that it ...
by Pio
Wed Aug 26, 2020 6:23 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Simplifying code
Replies: 98
Views: 25791

Re: Simplifying code

Looks like MD5 giving best performance. That is key of 128 bits. If I would use Sha512 I might as well store all bitboards in the key giving 8 x 64 = 512 bits. Maybe that would be best for now I have to verify if move from hashtable is invalid because of collisions. [url][/url] class ChessBoardBits...
by Pio
Mon Aug 17, 2020 9:07 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Don't understand NNUE
Replies: 14
Views: 3672

Re: Don't understand NNUE

Note that the first layer of the NN is simply King-location-dependent piece-square table. Two sets, one per friendly King, one per enemy King. This is a well-known technique, which allows easy incremental updating similar to normal PST, except when the Kings move. (In which case the new total value...