Search found 81 matches

by odomobo
Sat Feb 20, 2021 7:36 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Coding Adventure: Chess AI
Replies: 21
Views: 1148

Re: Coding Adventure: Chess AI

lithander wrote:
Sat Feb 20, 2021 6:38 pm
I'm open for naming suggestions...
It doesn't feel right giving it a name that he didn't provide. "SebLagueChessEngine" is pretty descriptive. Some other options are "SebLagueChessAI" or "CodingAdventureChessAI", since "Chess AI" is the closest thing to a name that it has.
by odomobo
Sat Feb 20, 2021 6:27 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Coding Adventure: Chess AI
Replies: 21
Views: 1148

Re: Coding Adventure: Chess AI

I gutted MinimalChess so that only the UCI part remained. Then copied all the relevant code files... So I was planning on doing this, because I'd like a UCI (or CECP) version of his engine to play around with. Since you already did the work, can you name it something appropriate, credit Sebastian, ...
by odomobo
Thu Aug 06, 2020 3:06 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: negamax alpha beta search doesn't always return mating score
Replies: 25
Views: 4269

Re: negamax alpha beta search doesn't always return mating score

// associate best score with best move if (alpha != old_alpha) best_move = best_so_far; Is best_move a global? If yes, then shouldn't we only be setting this at the root of the search? Otherwise this might get set on moves at nearly the leaf of the tree, and should often be suggesting illegal moves.
by odomobo
Fri Jul 31, 2020 4:34 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Simplifying code
Replies: 137
Views: 62688

Re: Simplifying code

- Tried to write it functional. So recursion instead of loops. Recursion instead of iteration is pretty bad in languages without tail-call recursion. And, honestly, tail-call recursion is a hack to allow functional languages to have better performance than they should. - yes for debugging nested ex...
by odomobo
Thu Jul 30, 2020 7:07 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Simplifying code
Replies: 137
Views: 62688

Re: Simplifying code

Instead of calling .Aggregate(), you can call .Sum() to simplify. Even though the performance for perft isn't the biggest concern, there are 2 issues with using LinQ IMO: It creates additional objects, which need to be GCd. You lose some control over the sequence in which the code is executed. It ca...
by odomobo
Mon Jul 27, 2020 6:51 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Implementing Contempt For The Draw
Replies: 1
Views: 1136

Re: Implementing Contempt For The Draw

It doesn't look like FirstChess will evaluate a draw for repetition or 50 move rule, so it will actually blindly stumble into those without realizing they terminate the game. The only draw FirstChess can see is stalemate, which I see on line 623. For contempt, there are 2 things to take into account...
by odomobo
Thu Jul 23, 2020 6:03 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Looking for automatic Engine Testing Software
Replies: 51
Views: 11035

Re: Looking for automatic Engine Testing Software

Which is your setting about resign and draw? How much CPU can be saved with it? I think it can be somewhat dangerous to use automatic adjudication in engine testing tournaments. This is for 2 reasons: there are some positions that engines typically see as a win but are actually drawn, and otherwise...
by odomobo
Tue Jul 21, 2020 9:51 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: When a Node Type Changes...
Replies: 2
Views: 1533

Re: When a Node Type Changes...

So if I understand the matter correctly, here's a conclusion: If every PV node and cut node has perfect ordering (i.e. the PV move or a cut move is evaluated first), then you will see that every expected cut node will be a cut node, and every expected all node will be an all node. However, if a cut ...
by odomobo
Fri Jul 10, 2020 3:45 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Question on Texel's Tuning Method
Replies: 14
Views: 3719

Re: Question on Texel's Tuning Method

You should first convert your scores to win probabilities first so the big scores won’t dominate. It is the mean squares of the win probabilities you want to minimise. Yeah, texel tuning does this via a sigmoid function. It isn't only to get the probabilities but the absolute values will have a dif...
by odomobo
Fri Jul 10, 2020 2:03 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Question on Texel's Tuning Method
Replies: 14
Views: 3719

Re: Question on Texel's Tuning Method

Pio wrote:
Fri Jul 10, 2020 1:43 pm
You should first convert your scores to win probabilities first so the big scores won’t dominate. It is the mean squares of the win probabilities you want to minimise.
Yeah, texel tuning does this via a sigmoid function.