博弈算法之alpha-beta搜索

本文介绍了博弈算法中的alpha-beta搜索策略,用于解决计算机博弈中的高效搜索问题。通过极大极小值搜索策略和深度优先的alpha-beta剪枝,减少搜索空间,提高程序效率。文章详细阐述了alpha-beta搜索的工作原理,并提供了java代码实现示例。
摘要由CSDN通过智能技术生成

   博弈一向被认为是最富挑战的智力游戏,有着难以言语的魅力。自从出现计算机后人们就开始有了与计算机下棋的想法。早在上世纪60年代就已经出现若干博弈程序,并达到较高的水平,现已出现计算机博弈程序能够与人类博弈大师抗衡的局面。博弈理论的研究不断为人类科学提供新的课题,同时也对深层次的知识研究提出了严峻的挑战。如何表示博弈问题的状态,博弈过程和取胜的知识是目前人类仍在探讨的问题。就拿五子棋游戏来讲,棋面有15×15 = 225 个落子点,对方走完一步后,计算机差不多有200多种选择每一种选择对应搜索树的一个节点,即棋局上的一个状态。计算机走完一步后就应该考虑对方会走哪一步,此时同样有200种选择,因此有200×200种可能的选择,对应搜索分支达到200×200个,如果博弈程序要考虑20回合,搜索树就有40层,总结点大约有10^92 个。这个数字即使是计算机以每秒万亿次的速度计算,走一步棋也要一年。因此提高博弈问题的求解程序效率,因该做到以下两点:
1,改进生产过程,使之只产生好的节点,即选择比较好的节点去扩展。
2,改进测试过程,使最好的步骤能够及时被确认,确认的代价不能太大。
   目前博弈论比较常用的的搜索策略有极大极小搜索策略,深度优先的alpha-beta剪枝搜索等。本文仅讨论极大极小搜索策略和深度优先的alpha-beta剪枝搜索策略。
一,极大极小值搜索
    极大极小值搜索始终站在博弈一方的立场上给棋局估值,有利于这一方的棋局给一个较高的评价值,不利于这一方(有利于另一方)的给予一个较低的评价值,双方优劣不明显的局面给予一个中间评价值(一般是0)本方行棋的时候选择评价值极大的节点走步,另一方行棋时则选择评价值极小的子节点走步

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值