Credo che "l'abbinamento bipartito giusto per il massimo peso", come hai definito, sia NP-difficile. Ancora di più, determinare l'esistenza di un giusto abbinamento bipartito è NP-difficile.
Prima di dare uno schizzo di prova, per intuizione, considera la seguente piccola istanza. Prendi dove , . Prendi tale che per e , mentre per e . Poi e sono equivalenti, nel senso che per tutti i , in modo che qualsiasi abbinamento giusto deve dare e lo stesso profitto. Quindi, gli unici abbinamenti giusti corrispondonoG′=(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 e a e , oppure corrispondono e a e . Utilizzando questo tipo di gadget, possiamo forzare il coordinamento dei bordi nella corrispondenza. Questa è la base della riduzione.bcdabef
Ecco un tentativo di dimostrazione. È un po 'coinvolto. Probabilmente ci sono alcuni errori, ma si spera che qualsiasi errore possa essere corretto.
Lemma 1. Dato e come descritto nel problema, determinare se contiene una corrispondenza corretta è NP -difficile.G′=(L,R,E′=L×R)p:E′→R+G′
Schizzo di prova. La dimostrazione è la riduzione dal set indipendente in grafici cubici. Sia una determinata istanza di Independent Set in cui è un grafico cubico (ogni vertice ha grado 3). Descriviamo come costruire un grafico e funzione di profitto tale che abbia una corrispondenza bipartita equa se e solo se ha un set indipendente di dimensioni .(G=(V,E),k)G′G′=(L,R,E′=L×R)p:E′→R+G′Gk
I vertici in verranno in coppia, chiamati partner . Analogamente per i vertici in . Per ogni vertice , lasciamo denotare il partner di . Ogni vertice e il suo partner saranno equivalenti , il che significa che faremo
Di conseguenza, qualsiasi corrispondenza corretta deve assegnare lo stesso profitto a e . Nel seguito, usiamo
per indicare il valore di .LRv∈L∪Rv′vℓ∈Lℓ′∈L
p(ℓ,r)=p(ℓ′,r) for all r∈R.
ℓℓ′π(ℓ,r)p(ℓ,r)=p(ℓ′,r)
Inoltre, per ogni coppia in e ogni coppia di partner in , o facciamo
o facciamo
Nel primo caso, diciamo che consentiamo a e di essere abbinati a &
(perché così facendo assegneremmo lo stesso profitto a e , come richiesto). In quest'ultimo caso, diciamo che prevenire e dall'essere (entrambi) abbinato al eℓLr,r′R
π(ℓ,r)=π(ℓ,r′)
π(ℓ,r)≠π(ℓ,r′).
ℓℓ′rr′ℓℓ′ ℓℓ′rr′
(perché così facendo non si assegnerebbe lo stesso profitto a e ).
ℓℓ′
Poiché il dato grafico è cubico, soddisfae qualsiasi insieme indipendente di dimensione in è incidente esattamente con bordi . Supponiamo per facilità di notazione che .G=(V,E)3|V|=2|E|IkG3kV={1,2,…,n}
Per ogni bordo , procedi come segue.{i,j}∈E
Aggiungere un paio di vertici socio a . r({i,j}),r′({i,j})R
Per endpoint , aggiungere un paio di partner di vertici a . Set consentendo a e
di essere abbinati a e . 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})
Simmetricamente, per l'altro endpoint : aggiungi un'altra coppia di vertici partner su e imposta
consentendo e da abbinare a
e .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})
Per ogni e aggiunti finora, se alla coppia non è esplicitamente permesso (sopra) di essere abbinato a , quindi impedire la corrispondenza assegnando e ciascuno con un numero univoco.ℓ∈Lr∈Rℓ,ℓ′r,r′π(ℓ,r)π(ℓ,r′)
Successivamente, aggiungere coppie di riempitivo vertici a . Per ogni vertice di riempimento e ogni , impostare .3(|V|−k)Rrℓ(i,j)∈Lπ(ℓ(i,j),r)=0
Infine, aggiungere due vertici e (parti) di , insieme a due vertici e (anche partner) a . Impostare , consentendo a e di essere abbinati a e . Per ogni altro vertice , imposta su un numero univoco. (Pertanto, qualsiasi corrispondenza corretta deve corrispondere a e a e .) Per ogniL0L′0LR0R′0Rπ(L0,R0)=π(L0,R′0)=1L0L′0R0R′0r∈Rπ(L0,r)L0L′0R0R′0i∈V, per ogni margine di incidente , impostare e .{i,j}∈Eπ(ℓ(i,j),R0)=iπ(ℓ(i,j),R′0)=|V|−i+1
Questo completa la riduzione. Per finire, dimostriamo che è corretto.
Per prima cosa considera quali coppie di vertici
quest'ultima domina la prima, cioè
ℓ(i,j),ℓ(i′,j′)∈L
(∀r∈R) π(ℓ(i,j),r)≤π(ℓ(i′,j′),r).
Considerando i profitti assegnati ai bordi incidenti a e , questa condizione può essere soddisfatta solo se e, controllando la definizione di per i bordi rimanenti, la condizione è sufficiente. Quindi una corrispondenza è giusta se e solo se assegna e a e e anche, per ogni , dà lo stesso profitto a tutti i vertici in
R0R′0i=i′πi=i′L0L′0R0R′0i∈V
N(i)={ℓ(i,j):{i,j}∈E}∪{ℓ′(i,j):{i,j}∈E}.
Innanzitutto, supponiamo che abbia un insieme indipendente di dimensione . Ottenere una corrispondenza corretta per da come segue. GIkG′I
Abbina e a e .L0L′0R0R′0
Per ogni vertice , lascia che tre siano i suoi tre bordi degli incidenti. Per ciascun bordo , abbina vertice e il suo partner
a e . Questo dà tutti i vertici nel profitto .i∈I{i,j1},{i,j2},{i,j3}{i,jh}ℓ(i,jh)ℓ′(i,jh)r({i,jh})r′({i,jh})N(i)i
Per ciascuno dei vertici , per ciascuno dei tre bordi incidente a , match e il suo partner
ad alcune coppie uniche di vertici di riempimento e al suo partner . Questo dà tutti i vertici nel profitto .|V|−ki∈V∖I{i,j}iℓ(i,j)ℓ′(i,j)rr′N(i)0
Quindi, questa corrispondenza è giusta.
Avanti, si supponga che ha una buona corrispondenza .G′M
M deve corrispondere a e a e . Per ogni , la corrispondenza deve dare a ciascuno dei vertici in
lo stesso profitto. Per ogni , anche il suo partner trova in . Quindi, controllando la riduzione, il profitto di ciascuno di questi vertici deve essere
(nel qual caso tutti e sei i vertici in sono abbinati ai vertici e i loro partner) o zero (nel qual caso tutti e sei i vertici in sono abbinati ai vertici di riempimento in ). PermettereL0L′0R0R′0i∈VN(i)ℓ(i,j)∈N(i)ℓ′(i,j)N(i)iN(i)r({i,j})N(i)RI l'insieme di vertici per cui vale il primo caso. Per ciascun bordo , il vertice e il suo partner sono associati a un vertice. Ne consegue che è un set indipendente. Poiché il numero di vertici di riempimento è , la dimensione di deve essere almeno .{i,j}r({i,j})I6(|V|−k)Ik
QED (?)
Penso che sia sostanzialmente corretto, se un po 'contorto. Fammi sapere se vedi errori o un modo per semplificare la prova.
La riduzione sopra presuppone che sia accettabile prendere. Se questo è indesiderabile, allora immagino che possiamo pad
convertici di riempimento, assegnando il profitto 0 a tutti i loro bordi tranne i bordi a e . Possiamo assegnare profitti a questi ultimi bordi per garantire che i vertici del filler non siano dominati (né dominino) da nessun altro vertice.|R|>|L|L|R|−|L|R0R′0