? 基本思想
对深度优先搜索引入搜索深度的界限(设为dm),当搜索深度达到了深度界限,而仍未出现目标节点时,就换一个分支进行搜索。 ? 搜索过程
1) 把初始节点S0放入OPEN表中,置S0的深度d(S0)=0。 2) 如果OPEN表为空,则问题无解,退出。
3) 把OPEN表的第一个节点(记为节点n)取出放入CLOSE
表。
4) 考察节点n是否为目标节点。若是,则求得了问题的解,
退出。
5) 若节点n的深度d(n)=dm,则转第2步(此时节点n位
于CLOSE表,但并未进行扩展)。 6) 若节点n不可扩展,则转第2步。
7) 扩展节点n,将其子节点放入OPEN表的首部,为每一个
子节点都配置指向父节点的指针,将每一个子节点的深度设置为d(n)+1,然后转第2步。
? 重排九宫的有界深度优先搜索(设深度界限
S2 8 31 47 6 51)
2 8 3 1 47 6 525 2 31 8 47 6 5261 2 3 8 47 6 5281 2 38 47 6 5Sg271 2 37 8 46 5242 3 41 87 6 52 31 8 47 6 5212 3 1 8 4 7 6 522 2 3 41 8 7 6 520011 2 8 31 4 7 6 5162 8 1 4 3 7 6 5172 81 4 37 6 5192 81 4 37 6 5182 4 81 37 6 5152 8 31 4 57 612 2 8 3 1 4 57 6132 8 31 4 57 6142 8 31 57 4 6108 32 6 41 7 57 2 8 3 1 6 47 68 2 8 36 4 1 7 592 8 36 41 7 522 8 31 6 47 53 2 8 3 1 6 47 54 2 8 31 6 7 5 462 8 31 67 5 42 81 6 37 5 65 23 2 3 41 8 57 6? 启发式搜索
启发式搜索采用问题自身的特性信息,以指导搜索朝着最有希望的方向前进。这种搜索针对性较强,因而效率较高。 ? 启发性信息与估价函数:
? 可用于指导搜索过程,且与具体问题有关的信息称为启发性信息。 ? 用于评估节点重要性的函数称为估价函数。其一般形式为:
f(x) = g(x)+h(x)
? 其中g(x)表示从初始节点S0到节点x的代价;h(x)是从节点x到目
标节点Sg的最优路径的代价的估计,它体现了问题的启发性信息。h(x)称为启发函数。
? g(x) 有利于搜索的完备性,但影响搜索的效率。h(x)有利于提高搜
索的效率,但影响搜索的完备性。 ? 全局择优搜索
全局择优搜索按照“哪个节点到目标节点的估计代价小就先考察哪个节点”的原则进行搜索;
广度优先搜索、代价树的广度优先搜索是全局择优搜索的特例。 ? 基本思想
每当要选择下一个节点进行考察时,全局择优搜索每次总是从OPEN表的全体节点中选择一个估价值最小的节点。 ? 搜索过程
1) 把初始节点S0放入OPEN表,计算f(S0)。 2) 如果OPEN表为空,则问题无解,退出。
3) 把OPEN表的第一个节点(记为节点n)取出放入CLOSE
表。
4) 考察节点n是否为目标节点。若是,则求得了问题的解,
退出。
5) 若节点n不可扩展,则转第2步。
6) 扩展节点n,用估价函数f(x)计算每个子节点的估价值,
并为每一个子节点都配置指向父节点的指针。把这些子
节点都送入OPEN表中,然后对OPEN表中的全部节点按估价值从小至大的顺序进行排序,然后转第2步。
? 重排九宫问题的全局择优搜索树
设估价函数为:
f(x)=d(x)+h(x)
其中,d(x)表示节点x的深度,h(x)表示节点x的格局与目标节点格局不相同的牌数。
68 3 2 1 4 7 6 57 2 8 3 7 1 46 551 2 3 8 47 6 541 2 38 47 6 571 2 37 8 46 552 8 3 1 47 6 55 2 31 8 47 6 552 31 8 47 6 56 2 8 31 4 7 6 572 3 1 8 4 7 6 562 8 31 6 47 5S02 8 31 47 6 53
Sg第四章 神经网络与遗传计算 1.神经网络(只考概念)
*此处老师重点为:神经元的工作特性。但无奈两个课本+ppt均找不到原话。
所以按下边的内容自己总结一下吧。 1)生物神经元的基本工作机制
一个神经元有两种状态-兴奋和抑制。平时处于抑制状态的神经元,其树突和胞体接受其它神经元经由突触传来的兴奋电位,多个输入在神经元中以
代数和的方式叠加;如输入兴奋总量超过阈值,神经元被激发进入兴奋状态,发出输出脉冲,由轴突的突触传递给其它神经元。 2)生物神经特性
(1)并行分布处理的工作模式 (2)神经系统的可塑性和自组织性。 (3)信息处理与信息存贮合二为一。 (4)信息处理的系统性
(5)能接受和处理模糊的、模拟的、随机的信息。
(6)求满意解而不是精确解.人类处理日常行为时,往往都不是一定要
按最优或最精确的方式去求解,而是以能解决问题为原则,即求得 满意解就行了。
(7)系统具有鲁棒性和容错性 3)人工神经元模型
2.遗传计算(此处为简答题,但老师没有给简答题的范围,所以看着重要的背)
1)进化计算包括:
? 遗传算法(genetic algorithms,GA) ? 进化策略(evolution strategies) ? 进化编程(evolutionary programming) ? 遗传编程(genetic programming)。
2)遗传操作
简单遗传算法的遗传操作主要有三种:选择(selection)、交叉(crossover)、变异(mutation)。改进的遗传算法大量扩充了遗传操作,以达到更高的效率。
选择操作也叫复制操作,根据个体的适应度函数值所度量的优、劣程度决定它在下一代是被淘汰还是被遗传。
交叉操作的简单方式是将选择出的两个个体P1和P2作为父母个体,将两者的部分码值进行交换。
变异操作的简单方式是改变数码串的某个位置上的数码。 3)遗传算法的特点
6.遗传算法是对参数集合的编码而非针对参数本身进行变化; 7.遗传算法是从问题解的编码组开始而非从单个解开始搜索; 8.遗传算法利用目标函数的适应度这一信息而非利用导数或其他辅
助信息来指导搜索;
9.遗传算法利用选择、交叉、变异等算子而不是利用确定性规则进行
随机操作。
4)算法停止条件:
D)完成了预先给定的进化代数则停止;
E)种群中的最优个体在连续若干代没有改进或平均适应度在连续若
干代基本没有改进时停止。
5)遗传算法流程