1
《算法设计与分析》实验报å‘?/p>
å?/p>
号:
å§?/p>
名:
æ—?/p>
期:
å¾?/p>
分:
一、实验内容:
TSP
问题ã€?/p>
二、所用算法的基本思想及复杂度分析ï¼?/p>
1
�/p>
蛮力æ³?/p>
1
ï¼?/p>
基本思想
找出所有可能的旅行路线ï¼?/p>
即以次考虑图中所有顶点的全排列,
从中é€?/p>
取路径长度最短的哈密顿回路(也称为简单回路)
�/p>
2
ï¼?/p>
复杂度分æž?/p>
蛮力法求è§?/p>
TSP
问题必须依次考察顶点集合的所有全排列,从中找å‡?/p>
路径长度最短的简单回路,因此,其时间下界是Î?/p>
(n!)
�/p>
2
�/p>
动态规划法
1
ï¼?/p>
基本思想
TSP
问题满足最优性原理。对于图
G=(V
,E)
,假设从顶点
i
出发,令
V
�/p>
=V-I
,则
d(i,V
�/p>
)
表示从顶ç‚?/p>
i
出发经过
V
’中各个顶点一次且仅一次,最
后回到出发点
i
的最短路径长度。显然初始子问题ä¸?/p>
d(k,{ })
,即从顶ç‚?/p>
i
�/p>
发只经过顶点
k
回到顶点
i
。现在考虑原问题的一部分ï¼?/p>
d(k,V
�/p>
-{k})
表示ä»?/p>
顶点
k
出发经过
V
�/p>
-{k}
中各个顶点一次且仅一次,最后回到出发点
i
的最
短路径长度,则:
d(k,{ })=Cki
d(i,V
�/p>
)=min{Cik+d(k,V
�/p>
-{k})}(k
�/p>
V
�/p>
)
2
ï¼?/p>
复杂度分æž?/p>
算法需要对顶点集合
{1,2
,…,
n-1}
的每一个子集进行操作,因此,时
间复杂性为Ω
(2n)
�/p>
3
�/p>
回溯æ³?/p>