算法设计技巧与分析(十一):近似算法(approximation algorithms)


近似算法(approximation algorithms)

组合优化问题不是最小化问题就是最大化问题,它由以下三部分组成:
1、一个实例(instances)集合D;
2、对于每个实例I属于D,存在I的一个候选解的有限集S(I);
3、D中的一个实例I的每个解a属于S(I),存在一个值f(a),称为a的解值。

用OPT(I)表示最优值f(a*),且它小于等于f(a)。

最优化问题的一个近似算法A是一个多项式时间的算法,使得给出一个实例I属于D,它输出的某个解a属于S(I),将用A(I)表示f(a)。

差界(difference bounds)

对于问题的所有实例I,由近似算法A可以得到也是最想得到的解A是使得|A(I)-OPT(I)|<=K,K是某个常数。

只有很少的NP难的最优化问题,他们的差界是已知的。

困难结果:背包问题

对于背包问题,我们将证明不存在带差界的背包问题的近似算法。

假设存在一个带差界的求解背包问题的近似算法A:
在这里插入图片描述

相对性能界(relative performance bounds)

对于最小化问题,定义近似比(approximation ratio):
在这里插入图片描述
对于最大化问题,有:
在这里插入图片描述

装箱问题(the bin packing problem)

给定尺寸为s1、s2、…、sn的物品u1、u2、…、un的集合,其中sj介于0和1之间,我们需要将这些物品包装到单位容量的最小数量的箱子中。

下面介绍最先适配方法(First Fit)。

所有的箱子初始值为空,考虑把这些物品按照u1、u2、…、un的顺序装箱,为了装物品ui,我们找到最小的序号j使得箱j最多装了1-si的东西,并把物品ui加到箱j中。

设FF(I)标记在I中用FF启发式方法装物品所用箱子数目,设OPT(I)是最优箱子数目:
由于不可能存在两个半空的箱子:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 近似算法是一种可以在合理的时间内解决NP难问题的方法,其主要思想是通过放宽问题的要求,来找到一个近似的解。随着计算机科学和算法研究的发展,近似算法已经成为解决很多实际问题的有效手段,因此设计和分析近似算法的能力成为了计算机科学领域重要的研究方向。 《近似算法的设计与分析》是一本介绍近似算法设计和分析的书籍,其主要内容包括近似算法的定义、分类和性质,以及一些常见问题的近似算法设计和分析,如背包问题、最大割问题、旅行商问题等。 本书首先介绍了近似算法的基本概念和理论基础,包括近似算法的定义、近似比的概念、固定参数算法等。然后详细讲解了一些著名的近似算法,如Greedy算法、LP松弛算法、随机化算法等,并分析了这些算法的性能和适用范围。在此基础上,书中还涉及了一些高级的近似算法设计和分析技巧,如拉格朗日对偶性、近似计算、整数规划等。 除了算法设计分析技巧的介绍,本书还提供了很多实际问题的案例,让读者对近似算法的应用有更深入的认识。此外,本书的附录中还提供了一些重要的工具和语言,如NP难问题证明的技巧、求解线性规划问题的算法等,对读者的学习和研究都会提供很大的帮助。 总之,《近似算法的设计与分析》是一本权威的、综合性的近似算法书籍,对于计算机科学领域的学者、工程师和研究生来说都是一本非常重要的参考书。 ### 回答2: 近似算法是在时间和空间资源有限的情况下,试图找到较优解的一种有效方法。许多实际问题,如图像处理、网络优化、调度问题等都可以通过近似算法来求解。 近似算法的设计和分析近似算法研究的两个重要方向。设计近似算法需要掌握基本算法技巧,如贪心算法、动态规划、随机化算法等,并将这些技巧应用于不同的问题中。分析近似算法需要借助于理论工具,如渐进分析、随机化分析和概率分析等来解析这些算法的效率和正确性。 《近似算法的设计与分析》一书是一本介绍近似算法的经典教材,对近似算法的设计和分析进行了详细的讲解。本书主要分为两部分:第一部分介绍了近似算法的基本概念、技巧和工具;第二部分涵盖了一系列应用广泛的近似算法,如最小生成树、最大独立集、背包问题等,并对每个算法的复杂度和正确性进行了详细的分析。 本书面向计算机科学、数学等领域的研究生和高级本科生,也适合从事算法设计的研究人员和工程师进行参考。通过学习本书,读者可以深入了解近似算法的基本思路、设计方法和分析技巧,掌握解决不同实际问题的近似算法,提高算法设计分析的能力。 ### 回答3: 近似算法是一种用来解决NP难问题的算法,这些问题在多项式时间内无法直接求解。该算法设计的目的是在保证解的质量足够好的情况下,能够在较短时间内得到一个近似最优解。 Designing and Analyzing Approximation Algorithms是近似算法设计与分析的一本经典书籍,提供了广泛且系统的介绍和分析了各种不同的近似算法。从理论证明到实际应用,该书给出了很多具体的例子来帮助读者更好地理解近似算法的设计和分析方法。 本书涵盖了很多算法领域的经典问题,包括最小生成树、背包问题、旅行商问题、最大割等等。书中给出了由简单到复杂的算法,比如Greedy算法、LP松弛算法和随机化算法等等,并详细地说明了它们的设计思路和具体实现方法。 此外,该书还介绍了理论极限,包括NP难问题的基本理论知识、近似比的定义和计算方法。并展示了各种问题的近似界,包括hardness of approximation(近似难度)和approximability(可近似性)等概念。 总之,这是一本非常有用和可读性高的书,为在算法设计分析领域从事的学生和专业人士提供了一些非常重要和实用的知识。无论是学术界还是实际应用中,近似算法的设计和分析都是非常重要的话题,而本书提供的分析方法和实战案例,为读者提供了非常有帮助的指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值