我相信您所定义的“最大重量公平二分匹配”是NP-hard。更重要的是,确定公平的二分匹配是否存在是难事。
为了给出直觉,在给出证明草图之前,请考虑以下小实例。取其中,。取,使得为和,而为和。那么对于所有,在某种意义上和是等价的,因此,因此任何公平匹配都必须给和带来相同的利润。因此,唯一的公平匹配要么匹配G′=(L,R,E′=L×R)L={a,b}R={c,d,e,f}pp(u,w)=0u∈Lw∈{c,d}p(u,w)=1u∈Lw∈{e,f}abp(a,w)=p(b,w)w∈Raba和到和,或者将和匹配到和。使用这种小工具,我们可以在匹配中强制边缘协调。这是减少的基础。bcdabef
这是一个证明的尝试。这有点涉及。可能存在一些错误,但希望可以纠正任何错误。
引理1。如问题所述, 给定和,确定是否包含公平匹配是NP -硬。G′=(L,R,E′=L×R)p:E′→R+G′
证明草图。证明是通过减少三次图中的独立集得出的。令为独立集的给定实例,其中是三次图(每个顶点的阶数为3)。我们描述了如何构造图和利润函数从而使得具有公平的二分匹配,如果和仅当具有大小为的独立集合时。(G=(V,E),k)G′G′=(L,R,E′=L×R)p:E′→R+G′Gk
的顶点将成对出现,称为伙伴。对于的顶点也是如此。对于每一个顶点,我们让表示的合作伙伴。每个顶点和的伙伴都是等价的,这意味着,我们将令
因此,任何公平匹配都必须将相同的利润分配给和。接下来,我们使用
表示。LRv∈L∪Rv′vℓ∈Lℓ′∈L
p(ℓ,r)=p(ℓ′,r) for all r∈R.
ℓℓ′π(ℓ,r)p(ℓ,r)=p(ℓ′,r)
此外,对于每对在,并且每对伙伴的在,无论我们作出
或者我们使
在前一种情况下,我们说我们允许和与和匹配
(因为这样做会根据需要将相同的利润分配给和)。在后一种情况下,我们说我们防止和与和都匹配ℓLr,r′R
π(ℓ,r)=π(ℓ,r′)
π(ℓ,r)≠π(ℓ,r′).
ℓℓ′rr′ℓℓ′ ℓℓ′rr′
(因为这样做不会为和分配相同的利润)。
ℓℓ′
由于给定的曲线图为三次方,因此满足和任何独立集大小的在入射到恰好边缘。为了便于表示,假设。G=(V,E)3|V|=2|E|IkG3kV={1,2,…,n}
对于每个边,执行以下操作。{i,j}∈E
添加一对伙伴顶点以。 r({i,j}),r′({i,j})R
对于端点,向添加一对伙伴顶点。设置允许和
与和匹配。 iℓ(i,j),ℓ′(i,j)L
π(ℓ(i,j),r({i,j}))=π(ℓ(i,j),r′({i,j}))=i,
ℓ(i,j)ℓ′(i,j)r({i,j})r′({i,j})
对称地,对于另一个端点:将另一对伙伴顶点到,并设置
允许和与
和匹配。jℓ(j,i),ℓ′(j,i)L
π(ℓ(j,i),r({i,j})=π(ℓ(j,i),r′({i,j}))=j,
ℓ(j,i)ℓ′(j,i)r({i,j})r′({i,j})
对于到目前为止添加的每个和,如果未明确允许(以上)对与匹配,则通过分配和每个都有唯一的数字。ℓ∈Lr∈Rℓ,ℓ′r,r′π(ℓ,r)π(ℓ,r′)
接下来,将对填充顶点添加到。对于每个填充顶点和每个,设置。3(|V|−k)Rrℓ(i,j)∈Lπ(ℓ(i,j),r)=0
最后,添加两个顶点和(伙伴)到,具有两个顶点沿和(也合作伙伴)。设置,从而允许和与和匹配。对于每个其他顶点,将为某个唯一数字。(因此,任何公平匹配都必须将和匹配到和。)对于每个L0L′0LR0R′0Rπ(L0,R0)=π(L0,R′0)=1L0L′0R0R′0r∈Rπ(L0,r)L0L′0R0R′0i∈V,对于每个入射边,设置和。{i,j}∈Eπ(ℓ(i,j),R0)=iπ(ℓ(i,j),R′0)=|V|−i+1
这样就完成了还原。最后,我们证明它是正确的。
首先考虑哪个对顶点
后者占优势,即
ℓ(i,j),ℓ(i′,j′)∈L
(∀r∈R) π(ℓ(i,j),r)≤π(ℓ(i′,j′),r).
考虑到分配给入射到和边的利润,仅当才能满足此条件,并且在检查的其余边的定义时,条件就足够了。因此,当且仅当将和分配给和,并且对于每个,
R0R′0i=i′πi=i′L0L′0R0R′0i∈V
N(i)={ℓ(i,j):{i,j}∈E}∪{ℓ′(i,j):{i,j}∈E}.
首先,假设具有独立组大小的。如下从获得的公平匹配。 GIkG′I
将和匹配到和。L0L′0R0R′0
对于每个顶点,令是其三个入射边。对于每个边,将顶点及其伙伴
到和。这给出了利润所有顶点。i∈I{i,j1},{i,j2},{i,j3}{i,jh}ℓ(i,jh)ℓ′(i,jh)r({i,jh})r′({i,jh})N(i)i
对于中的每个顶点,对于入射到的三个边每一个,匹配及其伙伴
到一对唯一的填充顶点及其伙伴。这使所有顶点的利润为。|V|−ki∈V∖I{i,j}iℓ(i,j)ℓ′(i,j)rr′N(i)0
因此,这种匹配是公平的。
接下来,假定具有公平匹配。G′M
M必须将和与和。对于每个,匹配必须赋予
的每个顶点相同的利润。对于每个,其伙伴也在。因此,通过检查减少量,每个这样的顶点的利润必须为
(在这种情况下,中的所有六个顶点都与顶点及其伙伴匹配)或为零(在这种情况下,中的所有六个顶点都与填充顶点匹配)。让L0L′0R0R′0i∈VN(i)ℓ(i,j)∈N(i)ℓ′(i,j)N(i)iN(i)r({i,j})N(i)RI是前一种情况适用的一组顶点。对于每个边,顶点及其伙伴均与一个顶点匹配。因此,是一个独立的集合。由于填充顶点的数量为,所以的大小必须至少为。{i,j}r({i,j})I6(|V|−k)Ik
QED(?)
我认为,如果有点令人费解,那基本上是正确的。让我知道您是否发现任何错误,或简化证明的方法。
上面的减少假定可以取。如果那不是期望的,那么我猜我们可以
用来填充填充顶点,为除和的边以外的所有边分配利润0 。我们可以将利润分配给后面的边,以确保填充顶点不被任何其他顶点所支配(也不主导)。|R|>|L|L|R|−|L|R0R′0