Git Product home page Git Product logo

Comments (2)

lightvector avatar lightvector commented on August 14, 2024

Thanks for the report! I don't think there is a bug in KataGo.

I'm guessing it's a bug in the GUI for failing to detect that the SGF contains illegal moves, or for ignoring the error message that KataGo reports when it rejects the illegal move. The first illegal move in the SGF appears to be on move 218 - this is an illegal ko capture by black. The very next move 219 also makes no sense, white plays a stone on the same spot that black played, which would be illegal even if you assumed that the black's ko capture was legal.

Right now, I think the GUI is probably incorrectly ignoring when KataGo rejects the illegal move, and proceeding as if the move were legal anyways. This results in the GUI showing a board state that is inconsistent with the board state that KataGo is providing the scoring or analysis for.

For example, if the GUI is using GTP, then as documented in the GTP spec at https://www.lysator.liu.se/~gunnar/gtp/gtp2-spec-draft2/gtp2-spec.html#SECTION00071000000000000000 at 6.3.3:

* play
arguments	move - Color and vertex of the move
effects         A stone of the requested color is played at the requested vertex. The number of captured stones is updated if needed and the move is added to the move history.
output          none
fails           syntax error, illegal move. In the latter case, fails with the error message ``illegal move''.
comments        Consecutive moves of the same color are not considered illegal from the protocol point of view.

So the GUI can parse the response to the play command to detect when "illegal move" is reported, and alert the user of the illegal move or react in some reasonable way, such as rejecting the move as well, instead of displaying the wrong analysis.

from katago.

hauensteina avatar hauensteina commented on August 14, 2024

from katago.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.