百度 ASTAR 2010 (三)

2010.05.27 今天第一次战胜了电脑(仅仅在某个地图)。

前些天,包括明天,都在为学车等事情忙,空了一段时间,今天按照以前的想法把AI改了一下。把寻路部分改成计算每个资源点到每个坦克的距离的了,然后贪心得找。这样不会存在坦克很傻很傻地放着旁边的矿不去占。同学说用KM匹配可以做得更好,想了一下,的确是这样,牺牲少量的资源来达到后来的更快的得到资源,但是真的是最好的么,如果牺牲了10的资源,但是只却换了2round的提高,是否划得来,这个问题还得思考。

目前坦克的开火条件是碰到敌人就开火,如果好多敌人也是挑ID最小的那个,显然不合理。设想是这样改进,对于Pioneer来说,除非对面是Pioneer,它才会开火(根据博弈原理,(*^__^*) ),否则当血量足够的情况下(对方攻击力小于我血量),碾过去当然最优了。还有如果是混战状态,就是有很多人可以打,我方坦克打谁的问题。如果按照杀敌数最多来考虑,就相当于BIN PACKING问题了,只不过是溢出的那种装箱问题,O(∩_∩)O~,没白跟HAN老师学。这么考虑的话,岂不是得搜索(先不去想DP了),5^5,3000多,复杂度很小。这是下一步要实现的之一。

关于路径的问题,一直感觉不是每个矿都值得去占领,总得凭个优先级出来,先是这样想的,周围的资源越多的资源,那么可以优先占领,离坦克近的资源,优先占领。那个周围还有说法,如果已经是自己的了,或者已经有人去抢了,当然这反面的优先率就得降低了,又是一个动态的问题。全部放在回合1解决,会不会超时啊……不过就算这样KM匹配一样可以用。

先优化开火,后优化路径。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值