从人落子开始到出现胜负或者和局之间所落的子,构成了一个解而解空间就是一个树,解就是这解空间中的一条路径只不过这个解空间是电脑的选择和人的选择共哃构成的(奇数层是电脑(因为轮到电脑落子么),偶数层是人)
极大极小值搜索算法,来搜索(回溯)这个解空间:它假设人和电脑嘟是极其聪明的他们都会选择出最优的一步。
但是搜索整棵树是不现实的16*16!指数级,所以只回溯n步即这个AI考虑的是N步之内的最优解,它是考虑了n步之后的情况的
假设玩家执黑子电脑执白子
评估函数:评估函数将对棋盘上的所有黑子做出评分(连成线的等级越高,数量越多估分就越高)作scorehumber;也将对棋盘上的所有白子做出评分(连成线的等级越高,数量越多估分就越高)作scorecomputer。然后评估值为【scorecoputer-scorehumber】它將认为,这个评估值越高整个局面对电脑越有利;这个评估值越低,整个局面对玩家越有利
max-min搜索最优解,即向后回溯depth步轮到电脑时,电脑做出最有利于自己的选择(选择最高的评估值)轮到玩家时,玩家做出最有利于自己的选择(选择最低的评估值)(他们的选擇将被推迟,叶子节点先做出选择然后层层往上推出那一层的最优解)。伪码:
} else { // 黑方是“最小”者刚在糗百上看到这么一条非常犇掰。
我用白棋下成这样非常不容易的!黑棋棋盘上已经没有连成5个的地方了。
如果想保持必胜想必可以通过计算来达成吧?