700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 【算法设计与分析】02 货郎问题与计算复杂性理论

【算法设计与分析】02 货郎问题与计算复杂性理论

时间:2022-09-14 15:07:59

相关推荐

【算法设计与分析】02 货郎问题与计算复杂性理论

什么是NP系列问题?今天来看看这些问题。

文章目录

1 货郎问题2 0-1背包问题3 什么是NP-hard问题(NP难问题)

1 货郎问题

问题:有n个城市,已知任何两个城市之间的距离,求一条每个城市恰好经过1次的回路,使得总长度最小。

建模与算法:

输入:有穷个城市的集合C={c1,c2,…,cn},距离d(ci,cj)=d(cj,ci) ∈\in∈ Z+ ,1≤\leq≤i≤\leq≤j≤\leq≤n输出:1,2,…,n的排列k1,k2,…,kn,使得:

min{∑i=1n−1d(cki,cki+1)+d(ckn,ck1){\sum_{i=1}^{n-1} d(c_{k_i},c_{k_{i+1}}) +d(c_{k_{n}},c_{k_1})}∑i=1n−1​d(cki​​,cki+1​​)+d(ckn​​,ck1​​)}

现状:至今没有找到有效的算法。

2 0-1背包问题

0-1背包问题:有n个物品要装入背包,第i件物品的重量wi,价值vi,i=1,2,…,n。背包最多允许装入的重量是B。问如何选择装入背包的物品,使得总价值达到最大?

举个例子:

n=4, B=6,物品的重量和价值如下:

0-1背包问题数学建模:

问题的解:0-1向量<x1,x2,…,xn>,当xi=1时,代表物品i装入背包。

目标函数:max∑i=1nvixi{\sum_{i=1}^{n} v_ix_i}∑i=1n​vi​xi​

约束条件:∑i=1nwixi{\sum_{i=1}^{n} w_ix_i}∑i=1n​wi​xi​≤\leq≤B

xi=0,1。i=1,2,......,n。x_i=0,1 。 i=1,2,......,n。xi​=0,1。i=1,2,......,n。

0-1背包问题与货郎问题一样,至今没有找到有效的算法来解决。

3 什么是NP-hard问题(NP难问题)

像上面的货郎问题以及0-1背包问题,这样的问题有数千个,大量存在于各个领域。

至今没有找到有效的算法来解决该问题。(没有找到有效的算法意思是现有的算法的运行时间是输入规模的指数或者更高阶函数)至今没有人能够证明对于这类问题不存在多项式时间的算法。从是否存在多项式时间算法的角度看,这些问题彼此是等价的。这些问题的难度处于可有效计算的边界。

算法的研究目标主要是下面四点:

而本专栏的主要目标是下图中的下面的算法设计的部分:

我们主要学习的内容是算法分析与问题的计算复杂性,以及分治策略、动态规划、贪心算法、回溯与分支限界等的学习。

学习是漫长的,期待后面将算法知识学好。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。