Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

在靠近边上开局,棋力下降明显 #14

Open
zhangshun97 opened this issue Jul 15, 2018 · 6 comments
Open

在靠近边上开局,棋力下降明显 #14

zhangshun97 opened this issue Jul 15, 2018 · 6 comments

Comments

@zhangshun97
Copy link

你好,我之前按照你博客的思路有实现过python的版本。刚刚又和你最新(2018/07/07)的版本下过一局,我执黑在角落开局,最终赢下了比赛(我是休闲玩家,很多名词比如算杀都是在这次写AI的时候才第一次听说)。我就是一路感觉下来,基于极大极小搜索的AI引擎好像对于这种“角落开局”,会陷入一种困境——进行无意义冲四、往边上下、等等一些非常“愚蠢”的下法,最终就导致其棋力下降(如果我执黑在中间下的话是很难赢的。。)。
不知道作者你有没有思考过这个问题,如有想法,还请赐教!谢谢!

@lihongxun945
Copy link
Owner

@zhangshun97 目前可行的方法应该是通过权重来做,给靠近边角的棋增加一个较低的权重,比如 0.8。这样电脑就会倾向于往中间走。

如果有神经网络的话应该能完美解决这个问题,这其实是电脑大局观 的一部分,传统的搜索算法本来对局势的判断就不理想。

@zhangshun97
Copy link
Author

@lihongxun945 谢谢!请问这个所谓的权重,是直接乘在该点的score上嘛?因为你的整个体系都是基于score的嘛,当初也有想过加权重之类的,但是就怕掌握不好度,会出现比如为了往中间走而走出一些不好的棋?不过又感觉这样的其实可以通过一定的搜索深度来避免……嗯……感觉python的瓶颈还是搜索的不够深orz,我实现的版本也只能做到在10秒内启发式搜索最多给10个点的情况下执黑搜6层,执白搜5层,VCF和VCT是15层(不过感觉算杀这块速度还行),不知道作者你在JS上的效率大概是如何的!

@lihongxun945
Copy link
Owner

@zhangshun97
第一个问题,我觉得可以有两种实现:直接在分数上乘,或者增加一个额外的权重字段。
第二个问题,我用JS可以搜索8~10层,不过偶尔会超过10秒。这是在我用了一些优化技巧后的结果,你可以看看我新写的教程的性能优化一章有介绍:性能优化

@jggnice
Copy link

jggnice commented Mar 23, 2019

#10 666,厉害厉害

@XuXING0430
Copy link

边角 确实棋力下降的很厉害,传统算法还是不太理解外势和空间的概念。。。

@ybwsdsx
Copy link

ybwsdsx commented Feb 9, 2023

我正在向10秒以内而努力,我目前的程序9层平均就是30秒,正在拼命的想办法压缩时间

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants