Uważam, że „maksymalne obciążenie uczciwe dwustronne dopasowanie”, jak już zdefiniowałeś, jest NP-trudne. Co więcej, ustalenie istnienia rzetelnego dwustronnego dopasowania jest trudne dla NP.
Przed podaniem szkicu próbnego, dla intuicji, rozważ następującą małą instancję. Weźmy gdzie , . Weź tak, że dla i , podczas gdy dla i . Następnie i są ekwiwalentne w takim sensie, że dla wszystkich , tak pasującego uzasadniona musi dać i taki sam wynik. Dlatego jedyne uczciwe dopasowania pasują do siebieG′=(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∈Rabai z i , albo dopasować i do i . Za pomocą tego rodzaju gadżetu możemy wymusić koordynację krawędzi w dopasowaniu. To jest podstawa redukcji.bcdabef
Oto próba dowodu. To jest trochę zaangażowane. Prawdopodobnie są jakieś błędy, ale mam nadzieję, że wszelkie błędy można naprawić.
Lemat 1. Biorąc pod uwagę i zgodnie z opisem problemu, ustalenie, czy zawiera prawidłowe dopasowanie, to NP -ciężko.G′=(L,R,E′=L×R)p:E′→R+G′
Szkic próbny. Dowodem jest redukcja z Independent Set w grafach sześciennych. Niech będzie danym wystąpieniem zbioru niezależnego, gdzie jest wykresem sześciennym (każdy wierzchołek ma stopień 3). Opisujemy, jak skonstruować wykres i funkcję zysku tak, że ma sprawiedliwe dopasowanie dwustronne, jeśli i tylko jeśli ma niezależny zestaw wielkości .(G=(V,E),k)G′G′=(L,R,E′=L×R)p:E′→R+G′Gk
Wierzchołki w przyjdą parami, zwanymi partnerami . Podobnie do wierzchołków . Dla każdego wierzchołka , pozwalamy oznaczać partnera . Każdy wierzchołek i jego partner będą równoważne , co oznacza, że utworzymy
W konsekwencji każde uczciwe dopasowanie musi przypisać ten sam zysk do i . W poniższym przykładzie używamy
do oznaczenia wartości .LRv∈L∪Rv′vℓ∈Lℓ′∈L
p(ℓ,r)=p(ℓ′,r) for all r∈R.
ℓℓ′π(ℓ,r)p(ℓ,r)=p(ℓ′,r)
Ponadto, dla każdej pary w i każdej pary partnerów w , albo robimy
lub tworzymy
W pierwszym przypadku mówimy, że zezwalamy na dopasowanie i do i
(ponieważ w ten sposób przypisano by ten sam zysk do i , zgodnie z wymaganiami). W tym drugim przypadku mówimy, że zapobiegamy dopasowaniu i (oba) do iℓLr,r′R
π(ℓ,r)=π(ℓ,r′)
π(ℓ,r)≠π(ℓ,r′).
ℓℓ′rr′ℓℓ′ ℓℓ′rr′
(ponieważ zrobienie tego nie przypisałoby tego samego zysku do i ).
ℓℓ′
Ponieważ podany wykres jest sześcienny, spełnia on, a każdy niezależny zestaw o rozmiarze w ma dokładnie krawędzi. Załóżmy dla ułatwienia, że .G=(V,E)3|V|=2|E|IkG3kV={1,2,…,n}
Dla każdej krawędzi wykonaj następujące czynności.{i,j}∈E
Dodawanie pary wierzchołków partnerem do . r({i,j}),r′({i,j})R
Dla punktów końcowych dodać parę partnera wierzchołki do . Ustaw umożliwiając dopasowanie i
do i . 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})
Symetrycznie dla drugiego punktu końcowego : dodaj kolejną parę partnerskich wierzchołków do i ustaw
dopuszczając i do dopasowania do
i .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})
Dla każdego dodanego do tej pory i , jeśli para nie jest wyraźnie dozwolone (powyżej), aby dopasować do , to należy zapobiec dopasowaniu, przypisując i każdy jakiś unikalny numer.ℓ∈Lr∈Rℓ,ℓ′r,r′π(ℓ,r)π(ℓ,r′)
Następnie dodawano pary wypełniacza wierzchołki . Dla każdego wierzchołka wypełniacza każdego ustaw wartość .3(|V|−k)Rrℓ(i,j)∈Lπ(ℓ(i,j),r)=0
Na koniec, dodać dwa wierzchołki i (partnerzy) do , wraz z dwoma wierzchołkami i (również partnerzy) do . Ustaw , umożliwiając i do i . Dla każdego innego wierzchołka ustaw na jakąś unikalną liczbę. (W związku z tym każde uczciwe dopasowanie musi pasować i do i .) Dla każdegoL0L′0LR0R′0Rπ(L0,R0)=π(L0,R′0)=1L0L′0R0R′0r∈Rπ(L0,r)L0L′0R0R′0i∈V, dla każdej krawędzi zdarzenia , ustaw i .{i,j}∈Eπ(ℓ(i,j),R0)=iπ(ℓ(i,j),R′0)=|V|−i+1
To kończy redukcję. Na koniec potwierdzamy, że jest poprawny.
Najpierw zastanów się, jakie pary wierzchołków
to drugie dominuje pierwsze, to znaczy
ℓ(i,j),ℓ(i′,j′)∈L
(∀r∈R) π(ℓ(i,j),r)≤π(ℓ(i′,j′),r).
Biorąc pod uwagę zyski przypisane do krawędzi na i , warunek ten można spełnić tylko wtedy, gdy , i sprawdzając definicję dla pozostałych krawędzi, warunek jest wystarczający. Dlatego dopasowanie jest uczciwe tylko wtedy, gdy przypisuje i do i , a także, dla każdego , daje taki sam zysk wszystkim wierzchołkom w
R0R′0i=i′πi=i′L0L′0R0R′0i∈V
N(i)={ℓ(i,j):{i,j}∈E}∪{ℓ′(i,j):{i,j}∈E}.
Najpierw załóżmy, że ma niezależny zestaw o rozmiarze . Uzyskaj sprawiedliwe dopasowanie dla od w następujący sposób. GIkG′I
Dopasuj i do i .L0L′0R0R′0
Dla każdego wierzchołka niech będą trzema krawędziami zdarzenia. Dla każdej krawędzi dopasuj wierzchołek i jego partnera
do i . Daje to wszystkie wierzchołki w zysku .i∈I{i,j1},{i,j2},{i,j3}{i,jh}ℓ(i,jh)ℓ′(i,jh)r({i,jh})r′({i,jh})N(i)i
Dla każdego z wierzchołków , dla każdej z trzech krawędzi incydentu z , match i jego partner
do jakiejś unikalnej pary wierzchołków wypełniacza i jego partnera . Daje to wszystkim wierzchołkom zysku .|V|−ki∈V∖I{i,j}iℓ(i,j)ℓ′(i,j)rr′N(i)0
Dlatego dopasowanie jest uczciwe.
Następnie załóżmy, że ma sprawiedliwy pasujący .G′M
M musi pasować i do i . Dla każdego dopasowanie musi dać każdemu wierzchołkowi w
taki sam zysk. Dla każdego jego partner również znajduje się w . Tak więc, przez inspekcję redukcji, zysk z każdego takiego wierzchołka musi być albo
(w tym przypadku wszystkie sześć wierzchołków są dopasowane do wierzchołków i ich partnerzy) lub zero (w którym to przypadku wszystkie sześć wierzchołków w jest dopasowanych do wypełniających wierzchołków w ). PozwolićL0L′0R0R′0i∈VN(i)ℓ(i,j)∈N(i)ℓ′(i,j)N(i)iN(i)r({i,j})N(i)RI zbiorem wierzchołków, dla których obowiązuje poprzednia sprawa. Dla każdej krawędzi każdy wierzchołek i jego partner są dopasowani do jednego wierzchołka. Wynika z tego że niezależnym zestawem. Ponieważ liczba wierzchołków wypełniających wynosi , rozmiar musi wynosić co najmniej .{i,j}r({i,j})I6(|V|−k)Ik
QED (?)
Myślę, że jest to w zasadzie poprawne, choć trochę skomplikowane. Daj mi znać, jeśli zobaczysz jakieś błędy lub sposób na uproszczenie dowodu.
Powyższa redukcja zakłada, że przyjęcie jest w porządku . Jeśli to niepożądane, to przypuszczam, że możemy uzupełnić
pomocąwypełniaj wierzchołki, przypisując zysk 0 do wszystkich ich krawędzi oprócz krawędzi do i . Możemy przypisać zyski do tych ostatnich krawędzi, aby upewnić się, że wierzchołki wypełniacza nie są zdominowane (ani zdominowane) przez żaden inny wierzchołek.|R|>|L|L|R|−|L|R0R′0