精品近似算法与随机化算法Word文档下载推荐.docx
《精品近似算法与随机化算法Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《精品近似算法与随机化算法Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
ρ(n),即max(c/c*,c*/c)=ρ(n).
该近似算法的相对误差定义为Abs[(c-c*)/c*]。
若对问题的输入规模n,有一函数ε(n)使得Abs[(c-c*)/c*]=ε(n),则称ε(n)为该近似算法的相对误差界。
近似算法的性能比ρ(n)与相对误差界ε(n)之间显然有如下
关系:
ε(n)≤ρ(n)—1。
顶点覆盖问题的近似算法
问题描述:
无向图G=(V,E)的顶点覆盖是它的顶点集V的一个子集V’V,使得若(u,v)是G的一条边,则v∈V’或u∈V'
.顶点覆盖V'
的大小是它所包含的顶点个数|V'
|。
VertexSetapproxVertexCover(Graphg)
{cset=;
e1=g。
e;
while(e1!
=){
从e1中任取一条边(u,v);
cset=cset∪{u,v};
从e1中删去与u和v相关联的所有边;
}
returnc
Cset用来存储顶点覆盖中的各顶点。
初始为空,不断从边集e1中选取一边(u,v),将边的端点加入cset中,并将e1中已被u和v覆盖的边删去,直至cset已覆盖所有边。
即e1为空。
图(a)~(e)说明了算法的运行过程及结果。
(e)表示算法产生的近似最优顶点覆盖cset,它由顶点b,c,d,e,f,g所组成。
(f)是图G的一个最小顶点覆盖,它只含有3个顶点:
b,d和e.
旅行售货员问题近似算法
给定一个完全无向图G=(V,E),其每一边(u,v)∈E有一非负整数费用c(u,v).要找出G的最小费用哈密顿回路.
旅行售货员问题的一些特殊性质:
比如,费用函数c往往具有三角不等式性质,即对任意的3个顶点u,v,w∈V,有:
c(u,w)≤c(u,v)+c(v,w)。
当图G中的顶点就是平面上的点,任意2顶点间的费用就是这2点间的欧氏距离时,费用函数c就具有三角不等式性质。
对于给定的无向图G,可以利用找图G的最小生成树的算法设计找近似最优的旅行售货员回路的算法。
voidapproxTSP(Graphg)
{
(1)选择g的任一顶点r;
(2)用Prim算法找出带权图g的一棵以r为根的最小生成树T;
(3)前序遍历树T得到的顶点表L;
(4)将r加到表L的末尾,按表L中顶点次序组成回路H,作为计算结果返回;
当费用函数满足三角不等式时,算法找出的旅行售货员回路的费用不会超过最优旅行售货员回路费用的2倍.
(b)表示找到的最小生成树T;
(c)表示对T作前序遍历的次序;
(d)表示L产生的哈密顿回路H;
(e)是G的一个最小费用旅行售货员回路。
一般的旅行售货员问题
在费用函数不一定满足三角不等式的一般情况下,不存在具有常数性能比的解TSP问题的多项式时间近似算法,除非P=NP。
换句话说,若P≠NP,则对任意常数ρ1,不存在性能比为ρ的解旅行售货员问题的多项式时间近似算法。
集合覆盖问题的近似算法
给定一个完全无向图G=(V,E),其每一边(u,v)∈E有一非负整数费用c(u,v)。
要找出G的最小费用哈密顿回路。
集合覆盖问题的一个实例〈X,F〉由一个有限集X及X的一个子集族F组成。
子集族F覆盖了有限集X。
也就是说X中每一元素至少属于F中的一个子集,即X=。
对于F中的一个子集CF,若C中的X的子集覆盖了X,即X=,则称C覆盖了X。
集合覆盖问题就是要找出F中覆盖X的最小子集C*,使得
|C*|=min{|C||CF且C覆盖X}
集合覆盖问题举例:
用12个黑点表示集合X。
F={S1,S2,S3,S4,S5,S6,},如图所示。
容易看出,对于这个例子,最小集合覆盖为:
C={S3,S4,S5,}.
集合覆盖问题近似算法—-贪心算法
SetgreedySetCover(X,F)
{
U=X;
C=;
while(U!
=){
选择F中使|S∩U|最大的子集S;
U=U-S;
C=C∪{S};
}
returnC;
算法的循环体最多执行min{|X|,|F|}次。
而循环体内的计算显然可在O(|X||F|)时间内完成。
因此,算法的计算时间为O(|X||F|min{|X|,|F|}).由此即知,该算法是一个多项式时间算法。
编辑本段子集和问题的近似算法
问题描述:
设子集和问题的一个实例为〈S,t〉.其中,S={x1,x2,…,xn}是一个正整数的集合,t是一个正整数。
子集和问题判定是否存在S的一个子集S1,使得∑x=t.(x属于S1)
1子集和问题的指数时间算法
intexactSubsetSum(S,t)
intn=|S|;
L[0]={0};
for(inti=1;
i=n;
i++){
L[i]=mergeLists(L[i—1],L[i—1]+S[i]);
删去L[i]中超过t的元素;
returnmax(L[n]);
算法以集合S={x1,x2,…,xn}和目标值t作为输入。
算法中用到将2个有序表L1和L2合并成为一个新的有序表的算法mergeLists(L1,L2)。
2子集和问题的完全多项式时间近似格式
基于算法exactSubsetSum,通过对表L[i]作适当的修整建立一个子集和问题的完全多项式时间近似格式。
在对表L[i]进行修整时,用到一个修整参数δ,0〈δ〈1.用参数δ修整一个表L是指从L中删去尽可能多的元素,使得每一个从L中删去的元素y,都有一个修整后的表L1中的元素z满足(1—δ)y≤z≤y。
可以将z看作是被删去元素y在修整后的新表L1中的代表。
举例:
若δ=0.1,且L=<
10,11,12,15,20,21,22,23,24,29〉,则用δ对L进行修整后得到L1=〈10,12,15,20,23,29>
.其中被删去的数11由10来代表,21和22由20来代表,24由23来代表.
对有序表L修整算法
Listtrim(L,δ)
{intm=|L|;
L1=<
L[1]〉;
intlast=L[1];
for(inti=2;
i=m;
i++){
if(last(1—δ)*L[i]){
将L[i]加入表L1的尾部;
last=L[i];
returnL1;
子集和问题近似格式
intapproxSubsetSum(S,t,ε)
{n=|S|;
L[0]=<
0〉;
L[i]=Merge—Lists(L[i—1],
L[i—1]+S[i]);
L[i]=Trim(L[i],ε/n);
删去L[i]中超过t的元素;
returnmax(L[n]);
近似算法[平装]
~瓦齐拉尼(作者),郭效江(译者),方奇志(译者),农庆琴(译者)
内容简介
《近似算法》系统总结了到本世纪初为止近似算法领域的成果,重点关注近似算法的设计与分析,介绍了这个领域中最重要的问题以及所使用的基本方法和思想。
全书分为三部分:
第一部分使用不同的算法设计技巧给出了下述优化问题的组合近似算法:
集合覆盖、施泰纳树和旅行商、多向割和k—割、k-中心、反馈顶点集、最短超字符串、背包、装箱问题、最小时间跨度排序、欧几里得旅行商等。
第二部分介绍基于线性规划的近似算法.第三部分包括四个主题:
在一个格中找一个最短向量、计数问题的可近似性、基于PCP定理的近似困难性以及未解决的问题等,这些问题都是近似算法领域中的前沿研究内容。
《近似算法》可作为计算机科学、应用数学、运筹学、信息科学与网络工程、物流与交通运输、管理科学与工程、生命科学、电子科学与技术等学科专业的研究生及高年级本科生的教学用书,对相关领域的科学研究人员也具有参考价值。
编辑推荐
《近似算法》涵盖了获取难解组合最优化问题和计数问题的近似解的主要理论方法.它包括简洁优雅的组合理论,有用又有趣的算法以及组合问题所固有复杂性的深入结果.讲解清晰透彻,练习选取精当,《近似算法》必将被所有数学和算法研究者所接受并喜爱。
《近似算法》关注近似算法这一重要且适时的主题,写作上乘,内容全面。
信广大读者无论是将其用作近似性的入门教材,还是作为近似算法诸多问题的参考资料,都会发现《近似算法》极为有用。
作者简介
作者:
(美国)瓦齐拉尼译者:
郭效江方奇志农庆琴
ViiayV.Vazirani,佐治亚理工学院计算学院教授,加州大学伯克利分校McKay客座教授,1979年于麻省理工学院获得学士学位,1983年于加州大学伯克利分校获得博士学位。
研究兴趣包括数理经济学和对策论中的算法问题、有效精确算法和近似算法的设计、计算复杂性理论等。
发表论文120余篇,出版图书两本,获得多项基金资助。
2005年当选为美国计算机协会院士。
1引言第一部分组合算法
2集合覆盖
3施泰纳树和旅行商
4多向割和k-割
5k—中心
6反馈顶点集
7最短超字符串
8背包
9装箱问题
10最小时间跨度排序
11欧几里得旅行商第二部分基于线性规划的算法
12线性规划对偶介绍
13用对偶拟合分析集合覆盖
14舍入应用于集合覆盖
15对集合覆盖使用原始对偶模式
16最大可满足性
17无关平行机排序
18树的多割和树的整数多商品流
19多向割
20一般图的多割
21最稀疏割
22施泰纳森林
23施泰纳网络
24设施定位
25k-中位点
26半定规划第三部分其他主题
27最短向量
28计数问题
29近似困难性
30未解决的问题附录
A为算法设计者概述复杂性理论
B概率论的基本事实参考文献
问题索引
主题索引
随机算法随机算法
著译者:
(美)RajeevMotwani
出版日期:
2008—10-1上架时间:
2008—10-27
出版社:
高等教育出版社
《随机算法》是斯坦福-剑桥项目(Stanford-CambridgeProSram)之一。
对于许多应用,随机算法是最简单可行的,或者是最快的,或者两者兼得。
《随机算法》由该领域两位著名专家写成,给出了随机算法设计和分析的基本概念,适用于接近研究生开始阶段的水平。
《随机算法》的第一部分介绍了概率论的基本工具,以及在算法应用中经常使用的概率分析。
为了说明每个工具的作用,在具体设置给出了一些算法示例。
《随机算法》的第二部分为算法的应用,共包括七章,每一章集中在随机算法应用的一个重要领域,如数据结构、几何算法、图算法、数论、计数、并行算法及在线算法等.对于每个领域中的算法,做了全面并且具有代表性的选择。
序言。
第一部分工具与技巧
第1章概述
1.1最小切算法
1.2LasVegas和MonteCarlo1.3二分平面划分
1。
4概率递归
5计算模型和复杂性类
注释
问题
第2章博弈论技术
2.1博弈树估值
2.2最小化最大原则
2。
3随机性与非均匀性