Search found 3381 matches

by Sven
Sat Sep 05, 2020 8:08 am
Forum: Computer Chess Club: Tournaments and Matches
Topic: Mr Bob And The Raven
Replies: 9
Views: 2816

Re: Mr Bob And The Raven

Thanks Graham. It does not happen too often that Jumbo wins a tourney so I am glad about this result! :wink:

This is still the old Jumbo from last year, and I also did not produce anything new in the meantime due to lack of spare time ... Don't know when this will change - we'll see.
by Sven
Sat Aug 08, 2020 12:56 pm
Forum: Computer Chess Club: General Topics
Topic: this will be the merge of a lifetime : SF 80 Elo+
Replies: 121
Views: 24299

Re: When to check NNUE box

"The idea is to use NNUE only on quite balanced material positions." This was based on the fact that SF-NNUE searches much more slowly than classic SF on most hardware. But if one has fast hardware, so that SF-NNUE runs fast enough, then why not always use SF-NNUE? How is stockfish defining 'quite ...
by Sven
Fri Aug 07, 2020 6:56 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: negamax alpha beta search doesn't always return mating score
Replies: 25
Views: 4037

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

I there is a mate in 1, and you do not get a mate score at any depth, there must be something wrong with your search. There doesn't seem to be anything wrong with the code you showed, score-wise. So the problem must be that you are not searching the correct tree. As always, staring at the code offe...
by Sven
Fri Aug 07, 2020 6:43 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: negamax alpha beta search doesn't always return mating score
Replies: 25
Views: 4037

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

But what does best_move contain? I am pretty sure that it will show you a random move from somewhere in the tree, maybe even an opponent's move. Unless the best root move is always tried last ...
by Sven
Thu Aug 06, 2020 6:47 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: negamax alpha beta search doesn't always return mating score
Replies: 25
Views: 4037

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

One of the things I notice is that you don't update the best move when there is a beta cut-off, but if everything else is right it should still return the mate score. Are you sure that the move-generator, the check for illegal moves and the is_square_attacked function are working in the way they sh...
by Sven
Thu Aug 06, 2020 6:28 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: negamax alpha beta search doesn't always return mating score
Replies: 25
Views: 4037

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

I would say something like: if (score > alpha) { best_sofar = xxx; if (score >= beta) return score; // or return beta for fail hard alpha = score; } Probably better to introduce a ply counter as well, since you only have to update the best_move at ply 0, I assume best_move is the move that you want...
by Sven
Thu Aug 06, 2020 3:11 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: negamax alpha beta search doesn't always return mating score
Replies: 25
Views: 4037

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

One of the things I notice is that you don't update the best move when there is a beta cut-off, but if everything else is right it should still return the mate score. Are you sure that the move-generator, the check for illegal moves and the is_square_attacked function are working in the way they sh...
by Sven
Thu Aug 06, 2020 3:08 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: negamax alpha beta search doesn't always return mating score
Replies: 25
Views: 4037

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

Main issues are: 1) "best_move" is a global variable which you seem to overwrite from everywhere in the tree. This can often lead to random results, not limited to mate scores. So you'd better make "best_move" an output parameter (in C++ "int & best_move" or in C/C++ "int * best_move"). It will be r...
by Sven
Wed Aug 05, 2020 11:27 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Simplifying code
Replies: 137
Views: 59577

Re: Simplifying code

I don't ask ... but I agree that it looks suspicious. The meaning of "noMoreMovesInStandPat" is unclear and its implementation looks wrong since it appears to cut off all possibly remaining quiet checks during qsearch based on a property of just the current move (which is a check or not, depending o...
by Sven
Wed Aug 05, 2020 6:55 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Simplifying code
Replies: 137
Views: 59577

Re: Simplifying code

O wait I forgot a !. That explains the performance difference. So code I wrote yersterday was not correct. stage == 3 && allowStandPat && !p.position.GivesCheck(mv) Which ! was missing? The one in this snippet above has always been there since you posted your NextMove() code. Omitting it would mean...