这次AlphaGo取得胜利也是见证着人工智能又前进了一步。

首先说一下什么是人工智能,美国斯坦福大学尼尔逊教授给过这样的定义怎样表示知识及怎样获取知识并使用知识的学科。从解释中可以看到人工智能是一口交叉学科,它综合了计算机科学、信息论、控制理论、数学、逻辑学、认知科学、行为科学等诸多学科,具体的发展研究体现在机器学习、模式识别、机器博弈、自然语言处理、自动化程序设计和分布式人工智能等方面。

这是从学术领域的划分,也是当前研究比较火热的一部分,据传也是硅谷工资最高的职业方向。我是基于全国计算机博弈大赛对计算机博弈稍有了解。网址:http://www.caaigames.net/index.asp可以看的到目前大赛所收录的棋种。

2015年9月在北京中国棋院举行的比赛也算是规格最高的一次,本来组委会准备一些项目的冠军与人类进行比赛,最终取消,不知道是基于什么考虑,今年还会不会有。

AlphaGo与李世石的博弈再次引起人们对人工智能的关注,人类和机器谁更强大,之前包括霍金在内人士都曾表达过对人工智能的担忧。但是人工智能对科技的进步、社会生产效率的提高等方面都起着举足轻重的作用,发展趋势不可阻挡。

关于人工智能的应用方向可以设计到互联网、工业、医疗、交通等方方面面。本文我主要基于我参与编写的棋对计算机棋类博弈做一个简单的介绍。

传统棋类主要有以下特点:二人,博弈为双方的对弈过程,且轮流走步;零和:对弈过程中任一局面只存在对某一方为损失且对另一方为受益,不存在同时对博弈双方有利或者不利的情况,对弈结果只有三种情况:赢局、输局、和局;全信息:对弈双方都了解当前棋局和过去行棋历史,即双方获得的棋局信息是完全一样的,任意一方都可以清楚看到对方的行棋结果,而且可以预估对方未来所有可能的行棋策略。

对计算机来说是如何思考的呢?一个博弈的AI(包括AlphaGo),主要有知识表示、着法生成、棋盘局面评估函数和搜索方法四部分组成。只是表示通过程序把棋盘以及棋类规则描述出来。着法生成,就是所有合乎规则的走法集合。比如中国象棋的棋子的走法和围棋中的提子等。估值函数用已有的棋类知识对一个棋局形势优劣性进行客观评价的量化机制,估值函数代表一个棋类的智力水平。每下一步棋都要对棋面进行评估,不同的棋子代表的价值不同,在不同位置时也不同,函数的编写要尽可能的考虑全面,棋类要走的下一步应该是对自己评估值最高的一步。在此过程,棋类不仅要评估一遍下一步所有可能的走法造成的评估值,还有考虑接下来的几步甚至几十步的价值评估,这就是搜索深度,所搜索的过程就是博弈树。搜索的深度越大,所需要的计算量就越大,对计算机的计算能力和硬件要求越高,计算时间越长。搜索过程综合考虑自己方与对方的走棋,常用的搜索算法包括极大值极小值算法、剪枝法、历史回溯法以及改进的算法,算法的不同主要影响找到最优解的速度进而影响下棋速度。

AlphaGo在函数估值方面应该是加入了蒙特卡洛抽样技术,通过大量的训练来优化自己的估值函数。这是一种重要的增强型学习方法,通过自身博弈取得的数据,采取概率优化调整估值函数的参数,进而促使AI的智力水平得到提高。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐