Ich glaube, dass "Maximum Weight Fair Bipartite Matching", wie Sie es definiert haben, NP-hart ist. Darüber hinaus ist es NP-schwer, die Existenz eines fairen zweigliedrigen Matchings zu bestimmen.
Bevor ich eine Beweisskizze gebe, betrachten wir zur Intuition die folgende kleine Instanz. Nehmen Sie wobei , . Nehmen Sie so, dass für und , während für und . Dann sind und äquivalent in dem Sinne, dass für alle , so dass jede faire Übereinstimmung und den gleichen Gewinn geben muss . Daher stimmen die einzigen fairen Übereinstimmungen übereinL = { ∈ L.G′=(L,R,E′=L×R)R = { c , d , e , f } p p ( u , wL={a,b}R={c,d,e,f}pu ≤ L w ≤ { c , d } p ( u , w ) = 1 up(u,w)=0u∈Lw∈{c,d}p(u,w)=1u∈La b p ( a , w ) = p ( b , a b c d a b e fw∈{e,f}abw ∈ R a bp(a,w)=p(b,w)w∈Raba und zu und , oder sie stimmen mit und zu und überein . Mit dieser Art von Gadget können wir die Koordination der Kanten beim Matching erzwingen. Dies ist die Basis der Reduzierung.bcdabef
Hier ist ein Beweisversuch. Es ist ein bisschen involviert. Wahrscheinlich gibt es einige Fehler, aber hoffentlich können alle Fehler behoben werden.
Lemma 1. Wenn und wie im Problem beschrieben, ist die Bestimmung, ob eine faire Übereinstimmung enthält, NP -schwer.p : E ' → R + G 'G'= ( L , R , E.'= L × R )p : E.'→ R.+G'
Beweisskizze. Der Beweis erfolgt durch Reduktion von Independent Set in kubischen Graphen. Sei eine gegebene Instanz der unabhängigen Menge, wobei ein kubischer Graph ist (jeder Scheitelpunkt hat Grad 3). Wir beschreiben, wie man einen Graphen und eine Gewinnfunktion so konstruiert, dass eine faire zweigliedrige Übereinstimmung hat, wenn und nur wenn eine unabhängige Menge der Größe .G ' G ' = ( L , R , E '( G = ( V., E.) , k )G'p : E ' → R + G ' G kG'= ( L , R , E.'= L × R )p : E.'→ R.+G'Gk
Die Eckpunkte in werden paarweise als Partner bezeichnet . Ebenso für die Eckpunkte in . Für jeden Scheitelpunkt lassen wir den Partner von . Jeder Scheitelpunkt und sein Partner sind äquivalent , was bedeutet, dass wir
Folglich muss jeder faire Abgleich und den gleichen Gewinn zuweisen . Im Folgenden verwenden wir
, um den Wert von .R v ∈ L ∪ R v ' v l ∈ L l ' ∈ LL.R.v ∈ L ∪ R.v'vℓ ∈ L.ℓ'∈ L.ℓ
p ( ℓ , r ) = p ( ℓ', R ) für alle r ∈ R .
ℓ π ( ℓ , r ) p ( ℓ , r ) = p ( ℓ ′ , r )ℓ'π( ℓ , r )p ( ℓ , r ) = p ( ℓ',r)
Ferner machen wir für jedes Paar in und jedes Paar von Partnern in entweder
oder wir machen
Im ersteren Fall sagen wir , wir erlauben und angepasst werden und
(da dies zu dem gleichen Gewinn zuweisen würde und , je nach Bedarf). Im letzteren Fall sagen wir, wir verhindern, dass und (beide) mit und übereinstimmen.L r , r ' R π ( ℓ , r ) = π ( ℓ , r ' ) π ( ℓ , r ) ≠ π ( ℓ , r ' ) . ℓ ℓ ′ r r ′ ℓ ℓℓLr,r′R
π(ℓ,r)=π(ℓ,r′)
π(ℓ,r)≠π(ℓ,r′).
ℓℓ'rr'ℓ l l ' r r ' l l 'ℓ' ℓℓ'rr'
(weil dies und nicht den gleichen Gewinn zuweisen würde ).
ℓℓ'
Da der gegebene Graph kubisch ist, erfüllt erund jede unabhängige Menge der Größe in fällt auf genau Kanten. Nehmen Sie zur Vereinfachung der Notation an, dass .3 | V | = 2 | E | I k G 3 k V = { 1 , 2 , … , n }G = ( V., E.)3 | V.|=2|E|IkG3 kV.= { 1 , 2 , … , n }
Führen Sie für jede Kante die folgenden Schritte aus.{ i , j } ∈ E.
Hinzufügen eines Paares von Scheiteln Partner bis . R.r({i,j}),r′({i,j})R
Fügen Sie für den Endpunkt ein Paar Partnerscheitelpunkte zu . Setze Ermöglichen, dass und
mit und abgeglichen werden . ℓ ( i , j ) , ℓ ′ ( i , j )iℓ(i,j),ℓ′(i,j)π ( ℓ ( i , j ) , r ( { i , j } ) )Lℓ ( i ,
π(ℓ(i,j),r({i,j}))=π(ℓ(i,j),r′({i,j}))=i,
ℓ ' ( i , j ) r ( { i , j } ) r ' ( { i , j } )ℓ(i,j)ℓ′(i,j)r({i,j})r′({i,j})
Symmetrisch für den anderen Endpunkt : Fügen Sie ein weiteres Paar von Partnerscheitelpunkten zu und setzen Sie
was und erlaubt an
und angepasst werden .ℓ ( j , i ) , ℓ ' ( j , i ) L π ( ℓ ( j , i ) , r ( { i , j } ) = π ( ) ℓ ' ( j , i )jℓ(j,i),ℓ′(j,i)Lℓ ( j , i
π(ℓ(j,i),r({i,j})=π(ℓ(j,i),r′({i,j}))=j,
ℓ(j,i)ℓ′(j,i)r ' ( { i , j } )r({i,j})r′({i,j})
Wenn für jedes bisher hinzugefügte und das Paar nicht explizit (oben) mit übereinstimmen darf , verhindern Sie die Übereinstimmung, indem Sie und jeweils eine eindeutige Nummer.r ∈ R ℓ , ℓ ′ℓ∈Lr∈Rℓ,ℓ′ π ( ℓ , r ) π ( ℓ , r ' )r,r′π(ℓ,r)π(ℓ,r′)
Anschließend fügen Paare von Füllstoff Vertices . Setzen Sie für jeden Füllscheitelpunkt und jede .R r3(|V|−k)Rrπ ( ℓ ( i , j ) , r ) = 0ℓ(i,j)∈Lπ(ℓ(i,j),r)=0
Schließlich fügen zwei Ecken und (Partner) zu , zusammen mit zwei Ecken und (auch Partner) zu . Setze , wodurch und mit und . Setzen Sie für jeden anderen Scheitelpunkt auf eine eindeutige Zahl. (Daher muss jede faire Übereinstimmung und mit und .) Für jedesL ' 0 L R 0 R ' 0 R π ( L 0 , R 0 ) = π ( L 0 , R ' 0 ) = 1 L 0 L ' 0 R 0 R ' 0 r ∈ R π ( L 0 , r ) 0 i ∈ V { i , j }L0L′0LR0R′0Rπ(L0,R0)=π(L0,R′0)=1L0L′0R0R′0r∈Rπ(L0,r)L ' 0 R 0 R 'L0L′0R0R′0i∈VSetzen Sie für jede einfallende Kante und .π ( ℓ ( i , j ) , R 0 ) = i π ( ℓ ( i , j{i,j}∈Eπ(ℓ(i,j),R0)=iπ(ℓ(i,j),R′0)=|V|−i+1
Damit ist die Reduzierung abgeschlossen. Zum Schluss beweisen wir, dass es richtig ist.
Betrachten Sie zunächst, für welche Paare von Eckpunkten
das letztere das erstere dominiert,
( ∀ r ∈ R ) π ( l ( iℓ(i,j),ℓ(i′,j′)∈L
(∀r∈R) π(ℓ(i,j),r)≤π(ℓ(i′,j′),r).
In Anbetracht der Gewinne, die Kanten zugeordnet sind, die auf und , kann diese Bedingung nur erfüllt werden, wenn , und wenn man die Definition von auf die verbleibenden Kanten , ist die Bedingung ausreichend. Daher ist eine Anpassung ist fair , wenn und nur wenn ich ordnet und zu und , und auch für jeden , gibt den gleichen Gewinn mit allen Ecken in
R0 i = i ' π i = i ' L 0 L ' 0 R 0 R 'R′0i=i′πi=i′L0L′0R0 i∈VN(i)={ℓ(iR′0i∈V
N(i)={ℓ(i,j):{i,j}∈E}∪{ℓ′(i,j):{i,j}∈E}.
Nehmen wir zunächst an, dass eine unabhängige Menge der Größe . Erhalten Sie eine faire Übereinstimmung für von wie folgt. I k G ' I.GIkG′I
Spiel und zu und .L 'L0 R0R ' 0L′0R0R′0
Für jeden Scheitelpunkt seien seine drei einfallenden Kanten. Für jede Kante , match Eckpunkt und sein Partner
bis und . Dies ergibt alle Eckpunkte in Gewinn .{ i , j 1 } , { i , j 2 } , { i , j 3 } { i , j h }i∈I{i,j1},{i,j2},{i,j3}{i,jh}ℓ ′ ( i , j h )ℓ(i,jh)ℓ′(i,jh)r ' ( { i , j hr({i,jh})N ( i ) ir′({i,jh})N(i)i
Für jeden der Eckpunkte stimmen für jede der drei Kanten , die auf , und sein Partner
zu einem eindeutigen Paar von Füllscheitelpunkten und seinem Partner . Dies ergibt alle Eckpunkte in Gewinn .i ∈ V ∖ I { i , j } i ℓ ( i , j ) ℓ ′ ( i , j )|V|−ki∈V∖I{i,j}iℓ(i,j)ℓ′(i,j)r ' N ( i ) 0rr′N(i)0
Daher ist dieses Matching fair.
Als nächstes sei angenommen, dass ein faires Matching . M.G′M
L 0 L ' 0M muss und mit und . Für jedes muss die Übereinstimmung jedem der Eckpunkte in
den gleichen Gewinn geben. Für jede befindet sich ihr Partner ebenfalls in . Durch Inspektion der Reduktion muss der Gewinn jedes solchen Scheitelpunkts entweder
(in diesem Fall sind alle sechs Scheitelpunkte in mit den Scheitelpunkten und ihren Partnern) oder Null sein (In diesem Fall werden alle sechs Eckpunkte in mit den Füllpunktpunkten in abgeglichen .) LassenL0L′0R ' 0 i ∈ V N ( i ) l ( i , j ) ∈ N ( i ) l ' ( i , j )R0R′0i∈VN(i)ℓ(i,j)∈N(i)ℓ′(i,j)N(i)iN(i)r({i,j})N(i)RI die Menge der Eckpunkte, für die der erstere Fall gilt. Für jede Kante werden der Scheitelpunkt und sein Partner jeweils einem Scheitelpunkt zugeordnet. Daraus folgt, dass eine unabhängige Menge . Da die Anzahl der Füllscheitelpunkte beträgt, muss die Größe von mindestens .r ( { i , j } ) I 6 ( | V | - k ) I k{i,j}r({i,j})I6(|V|−k)Ik
QED (?)
Ich denke, es ist im Grunde richtig, wenn auch etwas verworren. Lassen Sie mich wissen, wenn Sie Fehler sehen oder einen Weg finden, den Beweis zu vereinfachen.
Die obige Reduzierung setzt voraus, dass es in Ordnung ist,. Wenn das unerwünscht ist, können wir
mit , wobei allen Kanten außer den Kanten und Gewinn 0 . Wir können den letzteren Kanten Gewinne zuweisen, um sicherzustellen, dass die Füllscheitelpunkte nicht von einem anderen Scheitelpunkt dominiert werden (oder diesen dominieren).L | R | - | L | R 0 R ' 0|R|>|L|L|R|−|L|R0R′0