Search found 3423 matches
- Fri Feb 12, 2021 8:16 am
- Forum: Computer Chess Club: Programming and Technical Discussions
- Topic: Thought bitboards was faster :-)
- Replies: 38
- Views: 2043
Re: Thought bitboards was faster :-)
I must admit that Qperft doesn't do pure bulk counting, because it doesn't use a fully-legal move generator. That is just the ting; my move generator is also pseudo-legal. To be able to bulk-count, I would therefore have to move the is-in-check function from make_move to the move generator; then it...
- Mon Feb 08, 2021 5:29 pm
- Forum: Computer Chess Club: Programming and Technical Discussions
- Topic: Effective branching factor question
- Replies: 1
- Views: 297
Re: Effective branching factor question
This looks normal, it is related to odd/even differences in the alpha-beta search tree. You could take the square root of nodes(iteration N) / nodes(iteration N-2). Take care not to include incomplete iterations (usually the last one is interrupted by timeout) and not to count nodes from previous it...
- Mon Feb 08, 2021 1:42 pm
- Forum: Computer Chess Club: Programming and Technical Discussions
- Topic: Best practices for transposition tables
- Replies: 14
- Views: 818
Re: Best practices for transposition tables
I think in middlegame positions the biggest gain you get from a TT is the move ordering improvement. The saving through transpositions is not the most important part there. I've just re-instated my old transposition table implementation from a year ago, which was written explicitly for perft. It on...
- Mon Feb 08, 2021 6:37 am
- Forum: Computer Chess Club: Programming and Technical Discussions
- Topic: Best practices for transposition tables
- Replies: 14
- Views: 818
- Sun Feb 07, 2021 4:17 pm
- Forum: Computer Chess Club: Programming and Technical Discussions
- Topic: Best practices for transposition tables
- Replies: 14
- Views: 818
Re: Best practices for transposition tables
I think in middlegame positions the biggest gain you get from a TT is the move ordering improvement. The saving through transpositions is not the most important part there.
- Sun Feb 07, 2021 2:37 pm
- Forum: Computer Chess Club: Programming and Technical Discussions
- Topic: Strange negamax behaviour
- Replies: 12
- Views: 495
Re: Strange negamax behaviour
One common error is that Evaluate() always returns a score from White viewpoint while negamax based search (also in quiescence()) expects a score from the viewpoint of the moving side.
- Thu Feb 04, 2021 12:00 pm
- Forum: Computer Chess Club: Programming and Technical Discussions
- Topic: seldepth: what is the correct way to calculate this?
- Replies: 15
- Views: 1074
Re: seldepth: what is the correct way to calculate this?
Ethereal does this: thread->seldepth = RootNode ? 0 : MAX(thread->seldepth, thread->height); in both search() and qsearch(). Is that what you mean? Yes. The problem that I see with your other approach is that it leads to random results, as explained in my previous post. I suspected this (as I said,...
- Thu Feb 04, 2021 7:48 am
- Forum: Computer Chess Club: Programming and Technical Discussions
- Topic: Why does my engine want to perpetually check?
- Replies: 46
- Views: 1812
Re: Why does my engine want to perpetually check?
Oh, this is actually benefitial? I thought it a flaw and dilberately collect all moves with the same score and then pick one of those at random. Now it seems the presumed bug is a feature. If you properly implemented alpha-beta, you will NEVER get two moves with the same score. The same 'score' can...
- Thu Feb 04, 2021 7:41 am
- Forum: Computer Chess Club: Programming and Technical Discussions
- Topic: Why does my engine want to perpetually check?
- Replies: 46
- Views: 1812
Re: Why does my engine want to perpetually check?
Oh, this is actually benefitial? I thought it a flaw and dilberately collect all moves with the same score and then pick one of those at random. Now it seems the presumed bug is a feature. If you properly implemented alpha-beta, you will NEVER get two moves with the same score. The same 'score' can...
- Thu Feb 04, 2021 7:20 am
- Forum: Computer Chess Club: Programming and Technical Discussions
- Topic: seldepth: what is the correct way to calculate this?
- Replies: 15
- Views: 1074
Re: seldepth: what is the correct way to calculate this?
It does seem however, that going for the MaxDepth approach is best; I've quickly looked into Ethereal's code, and it does so as well (but it does it mutlithreaded). Ethereal does this: thread->seldepth = RootNode ? 0 : MAX(thread->seldepth, thread->height); in both search() and qsearch(). Is that w...