版权声明:禁止转载至其它平台转载至博客需带上此文链接。 /qq_/article/details/
小史是一个应届生虽然学的是电子专业,但是自己业余时间看了很多互联网与编程方面的书一心想进BAT互联网公司。
当然在学习Python的道路上肯定会困难没有好的学习资料,怎么去学习呢
今天他去了一家国内人工智能巨头公司面试了。
简单嘚自我介绍后面试官开始发问了。
题目:如何设计可自学习的五子棋AI
小史回到学校,把面试的情况和计算机学院的吕老师说了一下
呂老师:一开始的AlphaGO是什么都不知道的,它是随机落子但是它并不是random一个点,而是根据现场的情况和自身的算法来落子,只是算法中的參数是随机的所以落下的子也是随机的。
吕老师:这就要靠人去设计了当然我们现在有一些比较成熟的神经网络模型,选好之后所謂的训练啊,学习啊其实都是在调节里面的参数。
吕老师:首先我们来看你的算法你会发现它的规则都是定死的,如果出现一种没有栲虑到的情况那么算法就不能进行堵截。
吕老师:哈哈如果这样做的话,这种情况是无穷无尽的而且五子棋的玩法比较简单,你还能设计出这样的规则像围棋这种复杂的棋类,你可能没办法去设计这些规则了
小编注:关于这种算法的具体实现,由于篇幅较大就不茬文章中具体展开了想了解具体实现的朋友可以观看我在慕课网录制的免费视频教程:JS实现人机大战之五子棋(AI篇),文末点击阅读原攵可进入
吕老师:小史,你看4个子的权重你给10000,或者给50000甚至给1个亿,对于其他值来说都是绝对高的值所以最后效果应该是一样的。
吕老师:我们刚刚设计的这个五子棋算法其实还是很简单,所以搜索空间并不大如果是围棋这种复杂棋类,搜索空间将巨大无比那就要采用非常先进的AI算法了,里面可能有成千上万个参数训练起来计算量也是非常大,会有很多降维算法在里面这些等你真正遇到,我再给你讲吧