数学建模社区-数学中国

标题: 匹配问题: 匈牙利算法 、最优指派、相等子图、库恩—曼克莱斯 (Kuhn-Munkres) 算法 [打印本页]

作者: 浅夏110    时间: 2020-5-20 09:51
标题: 匹配问题: 匈牙利算法 、最优指派、相等子图、库恩—曼克莱斯 (Kuhn-Munkres) 算法
定义
8 A2 B6 _4 S% E5 a4 k若 M ⊂ E(G) ,∀  ∈ M ,   与  无公共端点(i ≠ j ),则称 M 为图 G 中的一个对集;M 中的一条边的两个端点叫做在对集 M 中相配;M 中的端点称为 被 M 许配;G 中每个顶点皆被 M 许配时,M 称为完美对集;G 中已无使| M '|>| M | 的对集 M ' ,则 M 称为最大对集;若G 中有一轨,其边交替地在对集 M 内外出现,则 称此轨为 M 的交错轨,交错轨的起止顶点都未被许配时,此交错轨称为可增广轨。7 t8 [- I/ L9 {1 P3 Q
2 Z; K7 r3 h2 h! d* z0 e
若把可增广轨上在 M 外的边纳入对集,把 M 内的边从对集中删除,则被许配的 顶点数增加 2,对集中的“对儿”增加一个。 1957 年,贝尔热(Berge)得到最大对集的充要条件:9 h$ S( T, d+ a; k' {6 v( v

+ \7 U0 K' y6 a% W3 S4 a- Q; F【定理 2 】M 是图G 中的最大对集当且仅当G 中无 M 可增广轨。
- p. n, @8 U5 `! l; I& {/ N, c" @1 ], J' e& R3 j) A" S7 i& w- |
1935 年,霍尔(Hall)得到下面的许配定理:/ `# z; G! t: `
' `5 ^8 m0 Z5 L  W
【定理 3】 G 为二分图, X 与Y 是顶点集的划分,G 中存在把 X 中顶点皆许配的对集的充要条件是:. A3 R. [, i; L1 [; Z0 m8 t
$ P5 K5 p$ k8 h* ?$ R
∀S ⊂ X ,则| N(S) | ≥| S |,其中 N(S) 是 S 中顶点的邻集。
; T+ a6 l8 D6 w. Z$ P0 G/ t. o1 \' u4 N7 g- y/ o
由上述定理可以得出:7 {* y9 h" N: x0 b4 W7 X; e
8 D" `; U% N8 H2 G
【推论 1】若G 是k 次(k > 0) 正则 2 分图,则G 有完美对集。 所谓k 次正则图,即每顶点皆k 度的图。
! l5 [/ U9 b6 e: L
# ]! x& b) V# f% U+ P由此推论得出下面的婚配定理:& s6 V7 d& E- x

9 w7 \0 l+ W' f/ P/ {9 F【定理 4 】每个姑娘都结识k (k ≥ 1) 位小伙子,每个小伙子都结识k 位姑娘,则每位 姑娘都能和她认识的一个小伙子结婚,并且每位小伙子也能和他认识的一个姑娘结婚。
; ^1 m8 H) s2 [1 }; V" x. X/ B+ _( h. |
人员分派问题等实际问题可以化成对集来解决。
8 N9 r" ^& D5 Z' d  t1 [. F0 L$ c: W' z

1 i" W0 g" L0 P/ H* t; W1 m  i' b
4 D8 V- U) ?. r  C解决这个问题可以利用 1965 年埃德门兹(Edmonds)提出的匈牙利算法。, p. Q2 {6 E+ H. T( G  x0 ?. G& l

5 B- u8 {+ j( J6 D匈牙利算法; l3 [6 Z; t" n

  B( |4 Y1 _( ?. B+ d1 |: `3 \! B1 {$ ~! U! b9 B' K( G6 w1 N
把以上算法稍加修改就能够用来求二分图的最大完美对集。
- R) h0 R' `3 r4 p
8 [. N3 z7 x- v  W; I% c8 N' J最优分派问题( W: i4 P6 J! `+ e5 e9 t( x
在人员分派问题中,工作人员适合做的各项工作当中,效益未必一 致,我们需要制定一个分派方案,使公司总效益最大。 这个问题的数学模型是:在人员分派问题的模型中,图 G 的每边加了权   ≥ 0 ,表示  做  工作的效益,求加权图G 上的权最大的完美对集。 解决这个问题可以用库恩—曼克莱斯(Kuhn-Munkres)算法。为此,我们要引入 可行顶点标号与相等子图的概念。
# m! n% @) m- A8 E7 J
. A4 n; v/ p5 V, T! Z  @3 O可行顶点标号、相等子图
- F3 N$ {7 V7 B% P. j+ e
9 s( Q# }7 l) W9 e9 R
2 X2 c/ j7 P7 a; L; P【定理 5】   的完美对集即为G 的权最大的完美对集。
' M6 k4 G& W8 u# H( e5 L/ e$ Z+ ]) _( n
库恩—曼克莱斯 (Kuhn-Munkres) 算法
7 o) c+ L0 z0 ]
3 q: w' I, R0 t0 d& z" S- {' F
4 T/ f0 U3 u8 m: O————————————————% r. ]. V. g# g
版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
6 z$ A7 J* I% r# v- p2 M原文链接:https://blog.csdn.net/qq_29831163/article/details/897859877 z" k  Y/ V/ a. Z6 v1 u, Y

/ O( ]5 p+ Q( i+ D
+ h$ g2 w) u6 U




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5