当前课程知识点:算法设计与分析 >  1 Introduction of Algorithm >  1.4 Understanding Gale-Shapley Algorithm >  Understanding Gale-Shapley Algorithm

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

Understanding Gale-Shapley Algorithm在线视频

Understanding Gale-Shapley Algorithm

下一节:Lecture note 1 Introduction of Algorithm

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

Understanding Gale-Shapley Algorithm课程教案、知识点、字幕

对于稳定匹配问题

GS算法给出了完整的解答

但我们可能还会有这样的问题

给定一个实例

可能会有多个稳定匹配的结果

Gale-Shapley算法

总是会给出一样的结果吗

如果是

将会给出哪一个结果呢

对于图示中给出的实例

有两个稳定匹配

A-X,B-Y,C-Z

A-Y,B-X,C-Z

会出现哪个匹配呢

还是两个都有可能

我们先给出有效配偶的定义

若存在稳定匹配

使得女人w和男人m成为配偶

则称w是m的有效配偶

男性最优分配是指

每一个男人

都找到了自己最喜欢的有效伴侣

我们将证明

GS算法运行的结果总是男性最优的分配

因为男性最优分配是唯一的

因此GS算法运行的结果是唯一的

男性最优分配也是一个稳定匹配

下面来证明GS匹配S^*是男性最优的

用反证法

假设某个男人没有能够

与最喜欢的有效伴侣在一起

则由男人从高到低的追求可得

有男人被有效伴侣拒绝

不妨称第一位被有效伴侣拒绝的男人为Y

并令拒绝他的女人为A

记A-Y配对的稳定匹配为S

当Y被拒绝时

A一定与一位她更喜欢的男人配对

记为Z

记S中Z的配偶为B

因为Y是第一个被有效伴侣拒绝的男人

故此时 Z必定没有被有效伴侣拒绝过

因此Z相比于B一定更喜欢A

但A相比于Y更喜欢Z

故A-Z为S中的一个不稳定对

导出矛盾

总结一下我们所学习的稳定匹配问题

稳定匹配问题

是对于给定的n男n女的偏好列表

给出一个稳定匹配

Gale-Shapley算法

可以在O(n^2)的时间内找到一个稳定匹配

在男性追求的GS算法中

每位男士都能找到自己最喜欢的有效伴侣

一个自然的问题

从男性的角度来说

GS返回最优的结果

那么从女性的角度来看呢

我们定义女性最差分配

每位女性都接受了最差的有效伴侣

我们将证明

GS算法找到了女性最差的稳定匹配S^*

证明 假设A-Z为S^*中的匹配

但Z不是A最差的有效伴侣

则存在着稳定匹配S

使得A匹配到了更差的有效伴侣Y

记S中B的伴侣为Z

由S^*为男性最优的性质可知

Z喜欢A超过B

故A-Z为S中的不稳定对

产生矛盾

再来思考一个问题

可能存在什么动机

使得大家掩盖自己真实的偏好吗

这里假设

你知道男士将会遵从追求-拒绝算法

假设所有人的偏好列表都是已知的

从男人的角度来说

他已经得到了最好的稳定匹配

因此没有动机去说谎

而女人则不然

在下面的例子中

Amy撒谎说“相比于X我更喜欢Z”

简单验证一下

我们发现

会使GS算法得到一个{A-Y,B-X,C-Z}的结果

Amy通过说谎得到了更好的配偶

2012的年诺贝尔经济学奖

颁予了Shapley和Roth

Shapley是因为建立了稳定匹配理论

和提出了Gale-Shapley算法

Roth将Gale-Shapley算法

应用到医院与医科生的招聘

和器官捐献者与病人的匹配中

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

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

Understanding Gale-Shapley Algorithm笔记与讨论

也许你还感兴趣的课程:

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