/r/cbaduk

Photograph via snooOG

Everything related to the usage of computers for the game of Go: from game databases to development of Go-playing AI.

Welcome to r/cbaduk subreddit devoted to everything related to the usage of computers for the game of Go: from game databases to development of Go-playing AI.

To discuss the game itself, please go to r/baduk.

(Upcoming) wiki: https://www.reddit.com/r/cbaduk/wiki/

/r/cbaduk

1,457 Subscribers

3

Is there a library to look at a photo and extract an SGF?

Don't mind which language, just want to feed in an image of an IRL goban and get data of the board state.

1 Comment
2024/10/24
15:24 UTC

4

Is there any app that can record the moves of both sides through the camera and generate sgf?

0 Comments
2024/10/18
05:23 UTC

2

[Book: Deep Learning and the Game of Go] Why doesn't it implement prisoners into scoring???

[EDIT] I'm sorry, I'm just stupid. Only after posting this it occurred to me: In case of no captures the N of stones should equal N of moves. So then only counting the N of stones on the board actually accounts for the captures by virtue of net difference in N of stones between the players... Not sure if I should leave the post or delete it

Hey there!

Anyone here who's read this book? I've just started, but now trying to implement scoring, but I can't find either in the book or on the GitHub repo (link) any implementation of scoring prisoners/captures. What? I'm totally confused.

So the scoring works like: 2 random bots playout games till there's no other legal moves except filling their own eyes (even eyes being single points surrounded by one color). Then it counts the territory and number of stones on the board but if in the process one player captured any amount of opponent stones it does not record that... This description is totally accurate as there are few different versions of the program depending which chapter you're reading, but NONE of them account for prisoners and literal captures whatsoever. Does that not matter at all? How useful is that bot then?

Apologies for the little rant, but I'd love some insights on this from someone who's read the book and understands this.

4 Comments
2024/09/24
20:38 UTC

4

We just released a new play vs bots mode on our website

0 Comments
2023/09/13
12:02 UTC

7

Simplest scoring algorithm

I'm trying to make a Go engine running completely on blockchain (personal pet project).

I'm struggling a bit with the scoring algorithm. I want players to mark dead/alive groups, and count the score based on that. However, even this doesn't seam to be that simple (for cases like seki).

Any help/advice on the scoring the board programmatically is welcomed.

Here is simplified version of the data structure and algorithm that I used so far:

Board: matrix with values: Empty, Black, White
Scoring State: matrix with values: AliveStone, DeadStone, Neutral, TerritoryBlack, TerritoryWhite,

Assuming the game is properly finished (territory well defined, no Ko-s left, dame could still be on the board). Once both players pass, I initialize scoring state in the following way:

  1. Mark all stones as Alive.
  2. For each empty spot, run graph search and identify all empty spots that it's connected to, and mark them as TerritoryBlack/TerritoryWhite if they all have only Black/White neighbor, otherwise mark them Neutral.

Now, players can mark stones as dead/alive and I update the state in the following ways:

  1. From the selected stone (let's say Black), run graph search that includes all empty spots and stones of the same color (Black) => resulting in a group of Black stones and Empty spots whose neighbors are just White stones
  2. Mark all stones in the group as dead/alive
  3. For each empty spot in the group do the step 2. above again, but consider all dead stones as empty spaces

This seams to work correctly if there are no Sekis with with eyes (e.g. see ScoringIssuesInSeki) regardless of the rules (unless I missed some other special case).

This might even be fully correct for Chinese scoring, but I'm not sure if there is some corner case that I didn't consider. And it's clearly wrong for Japanese scoring.

Any advice?

3 Comments
2023/08/17
16:26 UTC

3

Previous moves as input

Do engines these days still take as input the sequence on the last n moves? I remember it used to be last 8 moves with AlphaGo. It always seemed a bit off - the best move should be determined solely from the board state and ko state, shouldn't it?

3 Comments
2023/07/20
12:17 UTC

6

Good tutorials for AI engine (pref Katago) and GUI directed at non-technical people?

TLDR; I need links to good practical tutorials for Katago + good GUI for analysing games, directed at non-techyy people!

Longer story:

I am coming back to go from the pre-AI (superhuman variety at least) era, and I am trying to get a grip on how to play and train with AI. I am very happy to see that there is such a lovely community of people putting time and effort into providing free and open support. But among all of these riches, I am still a bit frustrated due to the lack of informative instructions on how to actually use the programs.

On my -- admittedly very confused -- understanding, Katago seems to be a good engine, and there are a number of GUIs to connect it to. I will mostly use the AI for analysing my own and other's games, and I have heard good things about Ogatak as a GUI, but I am still rather non-committal in that regard. What I am looking for is tips (pref links) to good tutorials on how to connect Katago to a good GUI. I have a great computer, but it is a mac (M1 Max), so anything working with that is pref of course. But really, anything that can help me understand anything from how to choose network to how to actually use the GUI to get good information (I have seen amazing charts of win-percentage, estimated score etc etc) when analysing would be great.

Thanks in advance and sorry for the newbie question, but it IS confusing and google has not helped me (yet).

2 Comments
2023/06/04
13:21 UTC

0 Comments
2023/05/13
03:12 UTC

1

looking for Leela master weights

The link to the google drive where the weights were stored is broken.

https://drive.google.com/drive/folders/1bB8ee1wFuRWL9nPhsl4_BPUhcWSBuxO0?usp=sharing

https://github.com/pangafu/LeelaMasterWeight

tried wayback machine but no luck.

wondered if anyone has some or all of the master network weights?

1 Comment
2023/03/29
11:10 UTC

3

Running KaTrain on Mac

Did anyone run KaTrain successfully on Mac?

I'm having the below error when running it even though I'm using the latest version of KaTrain.

ERROR: Engine died unexpectedly without sending output: status -6

https://preview.redd.it/8wvza6mvu3la1.png?width=1581&format=png&auto=webp&s=17652cd651af40f754124cc92cbd71756453a058

I'm not using mac with M1.
MacOS is Ventura 13.2.1.

If anyone knows how to resolve this it will be much appreciated!

P.S. I tried asking on KaTrain GitHub but no solutions yet so far.

6 Comments
2023/03/01
10:33 UTC

1

Go C#/Java implementation

Hello everyone, I am searching for a Go library/engine/project written in C# or Java that would include a forward model so that I can use it to make an AI. Does anyone know of anything of that sort?

(The reason is that I want to test an AI that I created for a different game in Go - that AI is witten in C# and I'd rather avoid both having to migrate to a different language and coding Go from scratch.)

5 Comments
2023/02/10
15:21 UTC

0 Comments
2022/11/19
10:28 UTC

2

How much compute for a superhuman AI?

I have an RTX 3060 and I was wondering if I were to program a go AI how strong could I get it using only this GPU using similar approach to modern AI (as I understand it's MCTS + neural net) ? I assume it also depends on how long you train it but I'm trying to get a very ballpark idea. Like would it take a month to get to shodan? A year? A million years?

3 Comments
2022/09/03
01:41 UTC

1

Changing a setting for KataGo

I've been told there's some setting in the configurations to make KataGo not play the same moves in the same order like for the opening. Could anyone direct me on how to do this or where to look?

The "avoid sgf patterns" section looks right, but I don't wanna change something I don't mean to.

1 Comment
2022/08/21
01:25 UTC

0

AI trained with a 'resign' neuron?

Was wondering if they're any AI trained with a resign neuron?

How would it affect playstyle?

Instead of hard coding a 'resign limit' (like winrate drops below 50%.)

1 Comment
2022/08/20
15:54 UTC

2

How to play against HiraBot on the laptop with NVIDIA GPU?

The HiraBot 6d on KGS went off and I still want to play against it... (I have only one win against it)

So I downloaded HiraBot with the link in the profile of HiraBot43.

When I run "Hiratuka19x19.exe", it always show this notification and can't detect the NVIDIA GPU.

I have NVIDIA 1650ti and installed CUDA Toolkit 11.6 on my laptop.

How to set Hirabot to run on the NVIDIA GPU?

Ps: It runs very slowly with only CPU.

https://preview.redd.it/tksg908jn6w81.png?width=1920&format=png&auto=webp&s=1cef1fee78df19a495ef5e3034bd4997da4c8101

4 Comments
2022/04/28
02:54 UTC

12

Participation in a study on Go in the field of mathematical psychology

I invite you to take 45 minutes to an hour of your time to participate in a study on the game of Go and mathematical psychology.

The work aims to build and validate a particular mathematical model, for the assessment of the procedural skills used in solving life and death problems.

This model can be extended and used to build automated teaching tools.

For its validation, the participation of players is required, you could help by answering 17 tsumego in this questionnaire https://psicologiapd.fra1.qualtrics.com/jfe/form/SV_1TE2QxSgWYZZR9Y.

Thank you in advance,

Niccolò Sgaravatti

6 Comments
2022/04/07
13:02 UTC

3

How to include score in Zobrist hash?

Working on a go program. Getting some duplicate hashes. I allow self-capture, so I get a duplicate board position. Not including a ko point in the hash right now.

For example, black moves in one of white's 1 point eyes and is immediately captured. Board position is the same.

How would I include the captured stones in the hash?

Do i need to include who's turn it is?

Edit: Only including board state in hash now. Only looking at simple ko now. Yes, moving in a one space eye is silly. Not doing any machine learning or detecting transpositions. Good point about not including captured stones. Was planning to add super-ko later.

This was very helpful: " You include any property in the zobrist hash the same way. You pre-define a fixed random code for every possible unique value of the property you want to include, and then in any particular game state, xor into the final hash the code that corresponds to the value of that property in that game state. ".

Code is at source forget because I got annoyed at github.

2 Comments
2022/03/04
19:54 UTC

12

You can now play against KataGo on AI Sensei

0 Comments
2022/01/28
11:29 UTC

3

Is there an open source/self-hostable Go server/engine?

I'm looking for an open source Go server / engine. By engine I don't mean a bot to play the game, I am looking for software that facilitates a game between 2 players, handles rules, scoring etc.

Also not looking for a fully-fledged server that can handle thousands of concurrent connections or provide any sort of front end. Just something that takes a GTP connection for 2 players (or similar) and provides the game logic.

Does any such open source software exist?

1 Comment
2021/12/29
19:04 UTC

3

Open-Source Translation of a Book using LaTeX and GoWrite2

0 Comments
2021/12/19
12:24 UTC

3

How to push server game state to GTP client?

I have a primitive server that allows to clients to play each other.

If the server restores an existing game. It's easy to find the moves in the recorder and send them to each client. However, the SGF board size command is not a move, so that needs to be extracted and pushed to the clients.

I wonder if there is other information (from the SGF nodes) that is needed? In my case, my program allows for unusual go boards, so I need to extract that information also and send it to the clients.

Does anyone have any experience with this?

2 Comments
2021/12/15
03:26 UTC

1 Comment
2021/11/19
10:28 UTC

3

Massachusetts Go Foundation League last day to sign up

1 Comment
2021/09/30
16:41 UTC

8

Alpha tester wanted for a go program.

I have a java based go program (not an AI) that plays on unusual goban topologies and shapes.

You would need to be able to download and unzip some files and type a few commands in a dos box or terminal window on a mac or unix box. Being familiar with java or eclipse would not hurt. Being able to help design (or at least be an intelligent sounding board for) the rest of the server stuff would be a plus.

I can trade you for go lessons if you are weaker than 5k. I am rtayek on ogs.

0 Comments
2021/09/24
00:21 UTC

1

How to chnage ai go program's scoring method?

I would like to change the scoring method of one of the open source ai go programs. I want the scoring method to be the number of stones that it wins by. I would like to train this algorithm from scratch. There is some mention of this in this post on How to force KataGo to win by max points ....

I tried downloading the latest katrain on windows 10 using pip, but it complained about not being able to find a window. So I removed python and installed anaconda and now katrain can't run (fatal error in launcher). I have had a number of python and conda installs over the last 5 years.

I did get the windows .exe to work.

Has anyone had recent luck with the pip install? Or perhaps a different program would be easier to modity?

Thanks

4 Comments
2021/09/20
17:35 UTC

11

Go Performance Quality: a program that generates a Quality score for one's games

I am working on a project to evaluate how well a player performs during a game of Go. I have had a few people request that I make this program available, so I have released a limited version for free personal use.

I do not yet have a good brand for the product yet, so it is currently called Go Performance Quality.

Here is a brief explanation of what this program does. It first analyzes a single game using KataGo with a deep enough network with enough visits per move to be reasonably confident that it is not missing something obvious. It then transforms the point-loss-per-move metrics into a feature vector that represents each player's performance. It transforms this feature vector using hyperparameters derived from an admittedly small corpus of games to generate a scalar value, the Quality score.

The Quality score basically (but not necessarily) ranges from +10 to -10. +10 is probably superhuman; I have not seen any pro games hit this score in my small subset of tested games. -10 basically means that both players missed the most urgent point on the board for most of the game. ~0 centers around my play as an ~3k across multiple servers playing what is apparently my historically average game.

You can read more detailed notes in the README in the repository linked above.

I am continuing this project in the hopes that I can generate more universally useful reports. I am aware of several of the program's shortcomings. I am currently gathering data so I can train something even better.

Please try my program, then let me know what you think. I have already received feedback from people who will not try my program, and it has not led to any insights that might enable me to improve it.

I am also interested in requests for additional features, though I make no promises as to whether I will spend time on them.

13 Comments
2021/09/16
21:02 UTC

Back To Top