lantonov / asmFish

A continuation of the nice project asmFish by Mohammed Li. Latest version: 07.08.2019

Home Page:https://lantonov.github.io/asmFish/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Meaningless cycle

Silver-Fang opened this issue · comments

default
These two meaningless checks just return to the original position. How come?

This may be solved by analyzing for longer. But I think this is a bug causing a lot of time waste internally. And in actual games it may well, really go Qg1+, and go back again. Similar problems happen from time to time at many positions, usually about a queen consecutively checking the opponent king for many times.

Stockfish intentionally does not treat the first repetition of the root position as a draw to fix a perceived problem of MultiPV. (In my view the perceived problem is not a problem and the fix is a bug.)

syzygy1 is correct that this behaviour is due to a fix introduced about an year ago in SF (and AF) that avoided evaluation of the first repetition as a draw. The problem was that SF often went for early draw (within the first 12-20 moves) even with weak engines when it saw no better move than repetition. Allowing engine to think for one more move reduced the number of these early draws.

commented

To be honest, when I saw the title, I though the issue was one of the following:

  1. There is a useless instruction somewhere wasting a cpu clock cycle.
  2. A cyclic dependency was introduced in the allocated objects

Thankfully, I don't care about the former anymore, and the latter can't happen because asmfish is not even close to being garbage collected. Happy bug hunting!

Not much of an issue, IMO