HackYardo / VastGo

:white_circle: :magnet: :chess_pawn: A Web App for the game of Go/Baduk/Weiqi. Based on Plotly Dash and GoTextProtocol engines.
MIT License
8 stars 1 forks source link

Can you train a katago with 2 steps in a row? #10

Open awsjgy opened 9 months ago

awsjgy commented 9 months ago

The Wildfox Go platform has a flying dagger game where you play 2 moves in a row, and I think it's fun!

HackYardo commented 9 months ago

No luck. I'm not major in AI, CS, Go. I can't modify KataGo source code or train a new model from zero.

HackYardo commented 9 months ago

@awsjgy Anyway, if you don't care about the strong or weak of AI (as the author of KataGo had told you), my app can support the foxwq dagger rule because it is only a subset of my proj, and can be played at any boardsize between 2x2 to 19x19 (or 29x29) with KataGo, and the turns of two-stone-one-move can be chosen by players not the server. But you need to wait for a while as I'm not major in CS so my coding speed is not fast, and there are many other features need to implemented. Please tell me if you want the foxwq dagger feature first...

awsjgy commented 9 months ago

@awsjgy Anyway, if you don't care about the strong or weak of AI (as the author of KataGo had told you), my app can support the foxwq dagger rule because it is only a subset of my proj, and can be played at any boardsize between 2x2 to 19x19 (or 29x29) with KataGo, and the turns of two-stone-one-move can be chosen by players not the server. But you need to wait for a while as I'm not major in CS so my coding speed is not fast, and there are many other features need to implemented. Please tell me if you want the foxwq dagger feature first...

@awsjgy Anyway, if you don't care about the strong or weak of AI (as the author of KataGo had told you), my app can support the foxwq dagger rule because it is only a subset of my proj, and can be played at any boardsize between 2x2 to 19x19 (or 29x29) with KataGo, and the turns of two-stone-one-move can be But you need to wait for a while as I'm not major in CS so my coding speed is not fast, and there are many other features need to be implemented. Please tell me if you want the foxwq dagger feature first...

Please tell me if you want the foxwq dagger feature first.... On China's Wildfox Go gaming platform, the platform with the largest number of Go players in the world, this flying dagger game has flourished. It's been almost 3 years since the previous January. The gameplay is constantly being iterated and updated, and if it wasn't fun, it couldn't have lasted forever. From the beginning of the 9-way board, transitioned to 11-way, and now supports the elevation of actually all, the highest level is the knife god > knife fairy > knife saint, etc.. This game is definitely not as purely random as you think, if it was completely random, then what's the point of playing. But people who know how to play can win 10 or more games in a row, is this a component of luck that can be determined? So this is also related to strength. I've been playing this game for almost 3 years now, so I know a lot about Flying Dagger. But Flying Dagger is a game developed in China, not many other countries know and play it. So I would like to modify the katago rule code for training and gui support for flying dagger rules, and then realize the human-machine game. 是这样。在中国野狐围棋对弈平台,这个全球围棋高手最多的围棋对弈平台,这个飞刀游戏盛行不衰。从前年1月份开始到现在已经过去将近3年。玩法不断地在迭代更新,要是不好玩,不可能一直这样持续下去。从最开始的9路棋盘,过渡到11路,现在支持升降级了居然都,最高等级是刀神>刀仙>刀圣 等。这个游戏绝对不是你想的那样纯粹随机,要是完全随机,那还有什么玩的必要呢。但是会玩的人可以连胜10几盘,这难道是运气成分可以决定的?所以这个也和实力有关系。我也玩了将近3年这个游戏了,所以对飞刀比较了解。但是飞刀游戏是中国开发的玩法,其他国家知道而且玩的不多。所以我希望通过修改katago规则代码,进行训练,并且gui支持飞刀规则,然后实现人机对弈。

awsjgy commented 9 months ago

@awsjgy Anyway, if you don't care about the strong or weak of AI (as the author of KataGo had told you), my app can support the foxwq dagger rule because it is only a subset of my proj, and can be played at any boardsize between 2x2 to 19x19 (or 29x29) with KataGo, and the turns of two-stone-one-move can be chosen by players not the server. But you need to wait for a while as I'm not major in CS so my coding speed is not fast, and there are many other features need to implemented. Please tell me if you want the foxwq dagger feature first...

Since there is no support for 2-step katago at the moment, I've tried to get katago to make 2 steps in a row by passing, but it doesn't work well. I used to combine human and machine to reach the level of knife fairy at the most, but it fell off quickly. This flying dagger game is developed by Tencent in China and should not be ignored!

awsjgy commented 9 months ago

无论如何,如果你不关心AI的强弱(正如KataGo的作者告诉你的那样),我的应用程序可以支持foxwq匕首规则,因为它只是我的项目的一个子集,可以使用KataGo在2x2到19x19(或29x29)之间的任何棋盘大小下玩,并且两石一招的回合可以由玩家而不是服务器选择。但是你需要等待一段时间,因为我不是CS专业,所以我的编码速度不快,还有很多其他功能需要实现。请告诉我您是否首先想要foxwq匕首功能...

I am trying to implement the flying dagger feature, this feature, I have tried to get Chinese programmers to do it, but very few of them know Go, and all of them are with a commercial purpose. But I know some people have made similar katago with different rules, a user named hzyhhzy on github, he made a lot of katago with different customized rules, including checkers, hex, backgammon, etc. You can refer to this . So I think the flying knife rule should be able to do the same. You can refer to this https://github.com/hzyhhzy/KataGo/tree/LifeGo2. So I think the flying dagger rules should be trainable as well, except that it requires a professional to solve the algorithmic problem, and although designed to have a luck component, this luck component can be solved by computation. If you have developed a similar flying knife function, but it is more difficult, you can do it in several steps, or unite with other enthusiasts to realize it. But first you need to provide a gui interface that supports the flying knife function. lizzie can be realized with expensive interfaces such as sabkai if it is more difficult. If you do it right - I'll be happy to help you test it!

Honestly now katago is strong but it doesn't help humans that much anymore from the moment it surpasses them. After all ai surpasses humans too much, like a person who is at a lower level than the ai is hard to surpass the ai, like a person trying to catch up with a car. But katago under customized rules is fun and can also provide entertainment as well as the power of development under normal rules of go. I think these extended commands and different rules should be given to pass on to amateur regular players and enthusiasts for the benefit of all. There are no announcements about how to train katago from 0, unlike leelazero, but katago is far more optimized than leelazero, both in terms of algorithms and strength.

我是想实现飞刀功能,这个功能,我曾经尝试让中国程序员做,但是他们很少懂围棋,都是带着商业的目的。但是我知道有人做过类似不同规则下的katago,github上一个叫hzyhhzy的用户,他做了很多不同自定义规则的katago,包括跳棋,hex,五子棋等。可以参考这个https://github.com/hzyhhzy/KataGo/tree/LifeGo2。所以我想飞刀规则应该也可以训练,只不过需要专业的人来解决算法问题,虽然设计到运气成分,但这个运气成分可以用计算来解决。如果你开发了类似的飞刀功能,但是比较困难,你可以分几步来完成,或者联合其他爱好者来实现。但是首先需要提供一个支持飞刀功能的gui界面。lizzie如果比较难可以用sabkai等贵界面来实现。如果你做好了·,我很乐意帮你去测试

说实在的现在katago虽然很强,但是对人类帮助没那么大了,从超越人类的那一刻起。毕竟ai超越人类太多,像一个比ai水平低的人是很难超过ai的,就像人去追赶汽车一样。但是自定义规则下的katago很有趣,也能和正常规则下的围棋规则一样,开发之力,提供娱乐的功能。我觉得应该把这些扩展命令和不同规则,给传到业余普通棋手和爱好者中,让大家都受益。目前还没有公布有关如何训练从0开始的katago,不像leelazero。但是katago无论算法和棋力都远远优化于leelazero

awsjgy commented 9 months ago

无论如何,如果你不关心AI的强弱(正如KataGo的作者告诉你的那样),我的应用程序可以支持foxwq匕首规则,因为它只是我的项目的一个子集,可以使用KataGo在2x2到19x19(或29x29)之间的任何棋盘大小下玩,并且两石一招的回合可以由玩家而不是服务器选择。但是你需要等待一段时间,因为我不是CS专业,所以我的编码速度不快,还有很多其他功能需要实现。请告诉我您是否首先想要foxwq匕首功能...

This flying daggers game started out, in January 2021, at first it was only 9 way, then it was updated to have both 9 way and 11 way. 9 way is pretty much played out, in the last few months the 9 way flying daggers have been canceled and only the 11 way ones are available. Can you make a flying dagger rule with gui, although you can't make a flying dagger katago, but I can play it with a human game. Flying daggers are 3 flying daggers for each of black and white under a given turn, so you would need to make a customizable number of flying daggers for the number of black and white under a given turn. This would make it much easier to not have to pass instead of playing 2 moves in a row. Let me know if you get it done and I'll test it and be happy to give you feedback! 这个飞刀游戏一开始,2021年1月份开始的,刚开始只有9路,后面更新到9路和11路都有。9路玩的差不多了,最近几个月取消了9路飞刀,只有11路的了。你可以做一个飞刀规则吗用gui,虽然你不能做飞刀katago,但是我可以用人机对弈玩。飞刀是黑白双方在指定回合下各有3把飞刀,所以你需要做一个在指定回合内,黑白双方数量可以自定义的飞刀数量。这样,就不用pass代替连下2步,会方便很多。如果你做好了,及时告诉我,我测试乐意反馈给你

awsjgy commented 9 months ago

无论如何,如果你不关心AI的强弱(正如KataGo的作者告诉你的那样),我的应用程序可以支持foxwq匕首规则,因为它只是我的项目的一个子集,可以使用KataGo在2x2到19x19(或29x29)之间的任何棋盘大小下玩,并且两石一招的回合可以由玩家而不是服务器选择。但是你需要等待一段时间,因为我不是CS专业,所以我的编码速度不快,还有很多其他功能需要实现。请告诉我您是否首先想要foxwq匕首功能...

In order to implement the flying knife feature katago, you can't modify the katago code, but you can indirectly make the ai play with flying knives by modifying the gui interface. Can you make the ai exhaust the next 2 hands when a flying dagger appears? Even at the cost of loss of computation, when a flying dagger appears, have the side with the flying dagger quickly exhaust all 2 hands, at the cost of a low computation, say 500 po computations at a time when the computer would have only been able to count one step at a time. To support flying daggers, you can quickly exhaust all combinations of the next 2 moves of the side with the next flying dagger at a rate of 1 compute, and select the one with the highest win rate or the one that shows the highest win rate. This would also indirectly have the effect of flying knife ai. Of course, we still need other people or improve it.

为了实现飞刀功能katago,你既然不能修改katago代码,但是你可以通过修改gui界面间接使ai玩飞刀。你可以在出现飞刀的时候,让ai穷举接下来2手吗?哪怕以损失计算量为代价,当出现飞刀时,让出现飞刀的那一方迅速穷举所有2手,以低计算量的代价,比如电脑本来一次只能算一步的速度是500po个计算量。为了支持飞刀,可以以1计算量的速度迅速穷举所有接下来飞刀一方下2步的所有组合,选出胜率最大或显示胜率最大的那个组合。这样也能间接起到飞刀ai的效果。当然后续还是需要其他人或完善