关于做人工智能—五子棋的总结

前言

   刚学玩C一个月,院里有个程序设计的比赛,于是就动手写了这玩意儿。

正文:

    首先,对于每一盘棋都有很多种下法,当黑方落下第一颗棋子的时候,白方有254种下法,白方在这254种下法中选择其一后,黑方又有253中下法。如此,将所有的下法都考虑,全部列出来就构成了一颗巨大的博弈树,也称搜索数。这颗博弈树的根节点便是黑方下的第一颗棋子,紧接着的下一层便是白方下棋的所有情况,依次下去,直到结束。而电脑要做的是从下面的子节点中找出最有利于电脑方的节点,也就是最佳走法。谁想得深远,预测的步数越多,棋局了解到位,就越厉害。如果能将未来的所有情况都考虑到位,那必定处于不败之地。

    在选择最佳走法中,我们要用到极小极大搜索算法。我们先假设有个对棋局的评价函数,即可以对任何一个局面对电脑方打分,分越高越对电脑有利,分越低却对玩家有利,也就是说这个评价函数是对电脑方而言的,计算机赢则为无穷大,输则无穷小。其它所有情况都在这之间。

如上图就是所谓的博弈树,假如:甲对应电脑方,乙对应玩家。当前该电脑方下棋,即甲0节点,下一层的子节点即该玩家下。双方都希望在未来的局势中,往最有利于己方的方向进行。计算机当然想自己的分高,所以会选

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值