Search found 3423 matches

by Sven
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...
by Sven
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...
by Sven
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...
by Sven
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

Re: Best practices for transposition tables

hgm wrote:
Sun Feb 07, 2021 6:45 pm
IDD
I guess you mean IID 😉
by Sven
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.
by Sven
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.
by Sven
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,...
by Sven
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...
by Sven
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...
by Sven
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...