songqikong / songqikong.github.io

MIT License
0 stars 0 forks source link

最大加权匹配问题 && Blossom算法 #11

Open songqikong opened 9 months ago

songqikong commented 9 months ago

https://songqikong.github.io/2023-10-07-blossom-algorithm/

在图论中,最大加权匹配问题是一个经典的组合优化问题,通常用于求解二分图中的最佳匹配。下面我会解释一下这个问题的基本概念: 二分图(Bipartite Graph):一个图可以被分为两个不相交的集合,通常称为左集合和右集合,其中每个顶点都属于其中一个集合。如果图的每一条边都连接一个左集合中的顶点和一个右集合中的顶点,那么这个图就是一个二分图。 匹配(Matching):在一个二分图中,匹配是指一组不相交的边,它们的端点分别属于左集合和右集合,没有两条边共享同一个顶点。如果一个顶点属于某个匹配,那么它就被匹配了,否则它是未匹配的。 加权图(Weighted Graph):每条边都有一个关联的权重或成本。在最大加权匹配问题中,我们要找到一组边的匹配,使得这些边的权重之和最大。 最大加权匹配问题的目标是在给定的二分图中找到一种匹配方式,使得匹配的边的权重之和达到最大。这个问题可以用于各种实际应用,例如稳定婚姻问题、任务分配问题等。 让我们通过一个具体的例子来说明最大加权匹配问题。考虑以下二分图,其中有一些任务和工人,每个任务和工人之间都有一个特定的成本或权重,我们的目标是找到一种匹配方式,使得总成本最小化: 任务(左集合): A, B, C 工人(右集合): X, Y, Z 下面是每个任务和工人之间的成本: A - X: 2 A - Y: 3 A - Z: 4 B - X: 3 B - Y: 2 B - Z: 1 C - X: 5 C - Y: 1 C...