数学建模社区-数学中国
标题:
匹配问题: 匈牙利算法 、最优指派、相等子图、库恩—曼克莱斯 (Kuhn-Munkres) 算法
[打印本页]
作者:
浅夏110
时间:
2020-5-20 09:51
标题:
匹配问题: 匈牙利算法 、最优指派、相等子图、库恩—曼克莱斯 (Kuhn-Munkres) 算法
定义
% _2 p. N+ \% \& D& v4 n
若 M ⊂ E(G) ,∀ ∈ M , 与 无公共端点(i ≠ j ),则称 M 为图 G 中的一个对集;M 中的一条边的两个端点叫做在对集 M 中相配;M 中的端点称为 被 M 许配;G 中每个顶点皆被 M 许配时,M 称为完美对集;G 中已无使| M '|>| M | 的对集 M ' ,则 M 称为最大对集;若G 中有一轨,其边交替地在对集 M 内外出现,则 称此轨为 M 的交错轨,交错轨的起止顶点都未被许配时,此交错轨称为可增广轨。
! r3 A7 L& R0 o9 j( ^# y: f/ `
1 t0 p6 \3 z4 t' i& d8 F
若把可增广轨上在 M 外的边纳入对集,把 M 内的边从对集中删除,则被许配的 顶点数增加 2,对集中的“对儿”增加一个。 1957 年,贝尔热(Berge)得到最大对集的充要条件:
0 w. b/ Q- O8 E
8 ?; Y' f: L! K ] R4 e
【定理 2 】M 是图G 中的最大对集当且仅当G 中无 M 可增广轨。
+ A$ y+ ?) U4 b. s2 T
* p8 x# P: Z# C) |6 t
1935 年,霍尔(Hall)得到下面的许配定理:
7 c0 B' @- G2 F+ W. C. q
F6 A8 g* Q. F/ v" j
【定理 3】 G 为二分图, X 与Y 是顶点集的划分,G 中存在把 X 中顶点皆许配的对集的充要条件是:
# l, O2 s" [# i
1 ]/ F6 B; ~1 ~& [) D. j
∀S ⊂ X ,则| N(S) | ≥| S |,其中 N(S) 是 S 中顶点的邻集。
' g- d; J% ]& `$ r& V3 d; @1 a
1 c4 s0 z' X7 v. ]! p
由上述定理可以得出:
! B+ v L% J/ a" O1 b
, h& V# C8 Q9 e0 C4 J
【推论 1】若G 是k 次(k > 0) 正则 2 分图,则G 有完美对集。 所谓k 次正则图,即每顶点皆k 度的图。
; H2 G0 n( V5 J$ G
$ Z$ m; [$ }! G7 o- W1 y5 Y9 S) |
由此推论得出下面的婚配定理:
6 \7 X" {* K S* ~) R& e
+ y$ W0 y1 B* c+ F1 ?2 k
【定理 4 】每个姑娘都结识k (k ≥ 1) 位小伙子,每个小伙子都结识k 位姑娘,则每位 姑娘都能和她认识的一个小伙子结婚,并且每位小伙子也能和他认识的一个姑娘结婚。
' A' M- D/ p4 D I
- q+ ]: }( n' V! n- L# f t: M
人员分派问题等实际问题可以化成对集来解决。
+ N8 i9 W5 I6 p1 K( Y
+ T3 g6 e. W+ \
3 A- m1 x3 d( d- _9 e. _4 C7 `- U5 T7 y
6 V' q: _- t: V) b
解决这个问题可以利用 1965 年埃德门兹(Edmonds)提出的匈牙利算法。
" ^' v% r, Q# x! n
1 i6 c8 g, M8 Q y) E' B) A
匈牙利算法
. ~. u8 ~8 E& U' M( f7 T% j3 k" ]
( P" c" I3 u5 C! f( F! q/ F
9 a6 ?0 c+ j |
把以上算法稍加修改就能够用来求二分图的最大完美对集。
2 w, J' ^4 m o- C8 e
3 p# V: r) k& n; ]- E) O
最优分派问题
- Z) a. c' K+ N' c+ q% t
在人员分派问题中,工作人员适合做的各项工作当中,效益未必一 致,我们需要制定一个分派方案,使公司总效益最大。 这个问题的数学模型是:在人员分派问题的模型中,图 G 的每边加了权 ≥ 0 ,表示 做 工作的效益,求加权图G 上的权最大的完美对集。 解决这个问题可以用库恩—曼克莱斯(Kuhn-Munkres)算法。为此,我们要引入 可行顶点标号与相等子图的概念。
" I/ h5 W5 y+ I( i. x
* N3 v# |- {! _. c
可行顶点标号、相等子图
, y2 S* V f& l( V8 P3 F8 w6 {
/ S/ c, Q0 y1 R# |
3 P$ L% D L. B
【定理 5】 的完美对集即为G 的权最大的完美对集。
k& a9 z7 }, ~% [3 h1 v+ t
" n3 p: R; h3 c- ?. E/ }; l
库恩—曼克莱斯 (Kuhn-Munkres) 算法
; m+ ]8 p' ]+ I2 t1 h5 h) A
2 d9 J3 }! o- L' u: K
$ H$ Z, }, ?. U$ J6 y
————————————————
2 }8 C, s$ {+ h4 ?" X6 s+ q5 W
版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
4 a/ ?, F& Q0 C1 F" R5 E
原文链接:https://blog.csdn.net/qq_29831163/article/details/89785987
- `% T" x0 |4 _$ y4 z, J% j
% P" I, [6 f6 s3 N% e& X. I! E+ b
$ B& Y4 K) F1 Q; U
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5