设万维读者为首页 万维读者网 -- 全球华人的精神家园 广告服务 联系我们 关于万维
 
首  页 新  闻 视  频 博  客 论  坛 分类广告 购  物
搜索>> 发表日志 控制面板 个人相册 给我留言
帮助 退出
gugeren的博客  
有则写之,无则空之  
https://blog.creaders.net/u/5804/ > 复制 > 收藏本页
网络日志正文
棋类软件是怎么写成的 2016-03-09 13:59:16

棋类软件是怎么写成的

初到美国上学时,电脑老师要求我们用软件写“井字棋”(tic-tac-toe)的对弈软件。

相信大多数中国人小时候都玩过“井字棋”:在画成“井”字的9个方格里,2人分别画上“O”或“X”。哪一位先使得自己的符号在连续纵、横或斜角3格里相连,算赢。

我根据小时候下这种棋的心得写了一个简短的软件交差。

在与一起上课的一位从俄罗斯来的学生交流写这个软件的经验时,他指出,要考虑到所有的9个格子的情况;就是说,软件的第1步要考虑到9!(9x8x7……x1)这么多种情况。

我们一起又想到,由于“井”字是对称的3x3的图形,因此情况就缩减到3种情况:中间格(仅1格)、侧面格(4格)和角上(4格)这3种。

由此,我看了一些当时出版的有关棋类对弈软件和人工智能的书。现在把当时的学习心得分享出来。

棋类对弈软件的大致流程是这样的:

1] 把所有可能的棋子走法都列出来。

2] 对每步进行评估。这是最主要的一个步骤:

a)一般做法是,建立一个或几个用于评估棋子走法的方程,对方程中的各个变量(即棋手移动棋子到某个位置的考虑的各种原因)给予各种重要性(术语称“权重 [weights]”)的估量;即重要性大的变量/因素的权重大些,反之小些。

最简单的这种评估方程就是一个多元的线形方程(多元一次方程)。求出方程的值。

b)可能有些更“聪明”的评估方程,会根据具体的对手,在比赛现场用各种方法随时修改每步的变量的种类和各个权重,这样就可以更精确地对付对手了。

3] 根据2]中得出的最好的结果,去移动棋子。

4] 可能像好棋手那样,软件会对棋赛进行“复盘(重复棋赛的每步走法)”,以找出胜或负的主要原因及其“关节点”(在哪一步或哪几步使得被动转为主动的;或者主动转为被动的),并据此修改评估方程。

5] 重复1]-4]的步骤。

简而言之,这些对弈软件就是“学习-进步-再学习-再进步”这样一个重复往返的过程,与人们的实际学习情景类似。只是软件不知疲劳,学习不倦罢了。

在国际象棋、中国象棋和围棋3大棋类中,最容易写出的是国际象棋对弈软件,因为国际象棋使用64格棋盘,它的第1步走法最多只有64!种;况且国际象棋的第1步只有几种棋子可以走,这就把64!种走法大幅削减了。

中国象棋也是类似情况。

而写围棋对弈软件棘手的地方,就是原始的围棋盘是空白的;从理论上说,围棋的第1步走法有361!种。好在根据评估,棋盘上有一些地方在第1步是不会放任何棋子的,这样才把361!种走法大幅削减下来。

其实,再复杂的数学问题,只要有数学模型及其方程,目前对电脑都不是大问题,只是计算时间的长短而已。

另外,棋类对弈软件已经基本上把敌我每步的走法都进行了精确的评估,这当然比人类棋手仅根据自己或别人的下棋经验来移动棋子厉害得多。

电脑不会像人类棋手那样由于疲劳会出错;目前电脑的计算速度够快,可以做到人类棋手才走出一步棋子,软件已经找到了回应的棋步;电脑的储存量现在也够大,可以把所有人类棋手的棋谱都输入到电脑里(或者放在“储存云”里,在比赛时随时调用)。

综合以上这些,电脑打败人类棋手,就没有什么稀奇了。

由于这已是20多年前的事情了,许多知识肯定已经过时,还请行家不辞赐教。

参考连接:

http://www.pingwest.com/why-is-alphago-so-great-and-what-is-deepmind-trying-to-achieve/

击败了李世石九段的围棋人工智能“AlphaGo”究竟是什么?


http://www.pingwest.com/alphago-vs-lee-sedol-first-round/

AlphaGo 赢了,机器智慧又一次战胜了人类


浏览(857) (0) 评论(1)
发表评论
文章评论
作者:芨芨草 留言时间:2016-03-09 16:53:09
这是电脑战胜人类的一小步。智能电脑出世,机器人战胜人类的日子不会太远了,就如美国的科幻片“未来世界”一样。
回复 | 0
我的名片
gugeren
注册日期: 2012-01-06
访问总量: 3,059,970 次
点击查看我的个人资料
Calendar
最新发布
· 【美国时事通】当被捕杀者成为猎
· 【RRN】白帽逮捕一宾夕法尼亚州
· 【RRN】军方将清洗叛国军官
· 【RRN】FBI局长Wray被控叛国罪但
· 【美国时事通】川普胜选后,她要
· 【RRN】海军陆战队逮捕马约卡斯
· 【美国时事通】911,J6等真相将
分类目录
【DIY】
· DIY-2:修理漏水的浴缸水龙头
· DIY-1:更换煤气热水锅炉的水
【数学】
· 【圆周率π】与斐波那契数
· 趣味的数学-468
· 趣味的数学-467
· 趣味的数学-466
· 趣味的数学-465
· 趣味的数学-464
· 趣味的数学-463
· 趣味的数学-462
· 趣味的数学-461
· 趣味的数学-460
【美国大学申请】
· 又是申请大学时:申请美国大学心
· 寻找学生人均钱最多的美国高校
· 寻找有钱的美国大学
· 藤校中亚裔学生的比例
· 欢迎B咖学生的美国大学
· 美国大学招生时着重察看申请学生
· 有关申请美国大学过程的书籍和网
· 美国劳工部对2010-2020年劳动力
【杂记】
· 从李密《陈情表》说开去
· 请万维编辑注意博客中的安全问题
· 从《上甘岭》到《黄河绝恋》
· 【转】任正非:华为现在就像一架
· 录鲁迅诗以祭六四惨案卅周年
· 【摘录】中国加入世界贸易组织的
· 如何看美中电视播音员辩论直播
· 【快讯】美中播音员辩论直播
· 当今世界的前10名人口大国
· 什么是“贸易顺差”?
【股票+金融】
· 美FED于周日异常减1%利率
· 如今美国股市遍地黄金
· 浅谈“长期护理”
· 再谈中国政府抛售美国国债的后果
· 对西岸博的回应
· 中国抛售美国国债的后果
· S&P500中高利润率的股票
· 【转】对弈论阐述股市大户赢钱策
· 美国国债
· 【转】有关中国进口粮食的材料-4
【自己文章】
· 【杨】安泽的落选表明每月千刀的
· 【网站】RRN是一个什么网站?
· 【厨房】馒头为何塌陷、萎缩?
· 【书】白左写书揭2020大选舞弊
· 【论】选举作弊=一党专政
· 【趣味问题】为什么至今习近平不
· 邮寄选票的弊端
· 为什么不能选拜登为美国总统?
· 每个人的生命都金贵
· 社会主义不能救美国
【转贴好文章】
· 【美国时事通】当被捕杀者成为猎
· 【RRN】白帽逮捕一宾夕法尼亚州
· 【RRN】军方将清洗叛国军官
· 【RRN】FBI局长Wray被控叛国罪但
· 【美国时事通】川普胜选后,她要
· 【RRN】海军陆战队逮捕马约卡斯
· 【美国时事通】911,J6等真相将
· 【RRN】杰克·史密斯被判叛国罪被
· 【中国观察】弗林将军向美国共产
· 【中国观察】川普新内阁中没有蓬
存档目录
2024-11-01 - 2024-11-19
2024-10-01 - 2024-10-30
2024-09-02 - 2024-09-27
2024-08-01 - 2024-08-31
2024-07-01 - 2024-07-31
2024-06-02 - 2024-06-29
2024-05-01 - 2024-05-31
2024-04-05 - 2024-04-30
2024-03-01 - 2024-03-30
2024-02-02 - 2024-02-29
2024-01-01 - 2024-01-30
2023-12-01 - 2023-12-31
2023-11-02 - 2023-11-29
2023-10-01 - 2023-10-29
2023-09-03 - 2023-09-28
2023-08-01 - 2023-08-28
2023-07-03 - 2023-07-30
2023-06-01 - 2023-06-29
2023-05-01 - 2023-05-30
2023-04-02 - 2023-04-30
2023-03-01 - 2023-03-31
2023-02-01 - 2023-02-19
2023-01-02 - 2023-01-27
2022-12-01 - 2022-12-29
2022-11-01 - 2022-11-30
2022-10-04 - 2022-10-31
2022-09-01 - 2022-09-29
2022-08-02 - 2022-08-31
2022-07-01 - 2022-07-28
2022-06-01 - 2022-06-29
2022-05-13 - 2022-05-16
2022-04-06 - 2022-04-30
2022-03-01 - 2022-03-29
2022-02-01 - 2022-02-28
2022-01-01 - 2022-01-24
2021-12-01 - 2021-12-30
2021-11-01 - 2021-11-30
2021-10-02 - 2021-10-31
2021-09-03 - 2021-09-30
2021-08-01 - 2021-08-31
2021-07-01 - 2021-07-28
2021-06-01 - 2021-06-30
2021-05-01 - 2021-05-31
2021-04-09 - 2021-04-30
2021-03-03 - 2021-03-31
2021-02-03 - 2021-02-27
2021-01-01 - 2021-01-31
2020-12-01 - 2020-12-31
2020-11-01 - 2020-11-30
2020-10-02 - 2020-10-31
2020-09-01 - 2020-09-26
2020-08-01 - 2020-08-26
2020-07-01 - 2020-07-31
2020-06-05 - 2020-06-30
2020-05-01 - 2020-05-31
2020-04-01 - 2020-04-29
2020-03-01 - 2020-03-31
2020-02-01 - 2020-02-29
2020-01-03 - 2020-01-31
2019-12-04 - 2019-12-31
2019-11-01 - 2019-11-29
2019-10-01 - 2019-10-31
2019-09-01 - 2019-09-30
2019-08-01 - 2019-08-29
2019-07-08 - 2019-07-27
2019-06-03 - 2019-06-22
2019-05-01 - 2019-05-29
2019-04-01 - 2019-04-29
2019-03-01 - 2019-03-30
2019-02-01 - 2019-02-28
2019-01-06 - 2019-01-27
2018-11-24 - 2018-11-24
2018-08-08 - 2018-08-08
2018-07-10 - 2018-07-29
2018-06-02 - 2018-06-21
2018-05-24 - 2018-05-24
2018-04-06 - 2018-04-30
2018-03-27 - 2018-03-27
2018-02-01 - 2018-02-01
2018-01-05 - 2018-01-05
2017-12-16 - 2017-12-31
2017-11-10 - 2017-11-24
2017-10-02 - 2017-10-31
2017-07-13 - 2017-07-17
2017-06-02 - 2017-06-02
2017-05-04 - 2017-05-27
2017-04-03 - 2017-04-30
2017-03-01 - 2017-03-23
2017-02-09 - 2017-02-20
2017-01-01 - 2017-01-22
2016-12-01 - 2016-12-17
2016-11-03 - 2016-11-29
2016-10-01 - 2016-10-31
2016-09-02 - 2016-09-30
2016-08-12 - 2016-08-30
2016-06-03 - 2016-06-03
2016-05-02 - 2016-05-26
2016-04-01 - 2016-04-29
2016-03-09 - 2016-03-20
2016-02-13 - 2016-02-13
2016-01-16 - 2016-01-22
2015-12-12 - 2015-12-25
2015-11-08 - 2015-11-22
2015-10-02 - 2015-10-17
2015-09-01 - 2015-09-19
2015-08-15 - 2015-08-29
2015-07-03 - 2015-07-31
2015-06-18 - 2015-06-26
2015-05-25 - 2015-05-31
2015-03-09 - 2015-03-13
2014-12-26 - 2014-12-30
2014-06-03 - 2014-06-03
2014-05-29 - 2014-05-29
2014-03-03 - 2014-03-03
2014-02-08 - 2014-02-15
2013-12-03 - 2013-12-29
2013-11-01 - 2013-11-16
2013-10-02 - 2013-10-30
2013-08-04 - 2013-08-30
2013-07-19 - 2013-07-22
2013-06-03 - 2013-06-19
2013-04-23 - 2013-04-28
2013-03-15 - 2013-03-22
2013-02-09 - 2013-02-10
2013-01-01 - 2013-01-02
2012-12-09 - 2012-12-29
2012-10-12 - 2012-10-12
2012-09-26 - 2012-09-26
2012-07-04 - 2012-07-04
2012-06-01 - 2012-06-22
2012-05-26 - 2012-05-26
2012-04-06 - 2012-04-28
2012-03-02 - 2012-03-30
2012-02-04 - 2012-02-29
2012-01-07 - 2012-01-08
 
关于本站 | 广告服务 | 联系我们 | 招聘信息 | 网站导航 | 隐私保护
Copyright (C) 1998-2024. Creaders.NET. All Rights Reserved.