Search found 195 matches

by Pio
Tue Sep 08, 2020 8:00 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Neural network quantization
Replies: 11
Views: 1919

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: 5765

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: 5765

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: 137
Views: 53593

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: 5562

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...
by Pio
Sat Aug 08, 2020 7:59 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Idea #13 [experiment]
Replies: 14
Views: 3372

Re: Idea #13 [experiment]

Things are better now, maybe (in the end) it can be used for evaluation as well. PGN : pgn\elo-2600.pgn Games 82.208 Phase : Middle Game White Pawn +-----+-----+-----+-----+-----+-----+-----+-----+ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 8 +-----+-----+-----+-----+-----+-----+-----+-----+ | 0 | 1 | 1 | 2...
by Pio
Wed Aug 05, 2020 11:10 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Arena chess error: BytesRead > 0 | LiesThread.Execute terminated
Replies: 7
Views: 1234

Re: Arena chess error: BytesRead > 0 | LiesThread.Execute terminated

Hi guys! I'm debugging my own engine in the arena GUI. It plays itself until reaches certain position 3r4/8/5kp1/p2p4/2r5/2P2R2/P6P/3R3K b - - 0 38 and then I'm getting this error: 2020-08-05 21:20:46,444-->1:position startpos moves d2d4 d7d5 c1f4 c8f5 e2e3 e7e6 b1c3 f8d6 f1b5 b8c6 g2g4 f5g6 g1f3 d...
by Pio
Tue Aug 04, 2020 8:32 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: NNUE accessible explanation
Replies: 16
Views: 6002

Re: NNUE accessible explanation

Notably, my understanding is nodchip also has as input for each square whether a capture occured there. Ha, interesting, there's a lot of tricks one can do here. You can also cheat with piece types. It's not clear to me whether NNUE can distinguish between castling state right now? But you can fix ...
by Pio
Sun Aug 02, 2020 5:57 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Simplifying code
Replies: 137
Views: 53593

Re: Simplifying code

Most people use structs very rarely. I like them and I use them in my engine for my board representation. If I need a copy of my board I just write boardCopy = board. For me it is not a big problem that I always copy the board and that structs are passed by value since my board representation is on...
by Pio
Sun Aug 02, 2020 5:46 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Simplifying code
Replies: 137
Views: 53593

Re: Simplifying code

Most people use structs very rarely. I like them and I use them in my engine for my board representation. If I need a copy of my board I just write boardCopy = board. For me it is not a big problem that I always copy the board and that structs are passed by value since my board representation is on...