Abbinamento “equo” del peso massimo


9

Sono interessato a una variante della corrispondenza del peso massimo in un grafico, che chiamo "Corrispondenza massima equa".

Si supponga che il grafico è piena (cioè E=V×V ), ha un numero pari di vertici, e che il peso è dato da una funzione di profitto . Data una corrispondente , denota con il profitto del bordo è abbinato.p:(V2)NMM(v)v

Una M corrispondente Mè una corrispondenza equa iff, per due vertici u,vV :

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

Cioè, se per qualsiasi vertice wV , la corrispondenza di w con un vertice v produce un profitto maggiore rispetto alla corrispondenza con un vertice u , una corrispondenza corretta deve essere sufficiente per M(v)M(u) .

Possiamo trovare una corrispondenza equa del peso massimo in modo efficiente?


Un caso interessante è quando il grafico è bipartito e l'equità si applica solo a un lato, ovvero si suppone che G=(LR,L×R) , e ci viene data una funzione di profitto p:L×RN .

Una corrispondenza bipartita equa è una corrispondenza in tale che per due vertici : Gu,vL

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

Quanto velocemente possiamo trovare un abbinamento bipartito equo e peso massimo?


La motivazione di questo problema deriva dal caso speciale bipartito. Si supponga di avere lavoratori e compiti, e l'operaio posso produrre profitto dal lavoro . Il problema qui è progettare un ragionevole (in un certo senso i lavoratori non si sentiranno "derubati"), massimizzando al contempo i profitti totali (qui c'è un compromesso tra il potere del meccanismo di assegnazione e il beneficio sociale).nmipi,jj

Se definiamo il benessere sociale (o il profitto di fabbrica) dell'assegnazione dei lavoratori ai lavori come la somma dei profitti.

Guardando diversi scenari per la potenza dell'assegnatore di lavoro, otteniamo i seguenti risultati:

  • Se ci è permesso assegnare qualsiasi lavoratore a qualsiasi lavoro, possiamo ottimizzare la fabbrica in modo efficiente (basta trovare una corrispondenza di peso massimo).

  • Se ogni lavoratore sceglie un'attività da solo, supponendo che il suo lavoro sarà selezionato (solo una singola opera può essere selezionata per ciascun lavoro) nel caso in cui sia il lavoratore più qualificato che ha scelto l'attività, i lavoratori convergeranno nel '' goloso ' ' equilibrio. Il motivo è che il lavoratore che potrebbe guadagnare di più ( ) sceglierà il lavoro più redditizio e così via. In base al tasso di approssimazione dell'algoritmo avido di abbinamento, ciò dovrebbe fornire un'approssimazione 2 del massimo benessere sociale possibile.i=argmaximaxjpi,j

Sto cercando qualcosa nel mezzo. Supponiamo di poter assegnare i lavoratori ai lavori, ma dobbiamo promettere loro che nessun lavoratore "meno qualificato" guadagna più di loro.

Come possiamo trovare un peso massimo che combini in modo efficiente "equità" promettente per i dipendenti?


Tangenzialmente, per il secondo caso (bipartito), sembra facile costruire esempi in cui ogni corrispondenza "equa" fornisce il profitto del primo lavoratore 1 e il resto zero, anche se ci sono corrispondenze "ingiuste" che danno il profitto del primo lavoratore e tutti gli altri profitto . Allo stesso modo, esempi in cui la corrispondenza equa di peso massimo dà a ciascun lavoratore un profitto , anche se ci sono corrispondenze sleali che danno a ciascun lavoratore un profitto in . 12ϵ1ϵ2/n{1ϵ,12ϵ}
Neal Young,

@NealYoung - ho ragione a supporre che questi scenari non possano esistere se i profitti sono distinti?
RB

Sembra un problema standard nella teoria dei giochi in cui l'incapacità di distinguere tra alternative abbassa significativamente il benessere sociale.
RB

Spiacenti, riprendo il mio commento - Non sono sicuro che quegli esempi siano realizzabili dopo tutto!
Neal Young,

Risposte:


1

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)=0uLw{c,d}p(u,w)=1uLw{e,f}abp(a,w)=p(b,w)wRaba 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:ER+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)GG=(L,R,E=L×R)p:ER+GGk

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 .LRvLRvvLL

p(,r)=p(,r) for all rR.
π(,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 eLr,rR

π(,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

  1. Aggiungere un paio di vertici socio a . r({i,j}),r({i,j})R

  2. 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})
  3. 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.LrR,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 ogniL0L0LR0R0Rπ(L0,R0)=π(L0,R0)=1L0L0R0R0rRπ(L0,r)L0L0R0R0iV, per ogni margine di incidente , impostare e .{i,j}Eπ((i,j),R0)=iπ((i,j),R0)=|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

(rR) π((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 R0R0i=iπi=iL0L0R0R0iV

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. GIkGI

Abbina e a e .L0L0R0R0

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 .iI{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|kiVI{i,j}i(i,j)(i,j)rrN(i)0

Quindi, questa corrispondenza è giusta.


Avanti, si supponga che ha una buona corrispondenza .GM

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 ). PermettereL0L0R0R0iVN(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|R0R0

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.