New android app "BadukAI"
-
floating
- Dies in gote
- Posts: 42
- Joined: Wed Dec 11, 2013 8:45 am
- Rank: 2k
- GD Posts: 0
- Has thanked: 13 times
- Been thanked: 9 times
Re: New android app "BadukAI"
I had this idea the other day, that what if there was a kind of a similar mobile helper app to go as there is for Pokemon Go. More precisely what I had in mind was an A.I. helper that I can bring in to analyze with just a few button presses wherever the game is on.
tldr; An overlay button that you can show over other mobile go apps like wbaduk's or goquest or whatever, and when pressed while watching the game in wbaduk/goquest etc, it would recreate the board to this other app (preferably baduk ai or something with as good A.I. tools) for easy import without the need of sgf hassle.
In Pokemon Go there are third party tools to get more information about the game, and the most popular ones work by overlaying that information on top of the Pokemon Go screen. The most basic function that most players use is this small round button that appears on top of Pokemon Go, and whenever they press the button, the app takes a screenshot of what it sees and analyzes it and then pops up an overlay window on top of the game window showing the information it gathered from the screenshot. Sometimes the screenshot can't capture everything and it prompts you to add extra information manually. You can this way get more information and save stats from in-game to the other app etc. Below is a youtube video showing some features of this in the most popular one, Calcy IV. At 2mins 30s part the overlayed blue round "calcy iv button" is seen on the video.
https://www.youtube.com/watch?v=aQJIjF4--_M&?t=02m30s
So for the game of Go there could be a similar app that has the overlay function which could show an overlay button, and whenever pressed, it would then collect information from the screen, and if it was a go board, it could get you the board position (quite) instantly without the need of saving, loading or moving around sgf files, heck I haven't even bothered to find out how I can save the sgf file of an ongoing game on the android wbaduk client. So after this the app would popup an overlay window asking about prisoners for both players (if not able to determine from the screenshot) and whether there are active ko's (illegal moves, if not able to determine from the screenshot) and whose turn is next (if not able to determine from the screenshot). With only just above information entered manually, you could then recreate the board position in the app and then analyze it with an A.I. As the go board looks pretty similar across most go apps, you should be able to use this overlay function easily with other go apps?
Then if we want to go even further, there could be another button (maybe accessible similarly with the long press like the other buttons in Pokemon Go's Calcy IV, that would open your phone's camera, and you could then move that over a real physical go board (or go game on a PC screen), and the app would then recreate the position from the real world goban into the app. I guess this would require a bit more in depth pattern recognition in the apps code to be able to recreate the position.
edit: Or perhaps instead of baking this feature into an existing AI analyzing app it could work as yet another app? An overlay app that takes a screenshot of phone screen or picture of real life goban and takes extra manual input (prisoners, illegal moves) to generate an sgf file if you prefer that only has a stillshot of a given board situation (no move history) and then has a direct link in the app to send it to another app like badukai. I guess this kind of modularity could be flexible(?), but you would then end up running say wbaduk, badukai and the third app all at the same time. However if you can get that all done with as few taps on the phone screen as possible with the help of shortcuts and gestures in the Android, I guess it could be useful this way too.
What do you think? Would you guys find this kind of feature useful? And those with the programming know-how, would it be hard to implement?
tldr; An overlay button that you can show over other mobile go apps like wbaduk's or goquest or whatever, and when pressed while watching the game in wbaduk/goquest etc, it would recreate the board to this other app (preferably baduk ai or something with as good A.I. tools) for easy import without the need of sgf hassle.
In Pokemon Go there are third party tools to get more information about the game, and the most popular ones work by overlaying that information on top of the Pokemon Go screen. The most basic function that most players use is this small round button that appears on top of Pokemon Go, and whenever they press the button, the app takes a screenshot of what it sees and analyzes it and then pops up an overlay window on top of the game window showing the information it gathered from the screenshot. Sometimes the screenshot can't capture everything and it prompts you to add extra information manually. You can this way get more information and save stats from in-game to the other app etc. Below is a youtube video showing some features of this in the most popular one, Calcy IV. At 2mins 30s part the overlayed blue round "calcy iv button" is seen on the video.
https://www.youtube.com/watch?v=aQJIjF4--_M&?t=02m30s
So for the game of Go there could be a similar app that has the overlay function which could show an overlay button, and whenever pressed, it would then collect information from the screen, and if it was a go board, it could get you the board position (quite) instantly without the need of saving, loading or moving around sgf files, heck I haven't even bothered to find out how I can save the sgf file of an ongoing game on the android wbaduk client. So after this the app would popup an overlay window asking about prisoners for both players (if not able to determine from the screenshot) and whether there are active ko's (illegal moves, if not able to determine from the screenshot) and whose turn is next (if not able to determine from the screenshot). With only just above information entered manually, you could then recreate the board position in the app and then analyze it with an A.I. As the go board looks pretty similar across most go apps, you should be able to use this overlay function easily with other go apps?
Then if we want to go even further, there could be another button (maybe accessible similarly with the long press like the other buttons in Pokemon Go's Calcy IV, that would open your phone's camera, and you could then move that over a real physical go board (or go game on a PC screen), and the app would then recreate the position from the real world goban into the app. I guess this would require a bit more in depth pattern recognition in the apps code to be able to recreate the position.
edit: Or perhaps instead of baking this feature into an existing AI analyzing app it could work as yet another app? An overlay app that takes a screenshot of phone screen or picture of real life goban and takes extra manual input (prisoners, illegal moves) to generate an sgf file if you prefer that only has a stillshot of a given board situation (no move history) and then has a direct link in the app to send it to another app like badukai. I guess this kind of modularity could be flexible(?), but you would then end up running say wbaduk, badukai and the third app all at the same time. However if you can get that all done with as few taps on the phone screen as possible with the help of shortcuts and gestures in the Android, I guess it could be useful this way too.
What do you think? Would you guys find this kind of feature useful? And those with the programming know-how, would it be hard to implement?
-
akigo
- Lives with ko
- Posts: 186
- Joined: Sun Jun 28, 2020 11:20 am
- GD Posts: 0
- Has thanked: 13 times
- Been thanked: 154 times
Re: New android app "BadukAI"
These are very interesting ideas.
I'd like to mention that you can get a kind of "static version" of your camera idea with existing apps:
Install the app "ImgToSgf" from play store.
Then you can take a picture from a real go board with your camera (or make a screenshot from any go app). Share the resulting image to the app "ImgToSgf". The app will pop up and detect the go board within the image. After completion it will activate a "Share" button by which you can share the resulting position to "BadukAI". Then BadukAI will pop up with the position and you can analyze it.
I'd like to mention that you can get a kind of "static version" of your camera idea with existing apps:
Install the app "ImgToSgf" from play store.
Then you can take a picture from a real go board with your camera (or make a screenshot from any go app). Share the resulting image to the app "ImgToSgf". The app will pop up and detect the go board within the image. After completion it will activate a "Share" button by which you can share the resulting position to "BadukAI". Then BadukAI will pop up with the position and you can analyze it.
-
And
- Gosei
- Posts: 1464
- Joined: Tue Sep 25, 2018 10:28 am
- GD Posts: 0
- Has thanked: 212 times
- Been thanked: 215 times
Re: New android app "BadukAI"
on tablet (MT8321) KG 20b works also fast, ~ 34 visits/min from starting position, LZ 40b ~ 17 visits/min from starting position. the difference with the previous version is not visible
-
akigo
- Lives with ko
- Posts: 186
- Joined: Sun Jun 28, 2020 11:20 am
- GD Posts: 0
- Has thanked: 13 times
- Been thanked: 154 times
Re: New android app "BadukAI"
@And
@go4thewin
Thank you very much for testing.
From the feedback it seems that the optimization in 1.4 works at least as well as in 1.3, so I put version 1.4 into play store. Further changes are:
If you are at the end of the game sequence, the ">" button is useless, so it now mutates into an "undo" button in this situation. In contrast to the "<" button, "undo" does not only go back, but deletes the last move played. This is helpful, if you want to correct a misclick.
The built-in 40b network for LeelaZero is now based on LZ 286 (before it originated from LZ 273).
@go4thewin
Thank you very much for testing.
From the feedback it seems that the optimization in 1.4 works at least as well as in 1.3, so I put version 1.4 into play store. Further changes are:
If you are at the end of the game sequence, the ">" button is useless, so it now mutates into an "undo" button in this situation. In contrast to the "<" button, "undo" does not only go back, but deletes the last move played. This is helpful, if you want to correct a misclick.
The built-in 40b network for LeelaZero is now based on LZ 286 (before it originated from LZ 273).
-
floating
- Dies in gote
- Posts: 42
- Joined: Wed Dec 11, 2013 8:45 am
- Rank: 2k
- GD Posts: 0
- Has thanked: 13 times
- Been thanked: 9 times
Re: New android app "BadukAI"
akigo cool! It seems you are the author of that app aswell, I'm excited and surprised in a way
It's just one step too much I have to take a screenshot and save it to the phone memory before proceeding to the next step so I don't bother to try it just now, but maybe I'll try when I check some slow paced big match from the east the next time⎄
-
akigo
- Lives with ko
- Posts: 186
- Joined: Sun Jun 28, 2020 11:20 am
- GD Posts: 0
- Has thanked: 13 times
- Been thanked: 154 times
Re: New android app "BadukAI"
I made an optimized version of the currently strongest confidently rated 40b network (s580). To use it, download the network files from https://github.com/aki65/aki65.github.i ... tag/v1.4.1 and follow the instructions there.
-
And
- Gosei
- Posts: 1464
- Joined: Tue Sep 25, 2018 10:28 am
- GD Posts: 0
- Has thanked: 212 times
- Been thanked: 215 times
Re: New android app "BadukAI"
KG BadukAI 40b(optimized version s580) 8d(-7) - CS Zero 8d 0:2
KG BadukAI 40b(original s580) 8d(-7) - CS Zero 8d 0:2
KG BadukAI 40b(optimized version s580) 9d(-8) - CS Zero 8d 0:2
KG BadukAI 40b(original s580) 8d(-7) - CS Zero 8d 0:2
KG BadukAI 40b(optimized version s580) 9d(-8) - CS Zero 8d 0:2
-
And
- Gosei
- Posts: 1464
- Joined: Tue Sep 25, 2018 10:28 am
- GD Posts: 0
- Has thanked: 212 times
- Been thanked: 215 times
Re: New android app "BadukAI"
KG BadukAI 40b(optimized version s580) playouts 1 - CS Zero 8d:
- Attachments
-
- BadukAI - CS Zero.sgf
- (1.49 KiB) Downloaded 1698 times
-
akigo
- Lives with ko
- Posts: 186
- Joined: Sun Jun 28, 2020 11:20 am
- GD Posts: 0
- Has thanked: 13 times
- Been thanked: 154 times
Re: New android app "BadukAI"
I made an optimized version of the currently strongest confidently rated 40b network (s604). To use it, download the network files from https://github.com/aki65/aki65.github.i ... tag/v1.4.2 and follow the instructions there.
-
akigo
- Lives with ko
- Posts: 186
- Joined: Sun Jun 28, 2020 11:20 am
- GD Posts: 0
- Has thanked: 13 times
- Been thanked: 154 times
Re: New android app "BadukAI"
I made a new version (1.5) available on github https://github.com/aki65/aki65.github.i ... tag/v1.5.0 and in playstore https://play.google.com/store/apps/deta ... r.baduk_ai.
It improves speed on some device types and fixes the bug, that winrate was not shown during play with very short response times (e.g. 1 playout)
It improves speed on some device types and fixes the bug, that winrate was not shown during play with very short response times (e.g. 1 playout)
-
akigo
- Lives with ko
- Posts: 186
- Joined: Sun Jun 28, 2020 11:20 am
- GD Posts: 0
- Has thanked: 13 times
- Been thanked: 154 times
Re: New android app "BadukAI"
I made a new version (1.6) available on play store (https://play.google.com/store/apps/deta ... r.baduk_ai) and on github (https://github.com/aki65/aki65.github.i ... tag/v1.6.0) with the following changes:
You can now play and analyze with KataGo on 9x9 and 13x13 board. You need to load an original KG network for this, like the built-in 10b, since the optimized networks are specifically tuned for 19x19. This should not matter though, as even the smaller KG networks are insanely strong on the smaller boards, and they are fast enough without optimization.
When you tap "analyse all", AI up to now spent a fixed amount of time (specified in "seconds/move") on each move. As this is not always suitable, you can now alternatively prescribe a fixed number of visits per move (by entering a positive number in "visits/move in analysis" in the settings menu).
When KG is pondering, a row with the best moves is displayed below the winrate histogram. This row now also contains a button "own". While you hold your finger on this button, the predicted ownership is visualized by a transparent overlay on the board (bright if the point will probably fall to white, dark if it will probably be owned by black, medium for in-between).
There is a new config parameter for KG: "playoutDoublingAdvantage", by which you can control its aggressiveness in handicap games (see KG's documentation for details).
You can now play and analyze with KataGo on 9x9 and 13x13 board. You need to load an original KG network for this, like the built-in 10b, since the optimized networks are specifically tuned for 19x19. This should not matter though, as even the smaller KG networks are insanely strong on the smaller boards, and they are fast enough without optimization.
When you tap "analyse all", AI up to now spent a fixed amount of time (specified in "seconds/move") on each move. As this is not always suitable, you can now alternatively prescribe a fixed number of visits per move (by entering a positive number in "visits/move in analysis" in the settings menu).
When KG is pondering, a row with the best moves is displayed below the winrate histogram. This row now also contains a button "own". While you hold your finger on this button, the predicted ownership is visualized by a transparent overlay on the board (bright if the point will probably fall to white, dark if it will probably be owned by black, medium for in-between).
There is a new config parameter for KG: "playoutDoublingAdvantage", by which you can control its aggressiveness in handicap games (see KG's documentation for details).