当前课程知识点:算法设计与分析 >  8 NP and Computational Intractability >  8.3 Basic Reduction Strategies II >  Basic Reduction Strategies II

返回《算法设计与分析》慕课在线视频课程列表

Basic Reduction Strategies II在线视频

Basic Reduction Strategies II

下一节:Definition of NP

返回《算法设计与分析》慕课在线视频列表

Basic Reduction Strategies II课程教案、知识点、字幕

最后给一个通过“小装置”来完成的规约

适定性问题是逻辑中的一个基本问题

布尔变量取值为真与假

文字包括布尔变量和它的否

文字通过逻辑运算符“OR”组成分句

如C_j=x_1 OR x_2 not OR x_3

分句与分句之间通过“AND”构成合取范式

如Φ=C_1 AND C_2 AND C_3 AND C_4

适定性问题为

给定合取范式 简称为CNF

是否存在一组逻辑变量的赋值

使其为真

3-适定性问题是一个特殊的适定性问题

其中每个分句正好有3个文字

比如下例中

就是一个3-适定性问题的实例

容易验证

取x_1 x_2为真 x_3为假

所有的分句都为真

从而整个范式为真

下面 我们把3-SAT多项式时间规约为独立集问题

给定3-适定性问题的任意一个实例Φ

构建独立集问题的一个实例(G,k)

我们证明 有规模为k的独立集

当且仅当Φ是适定的

构建的过程如下

对于Φ的每个分句对应3个顶点

每个顶点对应一个文字

把同一个分句中的3个文字对应的顶点

连成三角形

把对应相反文字的顶点相连

我们给出一个例子

把包含3个分句

3个变量的3CNF

构建出顶点覆盖问题的实例

包含了3组顶点

顶点的连接方式如刚才所描述

再取k=3

为3CNF包含分句的数目

我们证明

有规模为k的独立集

当且仅当Φ是适定的

其中k为3CNF中包含分句的数目

先证必要性

令S是规模为k的独立集

S一定正好包含每个三角形中一个顶点

令这些顶点对应的变量为真

因为这些顶点构成独立集

所有赋值的过程不会有冲突

得到对应的3CNF的一组真值分配

再证充分性

给定一个真值分配

每个三角形中至少有一个顶点

对应的文字为真

那么取其中的一个顶点

令其对应的文字为真

因为顶点的选取来自同一组赋值

因此不同三角形中取出的点不会有边相连

我们得到一个规模为k的独立集

总结一下

我们学习了几种常用的规约方法

简单的问题等价性的规约

如INDEPENDENT-SET≡PVERTEX-COVER

从特殊情形到一般情形的规约

如顶点覆盖多项式规约为

集合覆盖

以及通过一个小装置来完成规约

如3-SAT多项式规约为独立集问题

对于问题间的规约

我们往往要用到规约的传递性

即如果X多项式规约为Y

Y多项式规约为Z

那么X多项式时间规约为Z

这只要把两个多项式时间规约算法

合成一个多项式时间规约算法就可以了

比如3-SAT≤_P INDEPENDENT-SET≤_P VERTEX-COVER≤_P SET-COVER

我们有3-SAT多项式规约为集合覆盖问题

我们再来讨论一下自规约

我们讨论的问题有两类

一类称为判定问题

如是否存在一个不超过k个点的顶点覆盖

还有一类称为搜索问题

如求一个顶点覆盖

使其包含的点最少

自规约是指

把搜索问题规约为相应的判定问题

自规约适用于我们在这一章中

所遇到的所有NP完全问题

因此 我们可以主要关注于判定问题的讨论

我们以顶点覆盖问题为例讨论自规约技术

给定一个数k

可以用顶点覆盖判定问题

来判断是否存在规模不超过k的顶点覆盖

然后用两分搜索可以确定最小的k*

使得存在k^*个点的顶点覆盖

指定一个点v

构建图G-{v}

也就是在图G中去掉v以及和它关联的边

再调用上面的算法

来判断最小顶点覆盖包含的点数

如果其不超过k^*-1

说明原图中

任意的最小顶点覆盖一定包含v

否则可以删除v

而不影响最小顶点覆盖的搜索

对于包含在最小顶点覆盖中的点v

对其进行标记

然后构建图G-{v}

继续搜索其它包含在

最小顶点覆盖中的点

算法设计与分析课程列表:

1 Introduction of Algorithm

-1.1 Introduction

--Introduction

-1.2 A First Problem: Stable Matching

--A First Problem: Stable Matching

-1.3 Gale-Shapley Algorithm

--Gale-Shapley Algorithm

-1.4 Understanding Gale-Shapley Algorithm

--Understanding Gale-Shapley Algorithm

-Homework1

-Lecture note 1

--Lecture note 1 Introduction of Algorithm

2 Basics of Algorithm Analysis

-2.1 Computational Tractability

--Computational Tractability

-2.2 Asymptotic Order of Growth

--Asymptotic Order of Growth

-2.3 A Survey of Common Running Times

--A Survey of Common Running Times

-Homework2

-Lecture note 2

--Lecture note 2 Basics of Algorithm Analysis

3 Graph

-3.1 Basic Definitions and Applications

--Basic Definitions and Applications

-3.2 Graph Traversal

--Graph Traversal

-3.3 Testing Bipartiteness

--Testing Bipartiteness

-3.4 Connectivity in Directed Graphs

--Connectivity in Directed Graphs

-3.5 DAG and Topological Ordering

--DAG and Topological Ordering

-Homework3

-Lecture note 3

--Lecture note 3 Graph

4 Greedy Algorithms

-4.1 Coin Changing

--Coin Changing

-4.2 Interval Scheduling

--Interval Scheduling

-4.3 Interval Partitioning

--Interval Partitioning

-4.4 Scheduling to Minimize Lateness

--Scheduling to Minimize Lateness

-4.5 Optimal Caching

--Optimal Caching

-4.6 Shortest Paths in a Graph

--Shortest Paths in a Graph

-4.7 Minimum Spanning Tree

--Minimum Spanning Tree

-4.8 Correctness of Algorithms

--Correctness of Algorithms

-4.9 Clustering

--Clustering

-Homework4

-Lecture note 4

--Lecture note 4 Greedy Algorithms

5 Divide and Conquer

-5.1 Mergesort

--Mergesort

-5.2 Counting Inversions

--Counting Inversions

-5.3 Closest Pair of Points

--Closest Pair of Points

-5.4 Integer Multiplication

--Integer Multiplication

-5.5 Matrix Multiplication

--Video

-5.6 Convolution and FFT

--Convolution and FFT

-5.7 FFT

--FFT

-5.8 Inverse DFT

--Inverse DFT

-Homework5

-Lecture note 5

--Lecture note 5 Divide and Conquer

6 Dynamic Programming

-6.1 Weighted Interval Scheduling

--Weighted Interval Scheduling

-6.2 Segmented Least Squares

--Segmented Least Squares

-6.3 Knapsack Problem

--Knapsack Problem

-6.4 RNA Secondary Structure

--RNA Secondary Structure

-6.5 Sequence Alignment

--Sequence Alignment

-6.6 Shortest Paths

--Shortest Paths

-Homework6

-Lecture note 6

--Lecture note 6 Dynamic Programming

7 Network Flow

-7.1 Flows and Cuts

--Flows and Cuts

-7.2 Minimum Cut and Maximum Flow

--Minimum Cut and Maximum Flow

-7.3 Ford-Fulkerson Algorithm

--Ford-Fulkerson Algorithm

-7.4 Choosing Good Augmenting Paths

--Choosing Good Augmenting Paths

-7.5 Bipartite Matching

--Bipartite Matching

-Homework7

-Lecture note 7

--Lecture note 7 Network Flow

8 NP and Computational Intractability

-8.1 Polynomial-Time Reductions

--Polynomial-Time Reductions

-8.2 Basic Reduction Strategies I

--Basic Reduction Strategies I

-8.3 Basic Reduction Strategies II

--Basic Reduction Strategies II

-8.4 Definition of NP

--Definition of NP

-8.5 Problems in NP

--Problems in NP

-8.6 NP-Completeness

--NP-Completeness

-8.7 Sequencing Problems

--Sequencing Problems

-8.8 Numerical Problems

--Numerical Problems

-8.9 co-NP and the Asymmetry of NP

--co-NP and the Asymmetry of NP

-Homework8

-Lecture note 8

--Lecture note 8 NP and Computational Intractability

9 Approximation Algorithms

-9.1 Load Balancing

--Load Balancing

-9.2 Center Selection

--Center Selection

-9.3 The Pricing Method: Vertex Cover

--The Pricing Method: Vertex Cover

-9.4 LP Rounding: Vertex Cover

--LP Rounding: Vertex Cover

-9.5 Knapsack Problem

--Knapsack Problem

-Homework9

-Lecture note 9

--Lecture note 9 Approximation Algorithms

10 Local Search

-10.1 Landscape of an Optimization Problem

--Landscape of an Optimization Problem

-10.2 Maximum Cut

--Maximum Cut

-10.3 Nash Equilibria

--Nash Equilibria

-10.4 Price of Stability

--Price of Stability

-Homework10

-Lecture note 10

--Lecture note 10 Local Search

11 Randomized Algorithms

-11.1 Contention Resolution

--Contention Resolution

-11.2 Linearity of Expectation

--Linearity of Expectation

-11.3 MAX 3-SAT

--MAX 3-SAT

-11.4 Chernoff Bounds

--Chernoff Bounds

-Homework11

-Lecture note 11

--Lecture note 11 Randomized Algorithms

Exam

-Exam

Basic Reduction Strategies II笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。