摘要: 问题描述跟上一个实验一样,只是解法换为了A*算法A*算法流程1) G:=s; //算法开始时搜索图只包括初始状态节点 2) OPEN:=(s), CLOSE:=( ); //此时仅有s作为待扩展节点,而CLOSE表为空 3) 若OPEN是空表,则算法以失败结束;//因为此时并未搜索到解答(目标状态),但又无法继续搜索下去; 4) n:=MOVE-FIRST(OPEN) 5) 若n是目标状态节点,则搜索成功结束,并给出解答路径; 6) 扩展节点n,将非节点n祖先的子节点置于子节点集合SNS中,并插入搜索图G中;7) 标记和修改指针: 把SNS中的子节点分为三类: (1)全新节点——未曾在G中出现 阅读全文
posted @ 2013-04-11 17:41 sillypudding 阅读(2009) 评论(0) 推荐(0)
摘要: 八数码问题:在3×3的方格棋盘上,摆放着1到8这八个数码,有1个方格是空的,其初始状态如图1所示,要求对空格执行空格左移、空格右移、空格上移和空格下移这四个操作使得棋盘从初始状态到目标状态。广度优先搜索算法流程:1. 把起始节点放到OPEN表中(如果该起始节点为一目标节点,则求得一个解答)。 2. 如果OPEN是个空表,则没有解,失败退出;否则继续。 3. 把第一个节点(节点n)从OPEN表移出,并把它放入CLOSED的扩展节点表中。 扩展节点n。如果没有后继节点,则转向上述第(2)步。 4. 把n的所有后继节点放到OPEN表末端,并提供从这些后继节点回到n的指针。 5. 如果n的任 阅读全文
posted @ 2013-04-11 16:40 sillypudding 阅读(3427) 评论(1) 推荐(0)
摘要: 此为读《数据挖掘概念与技术》一书的随手摘抄,方便以后查阅。数据清理 3.2.1 遗漏值1. 忽略元组:当类标号缺少时通常这样做(假定挖掘任务涉及分类或描述)。除非元组有多个属性缺少值,否则该方法不是很有效。当每个属性缺少值的百分比很高时,它的性能非常差。 2. 人工填写遗漏值:一般地说,该方法很费时,并且当数据集很大,缺少很多值时,该方法可能行不通。 3. 使用一个全局常量填充遗漏值:将遗漏的属性值用同一个常数(如“Unknown”或 –∞)替换。如果遗漏值都用“Unknown”替换,挖掘程序可能误以为它们形成了一个有趣的概念,因为它们都具有相同的值——“Unknown”。因此,尽管该方... 阅读全文
posted @ 2013-04-11 15:05 sillypudding 阅读(985) 评论(0) 推荐(0)