COMP5270 Week 10 总结:Linear Programming and Randomised Rounding(题解 + 知识点)
课程: COMP5270 - Randomness, Probability, and Algorithms
学期: S1 2026
来源: Week 10 - Linear Programming and Randomised Rounding, Week 10 - Tutorial 10 (Solutions)
Part 1: Tutorial 10 详细题解
各题难度/要求说明:
- Problems 1, 2, 3:需看过讲义,应自行尝试,对理解算法很重要。(Problem 3 将本周内容与第 4 章的去随机化联系起来。)
- Problem 4:需用 Matlab 比较算法,实践线性规划库。
- Problem 5:大体可做,子题 c) 较难(⋆)。
- Problem 6:技术性较强、难度较高,是检验是否理解讲义证明的好题。
- Problem 7:有时间则做,进阶练习,题解未提供。
Problem 1(Warm-up):LP vs ILP
题目:回顾定义,总结 LP 和 ILP 的关键区别。
解答:
线性规划(LP,Linear Program): -
在连续域上优化线性目标函数,满足线性约束 -
数学形式:
整数线性规划(ILP,Integer Linear Program): - 在
LP 基础上额外要求部分(或全部)变量取整数值,通常
核心区别:LP 约束是连续的,有高效求解算法;ILP 添加了整数约束,表达能力更强但求解困难。LP 松弛(将 ILP 的整数约束松弛为连续约束)是联系两者的桥梁。
Problem 2:Max-Cut 的 ILP 公式与 LP 松弛
题目:将 Max-Cut 形式化为 ILP。
(a) 给出 LP 松弛,提出随机舍入策略。
(b) 证明
(c) 此时你的舍入方案变成什么?
解答:
(a) ILP 公式:
对无向图
直觉:第一条约束保证若两顶点同侧(
LP 松弛:将
随机舍入策略:以概率
(b) 证明
设
检验约束:
LP 目标值
(c) 舍入方案退化为朴素随机算法:
当 LP 返回最优解
Problem 3:去随机化 Max-SAT 的 3/4-近似算法
题目:描述如何去随机化课堂上给出的 Max-SAT 3/4-近似算法。
解答:
使用条件期望法(Method of Conditional Expectations)。由于 3/4-近似是"两者取最优"算法(best-of-two),只需分别去随机化两个子算法。
去随机化 Theorem 48(朴素随机算法):
对变量
不等号成立是因为
去随机化 Theorem 49(LP 随机舍入):
类似地:
(因为 Algorithm 22 以概率
关于另一种去随机化方式的备注:也可以考虑枚举随机种子,但这需要
Problem 4:背包问题(Knapsack)的 LP/ILP 分析
题目:背包问题:
(a) ILP 公式 (b) LP 松弛(分数背包) (c) Matlab 求解 (d) 与贪心算法比较
(e) 与 ILP 最优解比较
解答:
(a) ILP:
变量
(b) LP 松弛(分数背包):
将
(c) Matlab 代码及结果(物品设置:
v = (1:10).^2; w = (1:10); W = 20; |
时 LP 解: (第 8 件取 1/8,第 9、10 件完整取) 时 LP 解:
(d) 与贪心对比(分数背包贪心):
分数背包贪心策略:按单位重量价值
(e) ILP 最优解:
Problem 5:Max-SAT 中偏置概率的分析
题目:假设 Max-SAT
实例中没有被否定的单元子句(每个子句长度
- 证明此方案给出期望
-近似。
- 最优化
的选取。
(c)(⋆)去掉"无否定单元子句"的假设。
- 与 LP 舍入的
保证比较。
解答:
(a) 证明
考虑一个子句
子句不被满足的概率
由
对长度为 1 的非否定单元子句
故每个子句被满足的概率
(b) 最优化
令
(取正根)。此时
(c)(⋆)去掉假设的推广:
设
对
舍入方案:对
计算期望(取
(d) 比较:
Problem 6(⋆):直接用随机舍入得到 3/4-近似
题目:在 Algorithm 22 中,将
- 画出上下界的图,确认满足条件的
存在。
- 证明
。
- 推导
。
- 得出 3/4-近似结论。
解答:
(a):可在 Mathematica 中画出:
Plot[{1 - 1/4^x, 1/4^(1-x)}, {x, 0, 1}, PlotLegends -> "Expressions"] |
可见两条曲线之间有空间,满足条件的
(b) 证明
由
由 LP 约束
(c) 推导
令
由凹性(
(d) 3/4-近似结论:
最后一步由 Fact 46.1(LP 松弛值
Part 2: Week 10 讲义知识点——线性规划与随机舍入
§0 概述:近似算法的框架
本周核心主题:用线性规划(LP)和随机舍入设计近似算法。
算法设计工具演进:贪心、分治、动态规划…线性规划是又一强大工具。
近似算法的目标:对于 NP-Hard
问题(不知道如何精确求解),找到一个算法,输出解
其中
本章路线:ILP 公式 → LP 松弛 → 随机舍入 → 分析近似比。
§1 线性规划(LP)
Definition(线性规划,LP):
其中
展开形式:
LP 的三个关键性质:
- LP 是 P-complete:每个多项式时间可解的问题都可以表示为某个 LP。
- 理论上高效:每个 LP 可在时间多项式于
(及精度)内求解至任意精度。 - 实践上高效:存在实际算法(单纯形法、内点法等)可快速求解 LP,工业界广泛使用。
§2 整数线性规划(ILP)与 LP 松弛
Definition(整数线性规划,ILP):
在 LP 的基础上,要求部分(或全部)变量取整数值,通常
ILP 的优势:可以编码更多问题,包括 NP-Hard 问题(如 Max-SAT、背包、覆盖问题等)。
ILP 的劣势:一般情况下不知道高效求解方法(ILP 本身是 NP-Hard)。
策略:将 ILP 的整数约束松弛为连续约束,转化为可高效求解的 LP——即 LP 松弛(LP relaxation)。
Definition(LP 松弛):将 ILP 中
Fact 46.1(LP 松弛与 ILP 最优值的关系):
设
(对最小化问题,不等号反向:
证明:ILP 的可行域是 LP 可行域的子集(整数点
§3 Min-Cut 的 ILP 公式(示例)
问题:有向图
变量:
ILP:
LP 松弛:将
§4 随机舍入——Min-Cut 示例
核心思想:LP 给出
确定性舍入(阈值
Algorithm 21(Min-Cut 的随机舍入):
- 均匀随机选取
- 对所有
:若 则设 ,否则设 - 返回
Theorem 47(随机舍入给出最优 Min-Cut):Algorithm 21
返回的割
证明:
由期望的线性性:
(负号因为这是最小化问题,val 是割的负权重和。)
对每条边
(由 LP 约束
故:
(Fact 46.1 的最小化版本:
同时,
注:此结论强于"期望最优"——事实上以概率 1 返回最优解。但对 Min-Cut,我们早已有 Max-Flow 的高效算法,此例主要是为了说明方法。
§5 Max-SAT 问题
Definition(Max-SAT):
给定
子句的长度
无损假设:(1) 所有子句不同;(2) 同一子句中
Fact 47.1:Max-SAT 是 NP-Hard(即便判断
§6 Max-SAT:朴素随机算法
Theorem 48(1/2-近似):对每个变量
证明:
对固定子句
故
推论:对 Max-E3SAT(每子句恰好 3
个文字),被满足概率
§7 Max-SAT 的 ILP 公式与 LP 松弛
ILP 公式(图 15):
变量:
约束解读:对子句
Lemma 48.1:上述 ILP 的最优值等于
LP 松弛(图 16):将
§8 Max-SAT:LP 随机舍入
Algorithm 22(Max-SAT 的 LP 随机舍入):
- 求解 LP 松弛(图 16),得最优解
- 对每个
:以概率 独立设 - 返回
Theorem 49(
证明:
设子句
LP 约束给我们:
由 AM-GM 不等式(Fact 49.1,见下节),乘积
故:
设
又由
§9 AM-GM 不等式
Fact 49.1(算术-几何平均不等式,AM-GM):
对任意
即几何平均
等号成立当且仅当
在 Max-SAT 证明中的应用:将乘积(
§10 "两者取最优"——3/4-近似
核心观察:
- 朴素随机算法对长子句效果好(
大时 ); - LP 随机舍入对短子句效果好(
时保证满足概率 , 时保证 ,单调递减趋于 )。
两者互补,合并可获得更好保证!
Theorem 50(3/4-近似,"两者取最优"):
同时运行 Theorem 48(朴素随机)和 Theorem 49(LP
随机舍入),返回两个解中较好的那个,期望给出
证明:
设
(由式 (64) 和 (67),以
关键不等式:对任意整数
(此不等式对
故:
§11 各算法近似比对比
| 算法 | 近似比 | 特点 |
|---|---|---|
| 朴素随机(Theorem 48) | 极简,对长子句效果更好 | |
| 朴素随机(Max-E3SAT) | 每子句恰好 3 个文字时的特例 | |
| LP 随机舍入(Theorem 49) | 需求解 LP 松弛,对短子句好 | |
| 两者取最优(Theorem 50) | 结合两者,付出两倍运行时间 |
已知最优近似比:Max-SAT 的最优(多项式时间)近似比为
§12 本章知识点总览
| 概念 | 内容 |
|---|---|
| LP(线性规划) | |
| ILP(整数线性规划) | 加整数约束;表达力更强;NP-Hard |
| Fact 46.1 | |
| LP 松弛 | 将 |
| 随机舍入 | 将 |
| Algorithm 21 | Min-Cut 随机舍入;Theorem 47:期望值 |
| Fact 47.1 | Max-SAT 是 NP-Hard |
| Theorem 48 | 朴素随机 |
| Max-SAT ILP | |
| Lemma 48.1 | Max-SAT ILP 最优值 |
| Fact 49.1 | AM-GM 不等式:乘积 |
| Algorithm 22 | Max-SAT LP 随机舍入: |
| Theorem 49 | LP 舍入 |
| Theorem 50 | "两者取最优" |
Part 3: Week 10 Quiz 回顾
来源:Canvas Quiz,整理自
5270-questions-organized.md。每题含中英文题目、正确答案及知识点解析。
Question 1
[EN] Linear Programming is concerned with maximising (or minimising) a ________ function subject to ________ constraints.
[CN] 线性规划关注在_约束下最大化(或最小化)_函数。
| 选项 | 答案 |
|---|---|
| linear/linear | ✅ |
| convex/linear | ❌ |
| arbitrary/linear | ❌ |
| linear/convex | ❌ |
知识点:LP 的标准形式:
subject to , 。目标函数和约束均为线性(仿射),不允许二次或更高次项。
Question 2
[EN] We have efficient (polynomial-time in the number of variables, constraints, and representation of the problem) algorithms to solve linear programs (LPs).
[CN] 我们有高效(多项式时间)算法求解线性规划(LP)。
| 选项 | 答案 |
|---|---|
| False | ❌ |
| True | ✅ |
知识点:LP 可在多项式时间内求解(如 Ellipsoid 方法、Interior Point 方法),是 P-complete 问题。Simplex 方法实践中很快但理论上最坏情况指数时间。
Question 3
[EN] An Integer Linear Program (ILP) is like an LP, but the objective function is integer-valued.
[CN] 整数线性规划(ILP)与 LP 类似,但目标函数是整数值。
| 选项 | 答案 |
|---|---|
| False | ✅ |
| True | ❌ |
知识点:ILP 要求变量
(整数),而非目标函数为整数值。目标函数 仍是线性函数,只是变量被约束为整数,这使问题变为 NP-Hard。
Question 4
[EN] We have efficient (polynomial-time in the number of variables, constraints, and representation of the problem) algorithms to solve integer linear programs (ILPs).
[CN] 我们有高效算法求解整数线性规划(ILP)。
| 选项 | 答案 |
|---|---|
| True | ❌ |
| False | ✅ |
知识点:ILP 是 NP-Hard 的(一般情形)。整数约束使得可行域变成离散集合,目前没有已知多项式时间算法。这正是为什么研究 LP 松弛 + 随机舍入的近似方法。
Question 5
[EN] Every problem which can be solved in polynomial time can be phrased as an LP.
[CN] 所有多项式时间可解的问题都可表述为 LP。
| 选项 | 答案 |
|---|---|
| True | ✅ |
| False | ❌ |
知识点:LP 是 P-complete:所有 P 中的问题都可多项式时间归约到 LP(反过来,LP 也可在多项式时间内解决)。这说明 LP 是 P 中最"困难"的问题之一。
Question 6
[EN] Only NP-Hard problems can be formulated as ILPs.
[CN] 只有 NP-Hard 问题才能表述为 ILP。
| 选项 | 答案 |
|---|---|
| False | ✅ |
| True | ❌ |
知识点:任何决策问题(包括 P 中的问题)都可表述为 ILP,只要变量和约束足够表达。ILP 作为形式语言非常强大,不局限于 NP-Hard 问题。
Question 7
[EN] The optimal solution to the LP relaxation of an ILP typically are not solutions to the original ILP.
[CN] ILP 的 LP 松弛的最优解通常不是原 ILP 的解。
| 选项 | 答案 |
|---|---|
| False | ❌ |
| True | ✅ |
知识点:LP 松弛将
放宽为 ,最优解通常是分数值(如 ),不满足整数约束。随机舍入的目的就是将分数解转化为合法整数解。
Question 8
[EN] Randomised rounding is the general idea to take the optimal solution of an ___ and round its value to integers to get a valid solution to the original ___ while being able to relate its value to that of the ___.
[CN] 随机舍入(Randomised Rounding)的一般思想是:取_的最优解,将其值舍入为整数,得到原_的有效解,同时能将其值与____的值关联。
| 选项 | 答案 |
|---|---|
| LP/ILP/LP | ✅ |
| ILP/LP/LP | ❌ |
| LP/ILP/ILP | ❌ |
知识点:流程:① 求解 LP 松弛得分数最优解
;② 随机舍入 得整数解 ;③ 分析 的期望目标值与 的关系(从而也关联 ),推出近似比。
Question 9
[EN] The LP relaxation + randomised rounding algorithm for Max-SAT seen in class gives a ____-factor approximation (in expectation).
[CN] 课上讲的 LP 松弛 + 随机舍入算法对 Max-SAT 给出____近似比(期望)。
| 选项 | 答案 |
|---|---|
| ✅ | |
| ❌ | |
| ❌ | |
| ❌ |
知识点:Theorem 49:对
个文字的子句,满足概率 。故 LP 舍入给出 近似。结合朴素随机的 近似,两者取最优(Theorem 50)可达 近似。
Question 10
[EN] The LP relaxation + randomised rounding algorithm for Min-CUT seen in class gives a ____-factor approximation (in expectation).
[CN] 课上讲的 LP 松弛 + 随机舍入算法对 Min-Cut 给出____近似比(期望)。
| 选项 | 答案 |
|---|---|
| ❌ | |
| ❌ | |
| ✅ | |
| ❌ |
知识点:Theorem 47:Min-Cut 的 LP 松弛 + 随机舍入以概率 1 给出最优解(精确算法),近似比为 1。原因是 Min-Cut LP 松弛极其特殊——最优分数解可直接被随机舍入到最优整数解,期望值
。
Week 10 Quiz 速查表
| 题号 | 核心概念 | 正确答案 |
|---|---|---|
| 1 | LP 定义 | linear/linear |
| 2 | LP 多项式可解 | True |
| 3 | ILP 定义 | False(变量整数,非目标函数) |
| 4 | ILP 可解 | False(NP-Hard) |
| 5 | P |
True |
| 6 | 非 NP-Hard 也可 ILP | False |
| 7 | LP 松弛解 |
True |
| 8 | Rounding 三阶段 | LP/ILP/LP |
| 9 | Max-SAT 近似比 | |
| 10 | Min-Cut 近似比 |
高频混淆点: - ILP
要求变量整数,不是目标函数(Q3)——容易误理解定义 - ILP
NP-Hard,LP 多项式时间(Q2 vs Q4)——两者差距是核心 -
Max-SAT LP 舍入