最大重量“公平”匹配


9

我对图表中最大权重匹配的一种变体感兴趣,我称之为“最大公平匹配”。

假定图满(即),具有顶点的偶数,且重量由利润函数给出号码:{V \选择2} \到\ mathbbÑ。给定匹配M,用M(v)表示边v的利润与之匹配。E=V×Vp:(V2)NMM(v)v

的匹配M是一个公平的匹配当且仅当,对于任何两个顶点u,vV

(wV:  p({w,v})p({w,u}))M(v)M(u)

也就是说,如果对于V中的任何顶点wV,将w匹配w到顶点v都比将其匹配到顶点u获得更高的利润u,则公平匹配必须满足M(v)M(u)

我们能否有效地找到最大重量公平匹配?


一个有趣的情况是,当图为二分图且公平性仅适用于一侧时,即假设G=(LR,L×R),我们得到了一个利润函数p:L×RN

公平二部匹配是在匹配G使得对于任意两个顶点u,vL

(wR:  p({v,w})p({u,w}))M(v)M(u)

我们可以多快找到最大重量的公平二分匹配?


这个问题的动机来自两党的特殊情况。假设您有工人和任务,而工人可以从工作产生利润。问题在于设计一个合理的(在某种意义上说,工人不会感到“被剥夺”),同时使总收益最大化(在分配机制的力量和社会利益之间进行权衡)。nmipi,jj

如果我们将工人分配给工作的社会福利(或工厂利润)定义为利润之和。

查看作业分配器功能的不同方案,我们得到以下结果:

  • 如果允许我们将任何工人分配给任何工作,我们可以有效地优化工厂(只需找到最大权重匹配项)。

  • 如果每个工人自己选择一个任务,假设他将是自己的工作(每个工作只能选择一个工作),如果他是选择任务的最合格工人,则这些工人将趋于“贪婪”平衡。原因是,赚得最多的工人()会选择最赚钱的工作,依此类推。通过匹配的贪婪算法的近似率,这应该给出最大社会福利的2近似值。i=argmaximaxjpi,j

我正在寻找介于两者之间的东西。假设我们可以分配工人到工作中,但是必须向他们保证,“合格的”工人的收入不会比他们多。

我们如何才能找到有效地向员工承诺“公平”的最大权重?


切线地,对于第二个(二分)情况,似乎很容易构造示例,即使有“不公平”的匹配使第一个工人的利润为,每个“公平”的匹配都会使第一个工人的利润为1,其余的为零。,其他人则获利。类似地,最大权重公平匹配使每个工人获利示例,即使存在不公平匹配也使每个工人获利。12ϵ1ϵ2/n{1ϵ,12ϵ}
Neal Young

@NealYoung-我是否可以正确地假设,如果利润是不同的,这些情况就不会存在?
RB

在博弈论中,这似乎是一个标准问题,因为无法区分替代方案会大大降低社会福利。
RB

糟糕,我回想一下-我不确定这些示例是否可以实现!
Neal Young

Answers:


1

我相信您所定义的“最大重量公平二分匹配”是NP-hard。更重要的是,确定公平的二分匹配是否存在是难事。

为了给出直觉,在给出证明草图之前,请考虑以下小实例。取其中,。取,使得为和,而为和。那么对于所有,在某种意义上和是等价的,因此,因此任何公平匹配都必须给和带来相同的利润。因此,唯一的公平匹配要么匹配G=(L,R,E=L×R)L={a,b}R={c,d,e,f}pp(u,w)=0uLw{c,d}p(u,w)=1uLw{e,f}abp(a,w)=p(b,w)wRaba和到和,或者将和匹配到和。使用这种小工具,我们可以在匹配中强制边缘协调。这是减少的基础。bcdabef

这是一个证明的尝试。这有点涉及。可能存在一些错误,但希望可以纠正任何错误。

引理1。如问题所述, 给定和,确定是否包含公平匹配是NP -硬。G=(L,R,E=L×R)p:ER+G

证明草图。证明是通过减少三次图中的独立集得出的。令为独立集的给定实例,其中是三次图(每个顶点的阶数为3)。我们描述了如何构造图和利润函数从而使得具有公平的二分匹配,如果和仅当具有大小为的独立集合时。(G=(V,E),k)GG=(L,R,E=L×R)p:ER+GGk

的顶点将成对出现,称为伙伴。对于的顶点也是如此。对于每一个顶点,我们让表示的合作伙伴。每个顶点和的伙伴都是等价的,这意味着,我们将令 因此,任何公平匹配都必须将相同的利润分配给和。接下来,我们使用 表示。LRvLRvvLL

p(,r)=p(,r) for all rR.
π(,r)p(,r)=p(,r)

此外,对于每对在,并且每对伙伴的在,无论我们作出 或者我们使 在前一种情况下,我们说我们允许和与和匹配 (因为这样做会根据需要将相同的利润分配给和)。在后一种情况下,我们说我们防止和与和都匹配Lr,rR

π(,r)=π(,r)
π(,r)π(,r).
rr rr (因为这样做不会为和分配相同的利润)。

由于给定的曲线图为三次方,因此满足和任何独立集大小的在入射到恰好边缘。为了便于表示,假设。G=(V,E)3|V|=2|E|IkG3kV={1,2,,n}

对于每个边,执行以下操作。{i,j}E

  1. 添加一对伙伴顶点以。 r({i,j}),r({i,j})R

  2. 对于端点,向添加一对伙伴顶点。设置允许和 与和匹配。 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})
  3. 对称地,对于另一个端点:将另一对伙伴顶点到,并设置 允许和与 和匹配。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})

对于到目前为止添加的每个和,如果未明确允许(以上)对与匹配,则通过分配和每个都有唯一的数字。LrR,r,rπ(,r)π(,r)

接下来,将对填充顶点添加到。对于每个填充顶点和每个,设置。3(|V|k)Rr(i,j)Lπ((i,j),r)=0

最后,添加两个顶点和(伙伴)到,具有两个顶点沿和(也合作伙伴)。设置,从而允许和与和匹配。对于每个其他顶点,将为某个唯一数字。(因此,任何公平匹配都必须将和匹配到和。)对于每个L0L0LR0R0Rπ(L0,R0)=π(L0,R0)=1L0L0R0R0rRπ(L0,r)L0L0R0R0iV,对于每个入射边,设置和。{i,j}Eπ((i,j),R0)=iπ((i,j),R0)=|V|i+1

这样就完成了还原。最后,我们证明它是正确的。


首先考虑哪个对顶点 后者占优势,即 (i,j),(i,j)L

(rR) π((i,j),r)π((i,j),r).

考虑到分配给入射到和边的利润,仅当才能满足此条件,并且在检查的其余边的定义时,条件就足够了。因此,当且仅当将和分配给和,并且对于每个, R0R0i=iπi=iL0L0R0R0iV

N(i)={(i,j):{i,j}E}{(i,j):{i,j}E}.

首先,假设具有独立组大小的。如下从获得的公平匹配。 GIkGI

将和匹配到和。L0L0R0R0

对于每个顶点,令是其三个入射边。对于每个边,将顶点及其伙伴 到和。这给出了利润所有顶点。iI{i,j1},{i,j2},{i,j3}{i,jh}(i,jh)(i,jh)r({i,jh})r({i,jh})N(i)i

对于中的每个顶点,对于入射到的三个边每一个,匹配及其伙伴 到一对唯一的填充顶点及其伙伴。这使所有顶点的利润为。|V|kiVI{i,j}i(i,j)(i,j)rrN(i)0

因此,这种匹配是公平的。


接下来,假定具有公平匹配。GM

M必须将和与和。对于每个,匹配必须赋予 的每个顶点相同的利润。对于每个,其伙伴也在。因此,通过检查减少量,每个这样的顶点的利润必须为 (在这种情况下,中的所有六个顶点都与顶点及其伙伴匹配)或为零(在这种情况下,中的所有六个顶点都与填充顶点匹配)。让L0L0R0R0iVN(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|R0R0

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.