算法分析与设计.docx

算法分析与设计

算法分析与设计 2015 ~ 2016 学年 第 二 学期学 院 专 业 学 号 姓 名 指导教师 A*算法解决旅行商问题问题描述旅行商问题:给定一个完全无向带权图G=(V,E),其每条边(u,v)∈E有一非负整数权值w(u,v)。要求找出G的一条经过每个顶点一次且仅经过一次的回路,使得该回路上所有边的权值之和尽可能地小。算法分析及流程图算法概述A*算法是基于估价函数f(x)的一种加权状态图启发式搜索算法。A*算法的核心是估价函数f(n)它包括g(n)和h(n)两部分。g(n)是已经走过的代价h(n)是n到目标的估计代价。A算法限制其估价函数中的启发函数h(x)满足对所有的节点x均有h(x)≤h*(x)其中h*(x)是从节点x到目标节点的最小代价(若有多个目标节点则为其中最小的一个)[1]。A*算法伪代码Best_First_Search()?{?Open ? = ? [起始节点];?Closed ? = ? [];? while (Open表非空)? {? 从Open中取得一个节点X,并从OPEN表中删除。? if (X是目标节点)? {? 求得路径PATH;返回路径PATH;? }? for (每一个X的子节点Y)? {? if (Y不在OPEN表和CLOSE表中)? {? 求Y的估价值;?并将Y插入OPEN表中;? }?//还没有排序? els

文档评论(0)

1亿VIP精品文档

相关文档