分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.youkuaiyun.com/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
这学期选了人工智能原理,上课的时候完全没搞懂老师要讲什么,所以听课听得云里雾里的,幸好有几个小实验,可以帮助理解人工智能的精髓。
第一个实验就是基于带alpha-beta剪枝的MinMax搜索的五子棋AI设计。好久没有写过MFC界面了,所以在pudn上down了几个例程,测试了一下,选了两个比较规范的工程作为开发的基础。
第一天:Naive AI——一个称不上AI的AI
比对着选好的工程进行复制,在复制的过程中删去一些暂时用不到的功能,就搞出了如下界面。
有了棋盘,让我们开始下棋吧。可是这是我还对五子棋的规则一知半解,是个门外汉。只好采用投石问路的方法,先来个简单的吧,随机生成合法落子位置。
首先将棋盘定义为一个整形的二维数组points[16][16],0表示空,1表示黑子,2表示白子。为什么是16,只是觉得用1-15比用0-14直观一些,其实模仿程序是这么定义的。
那么,什么样的位置是合法的呢?就是棋盘上满足points[i][j]