近似算法 东南大学计算机学院 方效林.

Slides:



Advertisements
Similar presentations
渡黑水溝 郁永河. 2 戎克船:是明末清初時期往返兩岸的主要交通工具 ∗ 1. 關於台灣的開發歷史,我們到底了解多少呢?不妨試著說出 就我們所知有關台灣開發史的故事、小說、電影、音樂與大 家分享。 ∗ 2. 什麼是黑水溝?黑水溝為什麼會成為大陸移民渡海來臺時最 大的威脅? ∗ 3. 有聽過「六死三留一回頭」、「有唐山公,無唐山嬤」這兩.
Advertisements

流行性感冒. 流行性感冒( Influenza ) 由流感病毒引起的一种急性呼吸道传染病。 临床特点为急起高热,全身酸痛、乏力,或伴轻度呼吸 道症状。 潜伏期短,传播途径简单,具有高度传染性和传播快的 特点,常引起暴发、流行,甚至世界性大流行。 流感病毒抗原易变异。
软饮料概述 人文艺术系 石惠舟. 什么是饮料? 饮料概述 饮料是指以水为基本原料,由 不同的配方和制造工艺生产出 来,供人们直接饮用的液体食 品。 饮料 饮料除提供水分外,由于在不 同品种的饮料中含有不等量的 糖、酸、乳以及各种氨基酸、 维生素、无机盐等营养成分, 因此有一定的营养。
1 安全乘坐电梯 与大型游乐设施 福建省特检院宁德分院党支部 王祖生 特种设备安全知识进校园.
盈泰盛世精选 - 华泰并购投资基金 宝蓄财富 - 产品部. 产品基本要素 产品名称盈泰盛世精选华泰并购投资基金 管理人北京恒宇天泽投资管理有限公司 托管人国信证券股份有限公司 发行规模 1.2 亿元,以实际募集规模为准 人数限制 200 人上限 投资标的本基金委托将主要投向于华泰瑞联二期并 购基金中心(有限合合)(以企业登记的.
第五单元 酒水知识与酒吧服务 主题三 蒸 馏 酒 —— 中国蒸馏酒. 蒸馏酒是把经过发酵的酿酒原料,经过一次或多次的蒸馏过 程提取的高酒度酒液。
高一年级组家长会. 一、考试成绩分析 二、存在的问题 三、给家长的建议 四、科任教师交流 表扬 1 、 年级组语数外成绩优异同学 ( 年级排名 ) 李 芮第 1 名 吕明洋第 2 名 王 越第 3 名 杨天宇第 4 名 张凯燕第 5 名 李 曦第 7 名 魏书静第 8 名 项春怡第 10 名 郑明明第.
沟通交流 活动有序 内容轻松 文明守纪 团结共进 1. 成立家长委员会, 通知 15 人明天下午 3-5 点五楼报告厅 “ 全面育人教育论坛 ” 2. 介绍附中、年级、班级的规范和要求 日常行为规范,高中学习特点,考试、作业要求 3. 开学以来年级、班级开展的工作及安排 开学以来年级、班级开展的工作及安排.
公務員申領小額款項專案法紀宣導 法務部廉政署 編製
莲 :荷花 芙蓉 芙蕖 晓出净慈寺送林子方 (宋) 杨万里 毕竟西湖六月中, 风光不与四时同。 接天莲叶无穷碧, 映日荷花别样红。
1、毛将后代握手言欢泯恩怨 2、美国总统奥巴马访华.
大学生安全防范知识 城北派出所 陶燕雄.
远 方 宽厚肩膀,手指干净而修长。 笑声像大海,眼睛里有阳光。 我想象你,一定就是这样。 还没出现,就已对你爱恋;还没遇见,就先有了思念。
情境导入: 诚信是金 同学们,这是一个非常经典的故事。请大家思考当小男孩真的遇到狼时,为什么没人去救他呢? 你从中得到了什么启示?狼来了.MP4.
第三部分 木薯淀粉 木薯是世界七大作物之一,与马铃薯、红薯并列为世界三大薯类作物。木薯的主要用途是食用、饲用和在工业上开发利用,世界上木薯全部产量的65%用于人类食物,工业上木薯主要用于提取淀粉,可制浆料、酒精、果糖、葡萄糖、味精、塑料纤维、塑料薄膜、涂料和胶粘剂等。世界木薯制品的主要贸易国集中在亚洲和西欧地区,排名前五位的国家和地区分别是中国、韩国、荷兰、西班牙和比利时。
鬼太郎 身為幽靈族後裔一員的鬼太郎,他出生的時候,父母便雙亡,不過他的爸爸化身為眼珠,陪伴著他。而鬼太郎與他的同伴貓女、臭鼠人等,為了維持妖怪與人類間的和平,他們將一一消滅邪惡的妖怪,守護這世界的和平。
欢迎各位家长 同样的心情 一样的期待 初二(2)班家长会.
欢迎各位家长的到来! 沟通 交流 协作 初二 班家长会.
家校同心, 师生同行 ——八(五、六)班家长会.
“他的人生观真是一种‘单纯信仰’,这里面只有三个大字:一个是爱,一个是自由,一个是美。他梦想这三个理想的条件能够回合在一个人生里,这是他的‘单纯信仰’。他的一生的历史,只是他追求这个单纯信仰的实现的历史。” ——胡适《追悼志摩》
欢迎各位家长光临 初二(1)班家长会
学习情境七 领队业务 【学习目标】 了解领队工作职责; 掌握领队的工作程序; 掌握领队的服务要点。 【技能目标】
蒙古与苗族的特色建筑 项艺烽小组 最炫民族风.mp3.
政府採購法規概要 報告人:杜國正 行政院公共工程委員會企劃處.
高考地理复习应注意的问题 构建知识网络 培养读图技能 掌握答题规律.
大聲一點又如何? 打耳光、重擊或大聲音會使聲波以極大的力量快速撞擊鼓膜而傷害鼓膜。 事先知道要聽到很大的聲音要張開嘴巴。
一分钟电话营销分享 刘瑾.
之 魔 析 妖 鬼 解 怪 大 沈家仪小组出品.
第3课 收复新疆.
热烈欢迎您 参加家长会!.
杜甫诗三首 《望岳》 《春望》 《石壕吏》 授课人:姚晓霞.
台灣心音樂情 PPT製作:郭孟青 老師.
第十一单元 第24讲   第十一单元 世界经济的全球化趋势.
欢迎各位家长 参加初一八班的家长会!.
小池 杨万里 泉眼无声惜细流, 树阴照水爱晴柔。 小荷才露尖尖角, 早有蜻蜓立上头.
爱 莲 说 周敦颐 爱 莲 说 周敦颐 水陆草木之花,可爱者甚蕃。晋陶渊明独爱菊。自李唐来,世人甚爱牡丹。予独爱莲之出淤泥而不染,濯清涟而不妖,中通外直,不蔓不枝,香远益清,亭亭净植,可远观而不可亵玩焉。 予谓菊,花之隐逸者也;牡丹,花之富贵者也;莲,花之君子者也。噫!菊之爱,陶后鲜有闻。莲之爱,同予者何人?牡丹之爱,宜乎众矣。
通州市教研室 王作良 邮箱 06高考复习讲座 通州市教研室 王作良 邮箱
孟子名言 1. 幼吾幼,以及人之幼。 2.天时不如地利, 。 3. ,威武不能屈。 4.得道者多助, 。 5.穷则独善其身, 。 6.
寡人之于国也 《孟子》.
反思,调整学习方法 迎接中考的挑战 九(7)班.
第九章 长期资产及摊销 2017/3/21.
樱花.
9.1 抽签的方法合理吗.
斑马线上的安全学问 学校:平安二小 班级:四年级(1)班 姓名:张海超 时间:2016年6月21日.
令我后悔的一件事.
恩典更新 羅15:1-13.
热烈欢迎各位家长 初二(1)班
感受柏林禅寺—— 华莲的日记 2006年6月9日 周五 多云
第十课我的朋友圈.
台南市石門國民小學 九十八學年度上學期 作文教學成果
2-1熟記網路交友的注意事項 2-2分析各種網路交友的錯誤心態 2-3認識各種網路交友的正確方法
马克思主义基本原理概论 第三章 人类社会及其发展规律.
友信不銹鋼工程有限公司 台北市康定路4號 工廠:台北縣三重市竹圍仔街22-3號
杜甫诗三首 《望岳》 《春望》 《石壕吏》.
2012版中考二轮复习历史精品课件北师大版 (含2011中考真题) 专题五世界近代史
囚绿记 陆蠡 绿色是自然满足人类审美心理需求的礼物,它是和平安宁的象征,它给人以生命活力的感召力量。
说说看 比较现在的你和四年前的你有什么变化?.
颜色 yánsè 灰色huī sè 粉色fěn sè.
学习目标 1、知道家中被盗后要保护现场; 2、了解一些防盗的小技巧。. 学习目标 1、知道家中被盗后要保护现场; 2、了解一些防盗的小技巧。
15-16 水運會 維多利亞公園游泳池 4月30日 (星期六) 9:00-12:30.
歐巴桑症候群 *** 歐巴桑症候群***.
國民年金 np97006.
第二章 会计要素和会计等式 会计要素; 会计等式; 学习目标.
学习目标 1、知道家中被盗后要保护现场; 2、了解一些防盗的小技巧。. 学习目标 1、知道家中被盗后要保护现场; 2、了解一些防盗的小技巧。
《算法设计技巧与分析》 第10章 NP完全问题 朱友文
提昇教師專業會議(華人社區) 「教師專業行為表現」專題討論 學生和家長眼中的教師專業行為 日期:2005年10月29日 地點:香港教育學院C-Lp-01室 主講 :香港教育工作者聯會 韓湛恩老師.
赤壁赋 苏轼. 赤壁赋 苏轼 赋是一种有韵的文体,讲求声律、押韵、对比等形式,有辞赋、骈赋和律赋等。 关于赋 赋是一种有韵的文体,讲求声律、押韵、对比等形式,有辞赋、骈赋和律赋等。     
专题八 欧美代议制的确立与发展 (17—19世纪) 英    美 法 德 选修:日本 俄国.
孙 权 劝 学 --《资治通鉴》 随县炎帝学校 谭芳.
Presentation transcript:

近似算法 东南大学计算机学院 方效林

本章内容 近似算法的基本概念 顶点覆盖问题 集合覆盖问题 旅行商问题 子集和问题 随机和线性规划

近似算法的基本概念 实际应用中很多问题都是NP-完全问题 求解NP-完全问题很难 若NP-完全问题输入规模很小,可指数级穷举搜索 否则,用多项式算法近似

近似算法的基本概念 近似算法 近似算法的时间复杂度分析 近似算法的近似度(近似解与优化解的差距) 能够给出一个优化问题的近似优化解的算法 主要解决优化问题(最大化、最小化) 近似算法的时间复杂度分析 分析方法与传统算法一致 近似算法的近似度(近似解与优化解的差距) Ratio Bound 相对误差

近似算法的基本概念 Ratio Bound 设A是一个优化问题的近似解,A的Ratio Bound为𝑩(𝒏),则 𝐦𝐚𝐱 𝑨 𝑶𝑷𝑻 , 𝑶𝑷𝑻 𝑨 ≤𝑩(𝒏) 若问题是最大化问题,则𝐦𝐚𝐱 𝑨 𝑶𝑷𝑻 , 𝑶𝑷𝑻 𝑨 = 𝑶𝑷𝑻 𝑨 若问题是最小化问题,则𝐦𝐚𝐱 𝑨 𝑶𝑷𝑻 , 𝑶𝑷𝑻 𝑨 = 𝑨 𝑶𝑷𝑻 Ratio Bound越大,近似解越坏 A近似解代价,OPT最优解代价

近似算法的基本概念 相对误差 相对误差界 设A是一个优化问题的近似解,A的相对误差为 |𝑨−𝑶𝑷𝑻| 𝑶𝑷𝑻 |𝑨−𝑶𝑷𝑻| 𝑶𝑷𝑻 ≤𝜺(𝒏) A近似解代价,OPT最优解代价

近似算法的基本概念 相对误差与Ratio Bound关系 只要求出了Ratio Bound,就求出了相对误差 𝜺 𝒏 ≤𝑩 𝒏 −𝟏 对于最小化问题 𝜺 𝒏 = |𝑨−𝑶𝑷𝑻| 𝑶𝑷𝑻 = 𝑨−𝑶𝑷𝑻 𝑶𝑷𝑻 = 𝑨 𝑶𝑷𝑻 −𝟏=𝑩 𝒏 −𝟏 对于最大化问题 𝜺 𝒏 = |𝑨−𝑶𝑷𝑻| 𝑶𝑷𝑻 = 𝑶𝑷𝑻−𝑨 𝑶𝑷𝑻 = 𝑶𝑷𝑻 𝑨 −𝟏 𝑶𝑷𝑻 𝑨 = 𝑩(𝒏)−𝟏 𝑩(𝒏) ≤𝑩(𝒏)−𝟏 只要求出了Ratio Bound,就求出了相对误差 A近似解代价,OPT最优解代价

顶点覆盖问题 顶点覆盖是NP-完全问题 输入:无向图 𝑮=(𝑽,𝑬) 输出:𝑨⊆𝑽,满足 ∀ 𝒖,𝒗 ∈𝑬,其中 𝒖∈𝑨或者𝒗∈𝑨 且|𝑨|大小最小 顶点覆盖是NP-完全问题

顶点覆盖问题 近似算法A的基本思想 b b c c d d b c d a e e f f g g a e f g 随机选一条边(u,v),删除与u或v相连的边 重复,直到无边,将选中的边的端点作为结果 b b c c d d b c d a e e f f g g a e f g 算法解{b,c,e,f,d,g} 最优解{b,c,d}

顶点覆盖问题 近似算法A性能分析 时间复杂度为O(|E|) Ratio Bound为2 令 𝑬 ′ 是选中的边的集合,若 (𝒖,𝒗)∈𝑬 ′ ,则与(𝒖,𝒗)相邻的边都被删除,因此 𝑬 ′ 中无相邻边 每次选择一条边,即每次有两个顶点加入近似解A, 𝑨 =𝟐| 𝑬 ′ | 设𝑶𝑷𝑻是最优解, 𝑶𝑷𝑻必须覆盖 𝑬 ′ ,由于 𝑬 ′ 中无邻接边,𝑶𝑷𝑻至少包含 𝑬 ′ 中每条边的一个顶点 𝑬 ′ ≤|𝑶𝑷𝑻|, 𝑨 =𝟐 𝑬 ′ ≤𝟐|𝑶𝑷𝑻|,即 |𝑨| |𝑶𝑷𝑻| ≤𝟐

集合覆盖问题 输入:有限集𝑼={𝟏,𝟐,…,𝒏},子集合的集合𝑺={ 𝒔 𝟏 , 𝒔 𝟐 ,⋯, 𝒔 𝒎 }, 𝒔 𝒊 ⊆𝑼 输出: 𝑨⊆𝑺,满足 𝑼= ⋃ 𝒔∈𝑨 𝒔 且|𝑨|最小

集合覆盖问题 s1 s2 s3 s4 s5 s6 最优解{ 𝒔 𝟑 , 𝒔 𝟒 , 𝒔 𝟓 }

集合覆盖问题 近似算法A的基本思想 s3 s4 s5 s1 近似解{ 𝒔 𝟏 , 𝒔 𝟒 , 𝒔 𝟓 , 𝒔 𝟑 } s2 s6 每次迭代选择能覆盖最多未被覆盖元素的子集 s3 s4 s5 s1 近似解{ 𝒔 𝟏 , 𝒔 𝟒 , 𝒔 𝟓 , 𝒔 𝟑 } s2 s6

集合覆盖问题 近似算法A性能分析 时间复杂度 每次选能覆盖最多未被覆盖元素的子集 |𝑺|个子集,判断覆盖未被覆盖元素个数,一次选择要计算 𝑺 |𝑼|次 共选择 𝐦𝐢𝐧 { 𝑺 ,|𝑼|} 次 总计算复杂度 𝑺 |𝑼| 𝐦𝐢𝐧 { 𝑺 ,|𝑼|}

集合覆盖问题 近似算法A性能分析 Ratio Bound为 ln 𝒏 +𝟏 令𝑶𝑷𝑻为最优解,其每个元素平均覆盖代价为 |𝑶𝑷𝑻| 𝒏 算法A第一次迭代时,必然有一个集合s1,其平均代价 𝟏 𝒏 𝟏 ≤ |𝑶𝑷𝑻| 𝒏 ,不然𝑶𝑷𝑻不存在的 同理,设第i次迭代时剩余 𝒌 𝒊 个元素未被覆盖,对这 𝒌 𝒊 个元素覆盖最优解为 𝑶𝑷𝑻 𝒊 ,则必然存在一个集合s2, 𝟏 𝒏 𝒊 ≤ 𝑶𝑷𝑻 𝒊 𝒌 𝒊 ≤ 𝑶𝑷𝑻 𝒌 𝒊 。算法A的代价 𝟏 𝒏 𝟏 𝒏 𝟏 + 𝟏 𝒏 𝟐 𝒏 𝟐 +…+ 𝟏 𝒏 𝒊 𝒏 𝒊 ≤ 𝑶𝑷𝑻 𝒌 𝒊 𝒏 𝒊 ≤|𝑶𝑷𝑻| 𝒙=𝟏 ∞ 𝟏 𝒙 ≤|𝑶𝑷𝑻|( ln 𝒏 +𝟏) 剩下ki个元素最多需要OPT个集合覆盖,假设也是需要OPT个集合覆盖,则1/s<=OPT/ki。k1==n,k2==n-n1,k3==n-n1-n2…. 𝑛 𝟏 𝑘 𝟏 = 𝑛 𝟏 𝑛 𝑛 𝟐 𝑘 𝟐 = 𝑛 𝟐 𝑛− 𝑛 𝟏 𝑛 𝟑 𝑘 𝟑 = 𝑛 𝟑 𝑛− 𝑛 𝟏 − 𝑛 𝟐

旅行商问题(Hamilton环) 给定一个图,Hamilton环是包含图中每个顶点一次的简单环

旅行商问题(Hamilton环) 输入:完全无向图𝑮=(𝑽,𝑬), 每条边(𝒂,𝒃)存在一个权值𝑪(𝒂,𝒃), 边满足三角不等式𝑪 𝒂,𝒃 +𝑪 𝒃,𝒄 ≥𝑪(𝒂,𝒄) 输出:边权值和最小的Hamilton环

旅行商问题(Hamilton环) 近似算法A的基本思想 先构造最小生成树,先序遍历的顺序构造环 e e e a a a f f f b b c h h c c d g d g d g 构造最小生成树 先序遍历 近似解 最优解

旅行商问题(Hamilton环) 近似算法A性能分析 时间复杂度 构造最小生成树𝑶( |𝑽| 𝟐 ) 先序遍历𝑶(|𝑽|) 总时间复杂度𝑶( |𝑽| 𝟐 )

旅行商问题(Hamilton环) 近似算法A性能分析 Ratio Bound为2 令𝑶𝑷𝑻为最优解,路径权值和即代价为𝑪(𝑶𝑷𝑻) 𝑶𝑷𝑻环中删除一条边可得一棵生成树𝑻 ,代价𝑪(𝑻) 构造的最小生成树 𝑻 𝒎𝒊𝒏 ,𝑪 𝑻 𝒎𝒊𝒏 ≤𝑪 𝑻 ≤𝑪(𝑶𝑷𝑻) 先序遍历实际上对 𝑻 𝒎𝒊𝒏 中所有的边走了2次,即代价为𝟐𝑪 𝑻 𝒎𝒊𝒏 按先序遍历的节点第一次访问的顺序构造的Hamilton环为𝑨,是先序遍历2次访问满足三角不等式的简化 𝑪 𝑨 ≤𝟐𝑪 𝑻 𝒎𝒊𝒏 ≤𝟐𝑪(𝑶𝑷𝑻) b c b c a,b,a,c,a a,b,c,a

Max-3CNF(随机近似) 输入: 输出: n个布尔变量组成的m个析取范式的合取范式 对n个变量赋值,使m个析取范式为1的个数最多 ( 𝒙 𝟏 ∨ 𝒙 𝟐 ∨ 𝒙 𝟑 )∧( 𝒙 𝟏 ∨ 𝒙 𝟐 ∨ 𝒙 𝟑 )∧( 𝒙 𝟏 ∨ 𝒙 𝟐 ∨ 𝒙 𝟑 )

Max-3CNF(随机近似) 随机近似算法A Random-Max-3CNF(CNF) For 对于CNF中的每个变量x Do 随机地为x赋值: x =0的概率为1/2, x =1的概率为1/2;

Max-3CNF(随机近似) 随机近似算法A分析 随机近似比为8/7 第 i 个析取范式 𝒙 𝒊𝟏 ∨ 𝒙 𝒊𝟐 ∨ 𝒙 𝒊𝟑 , n个变量随机赋0或1,m个析取范式 第 i 个析取范式 𝒙 𝒊𝟏 ∨ 𝒙 𝒊𝟐 ∨ 𝒙 𝒊𝟑 , 其值为0的概率1/8 其值为1的概率1-1/8=7/8 3CNF中值为1的个数7m/8 最优解中值为1的个数为m,随机近似比8/7

顶点覆盖问题(线性规划) 输入:无向图 𝑮=(𝑽,𝑬),顶点𝒗有权值𝝎(𝒗) 输出:𝑨⊆𝑽,满足 将问题换另一种描述 ∀ 𝒖,𝒗 ∈𝑬,其中 𝒖∈𝑨或者𝒗∈𝑨 且𝝎 𝑨 = 𝒗∈𝑨 𝝎(𝒗) 最小 将问题换另一种描述 假设𝑨为一个覆盖, 若𝒗∈𝑨,令𝒙 𝒗 =𝟏, 否则𝒙 𝒗 =𝟎 要覆盖所有的边,则对任意边∀ 𝒖,𝒗 ∈𝑬,需满足𝒙 𝒖 +𝒙 𝒗 ≥𝟏

顶点覆盖问题(线性规划) 问题可描述为一个0-1整数规划问题 整数规划是NP完全的 线性规划是多项式可解的 目标:最小化 𝒗∈𝑽 𝝎 𝒗 𝒙(𝒗) 约束: ∀ 𝒖,𝒗 ∈𝑬,𝒙 𝒖 +𝒙 𝒗 ≥𝟏,且𝒙 𝒗 ={𝟎,𝟏} 整数规划是NP完全的 线性规划是多项式可解的 可放宽限制条件,设𝒙 𝒗 取值可为浮点数,问题转换为线性规划问题 使用线性规划求解,得到线性最优解𝒙 𝒗 若𝒙 𝒗 ≥ 𝟏 𝟐 ,令𝒙 𝒗 =𝟏 否则令𝒙 𝒗 =𝟎

顶点覆盖问题(线性规划) 近似算法A Approx(G, w) C=0; 计算线性规划问题的最优解x; For each vV Do If x(v)1/2 Then C=C{v}; /*用四舍五入法把线性规划的解近似为0-1规划的解 */ 5. Return C.

顶点覆盖问题(线性规划) 近似算法A分析 A的近似比为2 ∀ 𝒖,𝒗 ∈𝑬,𝒙 𝒖 +𝒙 𝒗 ≥𝟏,故𝒙 𝒖 和𝒙 𝒗 至少有一个大于等于1/2,即 𝒖 或 𝒗 至少有一个在覆盖中 令线性规划最优解代价为 𝐳 𝐳= 𝒗∈𝑽 𝝎 𝒗 𝒙(𝒗) ≥ 𝒗∈𝑽,𝒙 𝒗 ≥𝟏/𝟐 𝝎 𝒗 𝒙(𝒗) ≥ 𝒗∈𝑽,𝒙 𝒗 ≥𝟏/𝟐 𝝎 𝒗 𝟏 𝟐 ≥ 𝒗∈𝑨 𝝎 𝒗 𝟏 𝟐 ≥ 𝟏 𝟐 𝝎 𝑨 因为𝑶𝑷𝑻是线性规划可能解, 故𝝎 𝑶𝑷𝑻 ≥𝐳≥ 𝟏 𝟐 𝝎 𝑨

子集和问题 输入 输出 给定正整数集合𝑺={ 𝒙 𝟏 , 𝒙 𝟐 ,⋯ 𝒙 𝒏 }和一个正整数𝑻 最大化 𝒙∈𝑨 𝒙 最大化 𝒙∈𝑨 𝒙 其中𝑨⊆𝑺,满足 𝒙∈𝑨 𝒙 ≤𝑻 𝑺= 𝟑,𝟒,𝟓,𝟕,𝟏𝟎 , 𝑻=𝟗 𝑨= 𝟒,𝟓 , 𝒙∈𝑨 𝒙 =9最大不超过𝑻的结果

子集和问题 穷举方法 时间复杂度是指数级的 给定正整数集合𝑺={ 𝒙 𝟏 , 𝒙 𝟐 ,⋯ 𝒙 𝒏 }和一个正整数𝑻 … 𝑷 𝟎 = 𝟎 𝑷 𝟏 = 𝟎, 𝒙 𝟏 𝑷 𝟐 = 𝟎, 𝒙 𝟏 , 𝒙 𝟐 , 𝒙 𝟏 + 𝒙 𝟐 𝑷 𝟑 ={𝟎, 𝒙 𝟏 , 𝒙 𝟐 , 𝒙 𝟏 + 𝒙 𝟐 , 𝒙 𝟑 , 𝒙 𝟏 + 𝒙 𝟑 , 𝒙 𝟐 + 𝒙 𝟑 , 𝒙 𝟏 + 𝒙 𝟐 + 𝒙 𝟑 } … 𝑷 𝒊 = 𝑷 𝒊−𝟏 ∪{ 𝑷 𝒊−𝟏 + 𝒙 𝒊 } 每步删除大于𝑻的结果 在 𝑷 𝒏 中找最大的即为最终结果 时间复杂度是指数级的

子集和问题 近似算法A 长度是指数级的 对穷举方法进行修改,减少 𝑷 𝒊 的长度 穷举法中: 𝑷 𝒊 = 𝑷 𝒊−𝟏 ∪{ 𝑷 𝒊−𝟏 + 𝒙 𝒊 } 给定一误差参数𝜹,每次将 𝑷 𝒊 中相差不超过𝜹的数只用一个表示 长度是指数级的 Trim(P, δ) m=P; L=P; last=P[0]; For i=2 To m Do If last*(1+δ) < P[i] Then P[i]加入到L末尾; last=P[i]; Return L P =〈10, 11, 12, 15, 20, 21, 22, 23, 24, 29〉 δ = 0.1 L =〈10, 12, 15, 20, 23, 29〉

子集和问题 近似算法A 长度是指数级的 对穷举方法进行修改,减少 𝑷 𝒊 的长度 穷举法中: 𝑷 𝒊 = 𝑷 𝒊−𝟏 ∪{ 𝑷 𝒊−𝟏 + 𝒙 𝒊 } 给定一误差参数𝜹,每次将 𝑷 𝒊 中相差不超过𝜹的数只用一个表示 长度是指数级的 Trim(P, δ) m=P; L=P; last=P[0]; For i=2 To m Do If last*(1+δ) < P[i] Then P[i]加入到L末尾; last=P[i]; Return L Approx(S, T, ) n=S; L0={0} For i=1 To n Do Li = Li-1 ∪ {Li-1+xi} Li =Trim(Li ,  /n) 从Li中删除大于T的元素; Return Ln中最大值.

子集和问题 近似算法A分析 时间复杂度,与修剪后 𝑳 𝒊 的长度相关,而 𝑳 𝒊 的长度是 𝟏 𝜺 的多项式 令修剪后的 𝑳 𝒊 ={𝟎, 𝒛 𝟏 , 𝒛 𝟐 ,⋯ 𝒛 𝒌 , 𝒛 𝒌+𝟏 } ,则有 𝒛 𝒊+𝟏 > 𝒛 𝒊 (𝟏+ 𝜺 𝒏 ) 假设 𝑳 𝒊 中𝒌+𝟐个元素, 𝑳 𝒊 𝟎 =𝟎, 𝑳 𝒊 𝟏 = 𝒛 𝟏 , 𝑳 𝒊 𝟐 > 𝒛 𝟏 (𝟏+ 𝜺 𝒏 ), 𝑳 𝒊 𝟑 > 𝒛 𝟏 (𝟏+ 𝜺 𝒏 ) 𝟐 , 𝑳 𝒊 𝟒 > 𝒛 𝟏 (𝟏+ 𝜺 𝒏 ) 𝟑 ,…, 𝑳 𝒊 𝒌+𝟏 > 𝒛 𝟏 (𝟏+ 𝜺 𝒏 ) 𝒌 , ∵ 𝑳 𝒊 中所有元素都小于𝑻,∴ 𝒛 𝟏 (𝟏+ 𝜺 𝒏 ) 𝒌 ≤𝑻, ∵ 𝒛 𝟏 是正整数,∴ (𝟏+ 𝜺 𝒏 ) 𝒌 ≤𝑻,有 𝒌≤ log 𝟏+ 𝜺 𝒏 𝑻 = ln 𝑻 ln (𝟏+ 𝜺 𝒏 ) 𝑳 𝒊 =𝒌+𝟐≤𝟐+ ln 𝑻 ln (𝟏+ 𝜺 𝒏 ) ,∵ lim 𝒙→𝟎 ln (1+𝒙) 𝒙 =𝟏, ∴ 𝑳 𝒊 ≤𝟐+ 𝒏 ln 𝑻 𝜺

子集和问题 近似算法A分析 近似比为 𝟏+𝟐𝜺 令𝒚属于穷举法(修剪前)的 𝑷 𝒊 , 𝒛属于修剪后的 𝑳 𝒊 令𝒚属于穷举法(修剪前)的 𝑷 𝒊 , 𝒛属于修剪后的 𝑳 𝒊 对于 𝑷 𝒊 中任意𝒚,在 𝑳 𝒊 中存在𝒛,使得 𝒚 (𝟏+ 𝜺 𝒏 ) 𝒊 ≤𝒛≤𝒚 𝒊=𝟎时, 𝑷 𝒊 = 𝟎 , 𝑳 𝒊 = 𝟎 ,显然成立 假设𝒊=𝒌时有 𝒚 (𝟏+ 𝜺 𝒏 ) 𝒌 ≤𝒛≤𝒚 现证当𝒊=𝒌+𝟏时也成立。 𝑷 𝒌+𝟏 = 𝑷 𝒌 ∪{ 𝑷 𝑘 + 𝒙 𝒌+𝟏 }, 𝒚 (𝟏+ 𝜺 𝒏 ) 𝒌 + 𝒙 𝒌+𝟏 ≤𝒛+ 𝒙 𝒌+𝟏 ≤𝒚+ 𝒙 𝒌+𝟏 ∵ 𝒚+ 𝒙 𝒌+𝟏 (𝟏+ 𝜺 𝒏 ) 𝒌+𝟏 < 𝒚 (𝟏+ 𝜺 𝒏 ) 𝒌 + 𝒙 𝒌+𝟏 , ∴ 𝒚+ 𝒙 𝒌+𝟏 (𝟏+ 𝜺 𝒏 ) 𝒌+𝟏 ≤𝒛+ 𝒙 𝒌+𝟏 ≤𝒚+ 𝒙 𝒌+𝟏 , 𝑷 𝒏 中最优解 𝒚 ∗ 满足 𝒚 ∗ (𝟏+ 𝜺 𝒏 ) 𝒏 ≤𝒛≤ 𝒚 ∗ , 𝑳 𝒏 最优解 𝒛 ∗ 有 𝒚 ∗ 𝒛 ∗ ≤ 𝒚 ∗ 𝒛 ≤ 𝟏+ 𝜺 𝒏 𝒏 ≤ 𝒆 𝜺 ≤𝟏+𝟐𝜺,当𝜺<𝟏 𝒚 𝟏+ 𝜺 𝒏 𝒌 (𝟏− 1 𝟏+ 𝜺 𝒏 )+ 𝒙 𝒌+𝟏 (1− 1 𝟏+ 𝜺 𝒏 𝒌+𝟏 )>0 lim 𝒏→∞ 𝟏+ 𝟏 𝒏 𝒏 =𝒆

考虑这样一个应用问题,市场上销售的某型钢材的长度为1,现需要一些长度分别为 𝑎 1 , 𝑎 2 ,…, 𝑎 𝑁 的小钢条( 𝑎 𝑖 ≤1, 1≤𝑖≤𝑁),问至少要买多少根钢条进行切割?请给出一个多项式时间算法,使得买的钢条尽可能少,并分析该算法的近似比。 给定n个任务以及两机器,每个任务所需的处理时间为p1, p2, … , pn。一个任务可由任一台机器执行,但不能拆开分配给多台机器执行。一台机器在一时间只能处理一个任务。求两台机器的最短最长执行时间。有一算法,它将这n个任务依次分配给这两机器。算法在分配一任务时,总是将任务分配给到目前为止分配了最少工作时间的机器。请给出该算法的近似比。