关于智能蛇ai的一些想法

gif
以上这个图是网上找来的,对于空间这么小的地方来说似乎非常好
先说一下这次实验我觉得有意思的地方吧
首先就是那个动态显示sin函数的代码真的好酷啊
完全不能想象是用c写出来的


说一下我对这个智能蛇ai的理解吧,因为每次money出来的地方是随机出来的,所以每次做出的决策(或者说一次搜索)如果不加别的考虑任何别的东西只是想吃到money变长那么很简单,直接搜索就行了,但是如果想通过这一次的决策起到对之后的行为带来好处就有些难了,还是因为money的出现是随机的。所以很重要的一点就是能对蛇所处环境对蛇做出选择产生影响就很重要了。
我初步的想法是计算搜索的时候的每一步的情况下墙壁和蛇的身体到头的距离(只算头直线方向那一半的墙体和身体),然后得到一个平均的障碍距离,然后在评价搜索结果的时候把这个参数考虑进去。这么做直观的效果应该就是能够让蛇的主要活动区域变成整个地形的中间部分,还有就是不容易让自己陷入在包围圈之中(一般如果这么做了就会很危险)。


然后说一点乱七八糟的东西,其实这个东西能不能被证明在任何情况下都能够吃到不再产生money(也就是蛇的身体占满了所有空间)是不那么直观的,但是搜索量是不大的,也就是说和alphago比起来对于剪枝不那么依赖,关键就在于怎么和这个随机生成抗争,而且有趣的是在于这个蛇吃到money的时候蛇自己的身体的形状而所占空间的位置似乎也对结果有很大影响。
按照当今机器学习圈中的风气,这种东西用强化学习跑个几百万次应该就能出很好的效果了,问题有没有解已经变得不是很重要了,因为不管怎么样,机器学习或者说深度学习都能够做到和最优解无比拟合,所以如果只看结果的话如果在训练的时候投入的资源足够,是绝对无敌好的
然后是代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值