计算机如何处理博弈游戏——以“分堆游戏”为例 - 中国百科网

计算机如何处理博弈游戏——以“分堆游戏”为例

主讲人 危辉

危辉

复旦大学计算机科学技术学院教授,博士生导师。研究兴趣为人工智能理论与技术、认知科学。
最后更新 2022-09-05
浏览 18
最后更新 2022-09-05
浏览 18
意见反馈
主讲人 危辉
复旦大学

    计算机怎么处理博弈游戏?最简单的例子是分堆游戏。假设我手上有一堆粉笔,两个人把粉笔分成两堆,数量相等就输了,一定要分成数量不等的两堆。假设开始有10根粉笔,有一跟九、二跟八、三跟七、四跟六、五跟五五种。分成五跟五就输了,到五跟五之后,就不用再分了。可以分的是一九、二八、三七、四六,它是不等的两位,可以继续往下发展。继续往下发展的话,可以再把九分成一和八或二和七,二和八也可以这样分,把八分成二和六或三和五,三和七也可以这样分。它像一棵树,叫作树的根节点,根节点可以不断地分解,出现了很多中间节点,一直到下面的叶子节点,我分完之后,让对方没的可分,全是二。这就是我的搜索目标。所以分堆游戏的核心就是产生一个形式化的表征,就是一个数、一个数组或者一个数列。

    在下棋时,如果我是计算机程序,我会搜索我的决胜节点,目标是千方百计把对方往这个方向引,分堆游戏就变成搜索。

    人工智能解决很多问题的策略是状态空间搜索。你的任务就是从这个地方沿着这个路径走,事先想得越远、部署越久远,成功可能性就会越大、越有保证。这样的搜索程序很简单。它存在着一些决胜的路径,从这个根节点开始,总能找到几条路径把对方压到这些状态上去,找到这条路径要付出很大代价。数字小,看起来不难,但如果数字很大,状态空间非常大,要找到决策路径是不容易的。计算机下棋就是用“状态空间搜索”法,这种方法非常笨,但大家都用,因为计算机更笨,不灵活,一定要用非常机械的办法解决问题。所以我们把分堆游戏变成机械的表征和机械的搜索,然后启动机器来做,但是机器算得很快,起先并不担心,让它慢慢搜好。这是人工智能研究里很基础的一种方法。

同主题知识点(人工智能能否超越人类?
纸书购买
意见反馈

提 交

感谢您的反馈

我们会尽快处理您的反馈!
谢谢!

试用结束,开通会员即可查阅全文

对不起,您所在机构没有获得相应使用权限。若需获得更多服务,请与您所在机构的负责部门或本网站客服联系。