人工智能第五章课后习题
1、什么是搜索?有哪两大类不同的搜索方法?两者的区别?
根据问题的实际情况寻找可用知识,并以此构造出一条代价较小的推理路线,使得问题获得圆满解决的过程称为搜索。分为盲目搜索和启发式搜索。盲目搜索搜索过程中,过程中获得的中间信息不被用来改进搜索策略,启发式搜索则在搜索中加入了与问题有关的启发式信息。
2、何为状态空间?何为与或树?什么是问题的解?什么是最优解?
状态空间表示法是用来描述搜索过程的一种常见方法。P1、P2、P3是问题P的三个子问题,由P、P1、P2、P3所构成的图称为与树。问题的等价变换问题,可以通过一个图表示出来,称为或树。上述两种方法同时使用形成的图就是与或树。问题的解就是从初始状态到目标状态所用算符构成的序列。最优解就是使用算符最少的解或者就是总代价最小的解。
3、设计一个程序用最少的颜色数目对中国行政区域地图进行任意着色。相邻的省级区域颜色不能相同
保证相邻区域颜色不同的具体方法:设置一个颜色数组存放各省可用颜色,在上色前将相邻省已用颜色的颜色值赋值为0,上色时使用第一个不为0的颜色值,上色后将颜色值赋值为0
具体实现方法:用循环双链表连接邻接表通过双重循环和回溯来实现。在某个省份上色使用颜色值超过最大可用颜色值时回溯到上一个省份的上色中,上一个省份选择其他可用颜色,继续内层循环。当回溯使第一个省份上色使用颜色超过当前最大可用颜色时,将最大可用颜色加1,重新开始内层循环。当着色成功后内层循环结束,用该省作为第一个着色省份所用着色的颜色数,与最少着色颜色数比较并保存较小值,接着外层循环进入到下一步用另一个省份作为第一个着色省份,直至外层循环结束得出最少着色颜色数.
4、交通费最小问题
1)盲目搜索分为广度优先搜索、深度优先搜索、有界深度搜索
2)广度优先搜索把先生成的子结点排在前面,深度优先搜索则把后生成的子结点排在前面。前者将结点n的子结点放入到OPEN表的尾部,后者是将结点n的子结点放入到OPEN表首部。
3)f(x)=g(x)+h(x) 估计函数等于代价函数加上启发式函数