3.问题求解器 问题求解器通过前向搜索产生合理的积分操作。开始,搜索是盲目的。随着启发式信息的增加,搜索变得比较集中了。它进行均匀代价的搜索。在每一步,它从搜索树中选择有最小代价估值的节点来扩展。搜索树保存在OPEN表中,即未解决的节点的表。这些节点使用的操作不完全合理。OPEN节点代价的测量综合反映了返回到树根的每一搜索步的时间和空间代价。此外,所建议的扩展的代价权衡反映了启发式建议的可用程度。选择扩展的方式为: 第一步:对每个OPEN节点和每个合法的操作,按下列方法计算匹配程度,其值为: 0 如果没有启发信息对此节点推荐该操作 m/n 如果存在启发信息,而且在变型空间的边界集中(即S和G集)n个模式中的m个匹配当前情况。 第二步:选择加权代价最低的节点扩展。加权代价的计算方法是: (15 - 匹配程度) (至此的代价+估计的扩展代价) 式中的权值(15 - 匹配程度)对代价的影响强调了在可以用较少启发式指导时路径的代价,但却忽略了启发信息更强时代价的重要。 问题求解器继续选择节点和使用操作,直到积分被解决。LEX可以用简单的执行标准:积分的解。 4.评论器 问题求解器提供给评论器成功的求解过程的详细追踪。评论器由此追踪提取示教正例和反例。这是通过奖惩分配实现的。它的工作方式是: (1) 问题求解器找到的最小代价解路径中的每个搜索步骤是正例; (2) 有的步骤是由最小代价路径上的节点到不在该路径上的节点。有的步骤走到下述路径,这些路径长度大于或等于最小代价路径长度的1.15倍。这些步骤是反例。 为了估价这种评论的效果,评论器必须再次要求求解器去走似乎不好的路径(如后一种反例)。 评论器不是绝对可靠的。如果知识库中包含错误的启发信息,它可能产生错误的例子。这是由于错误的启发信息确定出错误的最小代价解。改进方法是增加安全系数(一般1.15),以便稍稍扩大搜索范围。 5.归纳器 归纳器用消除侯选元素方法处理例子,以改进变型空间。它以多边界集形式处理错误的例子。归纳器在一定条件下可以学习析取。在由正例进行一般化时,如果不存在相应规则,就要产生第二个变型空间。它满足所有反例和一个新的正例。在得到其它正例时,对所有变型空间进行一般化。最后,各变型空间组成析取的规则。 LEX进行一般化的语言是图6.20所示的函数树。最一般的函数模式是f(x),即任何实函数。最特殊的函数是整数和实数常数,正弦和余弦等。 6.问题产生器 问题产生器用于选定一系列积分问题,以构成有利的示教序列。这部分尚在研究之中。它比LEX其它部分需要更多元知识,是LEX中最难的一部分。下面介绍几种有关策略。 第一种策略是寻找一个变型空间还没有修改过的操作,选定一个积分问题去改进这个变型空间。 第二种策略是修改已解决了的问题。例如解决了3x sinx后,就可以用5x sinx。 第三种策略是寻找知识库中的重迭。如果两个操作的变型空间互相重迭,则选定的问题应该只适用于其中的一种。
第四种策略是在刚开始学习时,用积分的逆操作产生一定难度的问题。 |