看了不少老司机的博文,有感而发,今天想自己拉扯几句。

先说下最傻逼试的暴力穷举,想象一盘围棋,19*19的落子,一种特定的落子方式决定一种局面,我们称之为S(i),在当前状态S(i)下,有着对应的一个落子策略A(i),想象一下,如果,两个不懂下围棋的人,在交替胡乱的落子,会怎么样,最终肯定会有输赢吧,假设输赢有系统判定,对赢的那个人的每一步进行一个加分,就是对赢的人的,T(S(i),A(i)){i=1,2,3,4,5,6.......}这个步骤+1分,好,一盘棋局就这样结束了,那么第2盘的时候,如果电脑有遇到S(i)这样一个特定的局面的时候,他会怎么样?他会毫无犹豫的选择对应的这样一个A(i)的行动,当然,因为第一盘完全是乱下的,也许A(i)的方案也是毫无意义的,但是,从每次的下棋中,对获胜的一方,对他这一盘的每一步都进行这样的一个加分,并且把步骤和行动都传到服务器储存起来,那么对于T(S(i),A(i)),对于一个特定的S(i),A(i)会有多种选择,是吧,但是总会有一个得分最高的A(i),这是肯定的,因为经过漫长的自我博弈锻炼出来的决策,有一定的指导价值,如果你仔细思考,你可以从中看过遗传算法的味道(其实这种方式的学名叫做,蒙特卡洛搜索树,也是一种增强学习常用思维)。

这里全是字,可能你看了就不想看了,我就贴个图,这图是网上找的,反正图这种东西,呵呵。

因为围棋的落子可能性千变万化,就算你穷举足够多的次数,还是有可能出来没见过的局面S(i),对吧,如果真人对弈的时候,你对于没见过的局面,就乱下了一步狗血的臭棋,岂不是GG,显然不行的啊,这时候就用到神经网络了,嘿嘿,知道什么是神经网络,就是一种估值的网络,通过用大量的大量数据进行训练,算出一组BP神经网络的一组参数(实际用的是不是BP我不知道,我只是觉得可以这么做),当然这个在后面再说,我只是先提出这个问题,免得又疑问。

那我们重新回到问题上,其实你仔细想想,下围棋的过程,是不是一个无后效性的马尔科夫链?下围棋本身就是一种博弈游戏,局势是通明的,双方都可以看得到,这样,我们可以把围棋抽象成这样的状态:

1.双方的信息已知,完全对称

2.假设无后效性,每一步的策略只考虑着一步的状态。

这时候,下围棋的过程就理解为一个数学模型,马尔科夫决策过程,在第一步中,我们已经通过了类似遗传算法的思维把基本的下棋的方向感找出来了,但是,如果要下棋的策略足够精明,根据大数定律,只有下无数的棋局才会收敛至任意精确地解,很明显这是不现实的,就算是几千万盘的自我博弈,对于围棋来说,也只是洒洒水,那我问你,你要学会知识,一方面是通过不断地练习,但同时,如果你想成为一个高手,是不是需要研究棋谱,就算你笨,你背下来总可以吧,遇到相似的局面,多少可以有一些思路,同样的,电脑也可以这样做,对于历史上的经典棋局,可以把它转化为数学语言,在转化为机器语言扔给阿法狗,比如说,天龙八部里的珍珑棋局,不关你是黑子还是白子,总会有某一步棋,可以令人称赞,你就把这时候对应的局面S(i),和这步好棋的走法A(i),以很高的权重,输入电脑,就这样不断的背棋谱,通过模仿,可以加快电脑的学习进度,当然,就算你背棋谱还是可能会出现没有遇到的局面,这里我个人给一点小意见,用矩阵的形式,来记录棋局,比如说棋局是19*19,那么我们就给定一个19*19的矩阵,

黑子记为1,白子-1,其余0,这样可以用一个矩阵来表示一个局面S(i),如果遇到没有见过的局面,我们可以通过查找已知的相似度最大的棋局(矩阵相似度最大),给出的下棋策略,作为参考策略,至于矩阵的相似度如何计算,我们可以考虑把二维矩阵拉直,计算他们的余弦,就是他们的夹角,夹角越小越好,越有参考价值。

最后,在回到我们的马尔科夫,对于我们经过自我博弈和背棋局之后得到的电脑里,对于一个已有的状态,对应着一组A(i),每个A(i)的权重都不同(这里可以用主成分分析,把那些小概率事件去掉,减少搜索量),对于未知的状态,也可以计算矩阵的相似度来做出决策,那好,对于一个状态S(i),到终局S(n),通过遍历每一种可能(注意,这里我已经用主成分分析剪枝了,搜索量肯定减少),找出一条优势最大的,算出一个所谓的估值函数,

也就是说这一步的贴现价值,因为,如果按照一定要棋局结束才能得到回报的话,这种先行算棋的方式,可以提供很好的理论依据,到这里,电脑已经形成一个良好的策略网络。

但是,还不够。没有深度学习的阿法狗怎么能叫狗呢?让机器来做就是有监督学习的回归算法, 你要提取棋局的特征,算出对应每一个走法出现的概率P(a(t)|s(t)),但是,围棋的特征太过于复杂,普通的聚类很容易欠拟合,也容易陷入局部最优解,同样的思路,还是需要模仿,为了让阿法狗更加真人化,找一些近年来的砖家的棋局实战,当做大量的数据,用80%当做训练数据,20%当做交叉验证数据,依次的训练神经网络,当这个神经网络训练完成的时候,再把我们前两步骤得到的策略网络,跟这个神经网路博弈,也就是说,拿我们原来设计的策略网络,来训练这个实际数据得到的神经网络,对它进行梯度调优。这时候,大体的思路基本完成,下棋的时候,

每一步用蒙特卡洛抽样,决定这一步的行动,因为是随机的(随机不是指乱下,而是有偏好,权重的下),所以每一步都不尽相同,也完全也可能衍生出新的局面,在把新局面的贴现价值反馈给神经网络,不断调整,不断进步。

以上都是我个人的一些猜想,有可能并不是很准确,也没有很具体的推导(时间问题,以后我会补充这部分),算不上干货,你可以看看就好,不过这种智能的设计思维还是可以借鉴的。

关于阿法狗的一点个人小见解相关推荐

  1. 不用恐惧AI的高速发展,论击败阿法狗(零)最简单的方法

    作者:刘锋 计算机博士,互联网进化论作者 10月19日凌晨,在国际学术期刊<自然>(Nature)上发表的一篇研究论文中,谷歌下属公司Deepmind报告新版程序AlphaGo Zero: ...

  2. “阿法狗”之父:关于围棋,人类3000年来犯了一个错

    读:AlphaGo之父杰米斯·哈萨比斯(Demis Hassabis),2017年的时候曾在母校英国剑桥大学做了一场题为"超越人类认知的极限"的演讲,解答了世人对于人工智能.对于阿 ...

  3. OSChina 周四乱弹 ——阿法狗战胜了李世石

    2019独角兽企业重金招聘Python工程师标准>>> 哇 ! 二月二 龙抬头,大家组团去理发的日子到了. 唉! 理发之前我只想换个发型,理发之后我想换张脸. 二月二龙抬头,是吉祥如 ...

  4. 为什么阿法狗不敢挑战麻将?

    最近阿法狗很火啊! 再新浪网看到一篇文章,为什么阿法狗不挑战麻将呢? 生活的每一秒,都会有奇妙的发现.今年,灰鸽分享给大家的,多数是你不知道.或者未曾关注的事情.什么李世石在和阿法狗下围棋,别装作你在 ...

  5. cad小插件文字刷_文字狗最佳排版神器 小恐龙公文排版助手Office WPS插件

    文字狗最佳排版神器 文字狗最佳排版神器 小恐龙公文排版助手Office WPS插件1.85最新版 无需注册.无需其他费用.无广告. 相信大家所需要提交的各种论文.报告等Word文档都对格式有着非常严格 ...

  6. java阿法狗国际象棋_阿法狗并不是真正的人工智能:3分钟让你彻底明白阿法狗如何下棋...

    原标题:阿法狗并不是真正的人工智能:3分钟让你彻底明白阿法狗如何下棋 阿法狗很强大,它的强大是由于它的原理和算法,这是大家都知道的,但具体咋回事,可能很多人就说不上来了.那么,今天我就试试用最通俗易懂 ...

  7. 创建一个中国象棋的阿法狗——阿法象(0)

    创建一个中国象棋的阿法狗--阿法象(0) 最近,阿法狗与李世石九段的人机大战深受关注.我就借着这股东风来写一个系列博客--<创建一个中国象棋的阿法狗--阿法象>. 早在几年前,就在一本书上 ...

  8. 阿法狗胜柯杰了:人工智能的时代来了么

    昨天谷歌的以4分之一子胜了柯杰,很多人把这当做人工智能胜利的关键战役,甚至有人宣称人工智能的时代即将到来.但是很多年前,德州扑克被人工智能占领时,国际象棋被人工智能占领时,都有人这样宣称.可这么多年过 ...

  9. 阿法狗算法与人类思维的本质性差别,人还有好长的路要走

    看了一些对阿法狗数学算法的文章,以我现在还残留的数学知识得知,搜索算法和学习.评估和决策算法都属于数据处理一类的,比如说,在不能穷尽可能性的前提下,通过有限深度的演算来评估各个可能落点的分值以确定实际 ...

最新文章

  1. 黑盒测试之边界值测试
  2. php中的全局变量$_POST收集表单数据
  3. Node 深入Stream(2)
  4. 函数的实参 函数的形参 闭包 js
  5. python中列表数据汇总和平均值_对数据进行分类,计算每个类别的平均值和标准差...
  6. C++学习笔记之对文件的操作1
  7. Linux 核心模块,LINUX核心及核心模块的简单介绍
  8. jsp前端验证(非常好用)
  9. (195)FPGA上电后IO的默认状态(ISE软件默认为1)
  10. JavaScript设计模式与开发实践 - 单例模式
  11. 机器学习第2课:单变量线性回归(Linear Regression with One Variable)
  12. [导入]2008李幼斌电视剧力作《我是太阳》全42集
  13. MultipartFile多文件上传
  14. vs2010中文旗舰版,vs2013,vs2015企业版激活秘钥
  15. 如何判断绩效管理系统实施是否有效
  16. 一份王者荣耀的英雄数据报告
  17. 在Android4.0以上设备的虚拟按键中显示menu键
  18. [转] 用小铲子挖大坑
  19. 工程师和他媳妇儿好玩的对话1——20160704
  20. 基于云平台的电力供电设备远程监控系统

热门文章

  1. 科大讯飞车辆贷款违约
  2. 2023 通信、网络和信息系统国际大会 (CNIS 2023)
  3. 美颜sdk的美白、贴纸、磨皮功能的实现流程
  4. 最近爆火的互动播客,要解决哪些技术难题?
  5. 分享:Corel Painter IX.5序列号产生办法
  6. 笔记本win8玩CF不能全屏
  7. 个人turtle小作品美队之盾(captain american's shield)
  8. 安装win10时关闭计算机,Win10怎么关闭“安装更新并关机”选项
  9. 安卓项目实践——仿淘宝界面(二)——底部导航栏技术(Fragment实现)
  10. 轮式机器人算法仿真的一些杂七杂八01