人工智能实践教程(三)

1.简述搜索技术
苏格拉底让学生去找最大的那颗麦穗,如果你是他的学生你会采用什么策略?
这里寻找最大的麦穗就是搜索,策略就是搜索算法。在这里我给出一种,将路径大约一分为二,先走一半,在这一半中找出认为比较大的,不摘取,但用指甲对照记录大小,另外一半路径中挑拣大的麦穗进行对比,摘取比它大的。
搜索技术就是将问题转换为某个可供搜索的空间,然后在该空间内搜索一个解。搜索方法有启发式搜索方法和盲目搜索方法,启发式搜索方法是在搜索时产生一个指标用于评估接下来的搜索方向搜索到目标的希望大小。
对于盲目搜索方法,简单来说,相当于刚找对象的时候,此时你心里也没有底,只能一个一个的试。试的过程中为了有个合理的顺序,需要两个指标,颜值(宽度)和深度(财富),在颜值差不多的群体中找钱最多的是宽度优先算法,直接去找最有钱的再在财富差不多的当中找貌美的就是深度优先算法。迭代加深搜索就是不一下子猛试,而是慢慢来,先从年入50万到30万的中找最对眼的,如果没找到,再从年入50万到20万中找,还找不到再从50万到10万中找,范围不断扩大。
对于启发式搜索,可用重排九宫问题示例。
人工智能实践教程(三)_第1张图片
f是评估函数,g是在搜索树中的深度,h是启发函数定义为不在目标位置的数码个数。
2.问题规约和与或图启发式搜索
问题规约可以理解为问题分解,将大问题分解为小问题,再将小问题分解为更小的问题,直到所有的问题都能直接求解为止。
与或图也是对问题进行分解,将子问题间的关系用与或表示,s的子问题A与Q即AQ都被解决时,s的才能被解决。
与或图搜索可以采用AO*算法,相比A* 多出回到上层修正费用重新分解的做法。
3.五子棋算法感悟
电脑的聪明其实是通过人的算法赋予的,而且它的聪明是用搜索技术计算出来的。电脑的计算公式就是估价函数,估价函数是用来给每一步棋子的位置打分,分值根据该棋子相连的五个位置赋予。计算机进攻与防守的选择是根据局势总分。初级程序中主要采用了极小极大搜索加静态估值技术。与此同时,在程序中电脑的计算函数一旦设定不再更改,电脑的智力也就不再提高。这里可以让计算机通过对走过的棋局分析,自主调整对位置的赋分大小来学习。

你可能感兴趣的:(人工智能)