Search found 716 matches

by Rein Halbersma
Tue Mar 23, 2021 2:26 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Computer Checkers / Pattern based evaluations
Replies: 11
Views: 1072

Re: Computer Checkers / Pattern based evaluations

Thanks for your answers! I should maybe mention first that I never found any good accessible explanations of how to do a pattern optimization (just as I have never found any good accessible explanation of new concepts such as NNUE); until a few weeks ago I was using a Texel-kind of tuning method fo...
by Rein Halbersma
Tue Mar 23, 2021 8:21 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Computer Checkers / Pattern based evaluations
Replies: 11
Views: 1072

Re: Computer Checkers / Pattern based evaluations

Thanks Rein for the nitpick; I didn't realize that. I should have married a statistician too :-) See https://www.jair.org/index.php/jair/article/view/10146/24043 for the first appearance of Logistello. In Cake, I use a combination of 2-, 3- and 5-valued indices. Ed & amazing: It must be hard progra...
by Rein Halbersma
Mon Mar 22, 2021 10:57 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Computer Checkers / Pattern based evaluations
Replies: 11
Views: 1072

Re: Computer Checkers / Pattern based evaluations

Btw, very nice blog on your website, amazing that you have edged out Ed for now. Nitpick: Buro might have pioneered the use of logistic regression in Othello but he didn’t invent the technique itself. It has been well known in statistics since at least the 1950s. He got the idea from his statisticia...
by Rein Halbersma
Mon Mar 22, 2021 10:19 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Computer Checkers / Pattern based evaluations
Replies: 11
Views: 1072

Re: Computer Checkers / Pattern based evaluations

AFAIK, such board patterns with 3-valued indices were invented by Fabien Letouzey in 2015. If there are prior uses, Fabien might know. Are you using 5-valued indices? Obviously, games with many piece types suffer in indexing efficiency, and games with long range piece interaction might also be hampe...
by Rein Halbersma
Mon Mar 08, 2021 9:23 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: C++ code for board[8][8] representation
Replies: 7
Views: 1044

Re: C++ code for board[8][8] representation

Code: Select all

#include <array>
  
constexpr auto mapping = [] {
    std::array<int, 128> ret{};
    ret['K'] = 1;
    ret['Q'] = 2;
    return ret;
}();
Or you can just use an immediately invoked lambda expression ;-)
by Rein Halbersma
Fri Feb 12, 2021 7:31 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Thought bitboards was faster :-)
Replies: 38
Views: 4542

Re: Thought bitboards was faster :-)

Using compiler explorer (I don't have latest MSVC installed), it seems MSVC add a test for popcount, and other <bit> functions. int bitcount(uint64_t b) { return std::popcount<uint64_t>(b); } Small nitpick: it's almost never necessary to help the compiler by providing explicit template arguments. Y...
by Rein Halbersma
Tue Feb 02, 2021 9:19 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: None-GPL NNUE probing code.
Replies: 21
Views: 4333

Re: None-GPL NNUE probing code.

NNUE architecture learns king safety and attack very quickly but something simple as piece values maybe hard without factorizer, or having it as input directly. NNUE is just a tiny net, no magic in it. I feel like a 2x32 conv net I have can compete with it but I need to write a fast inference code ...
by Rein Halbersma
Wed Jan 27, 2021 12:46 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: EGT generation when perpetual check is a loss
Replies: 2
Views: 979

Re: EGT generation when perpetual check is a loss

Isn't it more economical to handle perpetual checks as a post-processing step after the regular EGT generation instead of after every iteration? Here's what I do with the public information subset of Stratego endgames (not yet published) where perpetual chasing is forbidden. First, generate an EGT i...
by Rein Halbersma
Tue Jan 26, 2021 6:15 pm
Forum: Computer Chess Club: General Topics
Topic: correspondence chess in the age of NNUE
Replies: 132
Views: 25771

Re: correspondence chess in the age of NNUE

I suppose the actual wording should read something like: If a move is played that repeats the position for the third time, either player may call it a repetition, with the repeating side getting 1/4 point, the other side 3/4 point. For engine vs. engine play I suppose it would be automatically scor...
by Rein Halbersma
Fri Jan 22, 2021 10:18 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: More experiments with neural nets
Replies: 11
Views: 4692

Re: More experiments with neural nets

For training I use C++ with libTorch. I've been experimenting with PyTorch, the data-loader from PyTorch is so slow that it is unusable. Writing a data-loader in Python is not done either, I've never seen a language as slow as PyThon, It makes me wonder why most data-scientists insist on using this...