Interesuje mnie wariant maksymalnego dopasowania wagi na wykresie, który nazywam „maksymalnym uczciwym dopasowaniem”.
Załóżmy, że wykres jest pełny (tj ) Ma liczbę nawet wierzchołków, a masa jest podawana przez funkcję zysk . Biorąc pod uwagę pasujące , oznacz przez zysk krawędzi jest dopasowany.
Pasujące jest sprawiedliwym pasującym iff, dla dowolnych dwóch wierzchołków :
Oznacza to, że jeśli dla dowolnego wierzchołka , dopasowanie do wierzchołka daje większy zysk niż dopasowanie go do wierzchołka , wystarczające dopasowanie musi wystarczyć .
Czy możemy znaleźć skuteczne dopasowanie do maksymalnej wagi w sposób efektywny?
Ciekawym przypadkiem jest to, że wykres jest dwustronny, a uczciwość dotyczy tylko jednej strony, to znaczy, że , a otrzymujemy funkcję zysku .
Fair dwustronny Dopasowanie to dopasowanie w , że dla dowolnych dwóch wierzchołków :
Jak szybko możemy znaleźć maksymalne obciążenie dla uczciwego dwustronnego dopasowania?
Motywacja tego problemu wynika z dwustronnego specjalnego przypadku. Załóżmy, że masz pracowników i zadań, a pracownik może wygenerować zysku z pracy . Problem polega na zaprojektowaniu rozsądnego (w pewnym sensie pracownicy nie będą czuć się „oszukani”), przy jednoczesnym maksymalizowaniu całkowitych wypłat (istnieje tutaj kompromis między siłą mechanizmu przypisania a świadczeniem społecznym).
Jeśli zdefiniujemy zasiłek socjalny (lub zysk fabryczny) przypisania pracowników do miejsc pracy jako sumę zysków.
Patrząc na różne scenariusze dotyczące siły osoby zlecającej zadanie, otrzymujemy następujące wyniki:
Jeśli wolno nam przypisać dowolnego pracownika do dowolnego zadania, możemy skutecznie zoptymalizować fabrykę (wystarczy znaleźć dopasowanie o maksymalnej masie).
Jeśli każdy pracownik sam wybierze zadanie, zakładając, że jego praca zostanie wybrana (dla każdej pracy można wybrać tylko jedną pracę), jeśli będzie on najlepiej wykwalifikowanym pracownikiem, który wybrał to zadanie, robotnicy staną się „chciwi” ' równowaga. Powodem jest to, że pracownik, który mógłby najwięcej zarobić ( ) wybierze najbardziej dochodową pracę i tak dalej. Przy współczynniku aproksymacji chciwego algorytmu dopasowywania powinno to dać przybliżone 2 maksymalne możliwe zabezpieczenie społeczne.
Szukam czegoś pośredniego. Załóżmy, że możemy przypisać pracowników do pracy, ale musimy obiecać im, że żaden „mniej wykwalifikowany” pracownik nie zarabia więcej niż oni.
Jak skutecznie znaleźć maksymalne dopasowanie wagi obiecujące „uczciwość” do pracowników?
Odpowiedzi:
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} p p(u,w)=0 u∈L w∈{c,d} p(u,w)=1 u∈L w∈{e,f} a b p(a,w)=p(b,w) w∈R a b a i 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.b c d a b e f
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′ G k
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 .L R v∈L∪R v′ v ℓ∈L ℓ′∈L
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ℓ L r,r′ R
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| I k G 3k V={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
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
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.ℓ∈L r∈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) R r ℓ(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żdegoL0 L′0 L R0 R′0 R π(L0,R0)=π(L0,R′0)=1 L0 L′0 R0 R′0 r∈R π(L0,r) L0 L′0 R0 R′0 i∈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
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 wR0 R′0 i=i′ π i=i′ L0 L′0 R0 R′0 i∈V
Najpierw załóżmy, że ma niezależny zestaw o rozmiarze . Uzyskaj sprawiedliwe dopasowanie dla od w następujący sposób.G I k G′ I
Dopasuj i do i .L0 L′0 R0 R′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|−k i∈V∖I {i,j} i ℓ(i,j) ℓ′(i,j) r r′ N(i) 0
Dlatego dopasowanie jest uczciwe.
Następnie załóżmy, że ma sprawiedliwy pasujący .G′ M
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| R0 R′0
źródło