Search found 157 matches

by nionita
Fri Mar 01, 2019 8:37 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Training the trainer: how is it done for Stockfish?
Replies: 22
Views: 1321

Re: Training the trainer: how is it done for Stockfish?

Stockfish is not trained. When Stockfish developers have a new idea (e.g. a search or evaluation improvement), they implement and test it by playing many games against current best version. If the new Stockfish is better, then it becomes the current best. This is the way classic AB engines are impro...
by nionita
Sat Feb 23, 2019 7:05 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: MCTS implementation question
Replies: 2
Views: 497

Re: MCTS implementation question

The search aim is to approximate the node values. But once you have terminal nodes, there is no need to approximate anymore, their value is exact. So those nodes should not be visited again. Instead their parents should be aware of such descendants, such that: - if one descendant is a win, the paren...
by nionita
Sat Feb 16, 2019 12:02 am
Forum: Computer Chess Club: General Topics
Topic: Barbarossa 0.5.0 released
Replies: 2
Views: 460

Barbarossa 0.5.0 released

Hi all, I just released version 0.5.0 of Barbarossa, which has again many improvements in eval & search, as well as some technical optimizations. In self play it's about 140 elo points better than version 0.4.0. Barbarossa is the best open source Haskell chess engine. I created binaries for Win7 (32...
by nionita
Thu Jan 31, 2019 12:22 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: JavaScript question
Replies: 4
Views: 544

Re: JavaScript question

Yes, for arrays this is true, you just copy a reference. For primitive type you would copy the value itself.
by nionita
Tue Jun 12, 2018 7:25 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: whether or not a piece has moved and how many times
Replies: 11
Views: 2000

Re: whether or not a piece has moved and how many times

Curious about how others have implemented calculation of how many times each piece has moved since the beginning of the game. The concern is when a piece has been captured in a make move and then uncaptured and updating the array. How did you solve this? I'd do it the same way I handle the 50-move ...
by nionita
Wed Dec 13, 2017 11:16 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Google's AlphaGo team has been working on chess
Replies: 203
Views: 56195

Re: Google's AlphaGo team has been working on chess

Note that the AlphaZero's NN is trained to predict the visiting frequencies the nodes will get in an MCTS. That doesn't necessarily correspond to the evaluation score of the moves. Moves with complex tactics will need a lot of visits before they are resolved one way or the other, because the MCTS w...
by nionita
Tue Dec 05, 2017 9:40 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: "Simplified ABDADA" updated
Replies: 7
Views: 2334

Re: "Simplified ABDADA" updated

I haven't tried LMR (I know, I know) but I suspect this isn't correct. What you could do is, as you're deferring the move, record the depth that you WOULD have searched the move at. Ok, I will have to try this. I was thinking that, when you defer a move, chances are high that when you come to searc...
by nionita
Fri Nov 24, 2017 2:16 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: "Simplified ABDADA" updated
Replies: 7
Views: 2334

Re: "Simplified ABDADA" updated

Hi Tom, Many thanks for the write up! I followed your ideas and implemented simplified ABDADA in Barbarossa (up to step 6, but without cutoff checks yet). I skipped some of the preparation steps which were meant basically to make sure the implementation is correct so far. In my own tests I got ~80 E...
by nionita
Tue Nov 07, 2017 9:26 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Functional programming
Replies: 4
Views: 1204

Re: Functional programming

You do not do assignments, you just name values. Like in mathematic.

But for a hash table you have the IO monad, where you can do what you want.

Still, the model is harder to implement in a mutable world (like the processors are), so the program is slower (see Barbarossa).
by nionita
Sun Oct 29, 2017 5:51 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: On-line engine blitz tourney October
Replies: 54
Views: 6207

Re: On-line engine blitz tourney October

Anyway, I like this system and I believe that it is more stable than swiss, in the sense that the results are more reliable and less a matter of luck. Of course a bit randomness occurs in every game even between (almost) equal opponents, but still.