10 years long, no one interested in updating GTP-2002 SGF-2006 for AI-2016 output data?

Ten years since AlphaGo-LeeSedol Match, we, the Baduk/Go/Weiqi community, still have no proper update of GTP or SGF, the base of any baduk software or website. Such as simple as WIN-RATE, an usual output data of modern bots like LeelaZero or KataGo, not found in GTP2 or SGF4. Perhaps we need sort of GTP3 or SGF5, do you agree?

  • Yes, indeed.
  • Not a bit.
  • Perhaps.
  • Just follow KataGo API.
0 voters

Sgf allows custom tags, so we don’t need a new spec do we? Is the point of your post you don’t want to rely only on convention for these new tags, but codify them in a new spec?

2 Likes

That’s where not proper. Sabaki uses SBKV, Ogatak uses OGSC, KaTrain uses … Just take a look at the sgf files they print:

 vanilla: (;GM[1]FF[4]CA[UTF-8]SZ[19]KM[7.5];B[pd];W[cp];...;W[qo])
  Sabaki: ...;W[qo]SBKV[15.28])
 KaTrain: ...;W[qo]KT[H4sIALOAeWkC...
  Lizzie: ...;W[qo]LZ[0.7.4 68.1 2.1k move R8 visits 648 winrate 3297...
Lizgoban: ...;W[qo]LZ[0.7.2 67.6 13k move Q7 visits 1812 winrate 3330...
  Ogatak: ...;W[qo]SBKV[12.3]OGSC[-5.6])
    q5Go: ...;W[qo]QKGV[1890:0.142148:-5.05071:17.4266::kg])
onlinego: ...
  • So we can’t exchange SGF files with AI reviews.
  • Even Sabaki, can not deal with complex SGF4 standard files well.
  • Those printed sgf files couldn’t be read by human properly, far ayaw from the SGF Spirit: for both human and computer.

As for GTP2, e.g., no play b resign, no ai_analyze command standardizing, no …

Another way, not to update GTP or SGF, just follow KataGo API…

1 Like

There’s also an issue where lots of programs don’t respect or implement all the standards, it’s not entirely clear that introducing a new standard will fix that. For example, SGF has long supported non-square boards, via notation like SZ[13:19], but many programs specifically designed to be SGF editors for Go don’t seem to support it.

6 Likes

I dont think we should make a new standard just for the sake of it. We can focus on making good software, and standardize when interop is needed.

Edit: though i guess some standardization of AI output is a good idea (but you dont need to entirely replace the old standards for it)

2 Likes

Who needs to open an AI review created by a program with another program and why?

1 Like

Examples

  • A: You use Online-Go mostly, I use Ogatak mostly, if you send me a sgf file with AI analyze, I could see all of the AI reviews, and I don’t need to run AI once again.
  • B: You use KaTrain@PC mostly, I use BadukAI@Android mostly, if you send …

Different baduk gui have different style, feature, speed, etc. So exchanging sgf files is pretty usual. If every gui has their format, we don’t need SGF format for sure, i.e.

$ ls
game.ogs game.sbk game.kt game.q5go ...

Yes, that’s what I ask, a proper update for modern AI output data, and not sort of new format or protocol to replace SGF or GTP.

A GUI doesn’t need to implement all the standards, but a proper subset.
For SZ[13:19], a GUI could read it as SZ[19], and put all the stones to A~T * 1~13 area.

IIRC when I needed to implement GTP (I believe version 1) for use with gtp2ogs, there wasn’t any kind of reference available. So I reverse-engineered it by prompting GnuGo and looking at its output.

Does anything use version 2 and is the specification complete enough? It would be nice to have some kind of spec to follow.

3 Likes

There’re official websites of GTP and SGF for sure… Just search gotextprotocol or smartgameformat in bing, google or senseilibrary - the wikipedia for baduk/go/weiqi.

Both GTP and SGF are not that complex,

  • there are only 22 commands in GTP2
  • SGF4 is just a tree structure with several labels

So why not update them for AI era? With prettier base, we could build higher software/site skyscraper ever!