Estou interessado em uma variante da correspondência máxima de peso em um gráfico, que chamo de "Máxima correspondência justa".
Assume-se que o gráfico está cheio (ou seja, ), tem ainda o número de vértices, e que o peso é dada por uma função de lucro . Dado um correspondente , denotado por o lucro da aresta é correspondido.
Um correspondente é um iff correspondente justo, para quaisquer dois vértices :
Ou seja, se para qualquer vértice , a correspondência com um vértice der lucro maior do que com o vértice , uma correspondência justa deve ser suficiente .
Podemos encontrar uma combinação justa de peso máximo de forma eficiente?
Um caso interessante é quando o gráfico é bipartido e a justiça se aplica apenas a um lado, ou seja, assume que , e recebemos uma função de lucro .
Uma correspondência bipartida justa é uma correspondência em modo que, para quaisquer dois vértices : u , v ∈ L ( ∀ w ∈ R : p ( { v , w } ) ≥ p ( { u , w } ) ) → M ( v ) ≥ M ( u )
Quão rápido podemos encontrar uma correspondência bipartida justa e com peso máximo?
A motivação para esse problema vem do caso especial bipartido. Suponha que você tenha trabalhadores e tarefas, e o trabalhador possa produzir lucrar com o trabalho . O problema aqui é projetar um razoável (em certo sentido, os trabalhadores não se sentirão "enganados"), enquanto maximiza o total de recompensas (existe uma troca aqui entre o poder do mecanismo de atribuição e o benefício social).m i p i , j j
Se definirmos o bem-estar social (ou o lucro da fábrica) da atribuição de trabalhadores a empregos como a soma dos lucros.
Observando diferentes cenários para o poder do responsável pela tarefa, obtemos os seguintes resultados:
Se for permitido atribuir qualquer trabalhador a qualquer trabalho, podemos otimizar a fábrica com eficiência (basta encontrar uma correspondência de peso máximo).
Se todo trabalhador escolher uma tarefa sozinho, assumindo que seu trabalho será selecionado (apenas um único trabalho pode ser selecionado para cada trabalho), caso ele seja o trabalhador mais qualificado que escolheu a tarefa, os trabalhadores convergirão para o '' ganancioso '' 'equilíbrio. O motivo é que o trabalhador que poderia ganhar mais ( ) escolherá o trabalho mais lucrativo e assim por diante. Pela taxa de aproximação do algoritmo ganancioso de correspondência, isso deve fornecer uma aproximação 2 do bem-estar social máximo possível.
Estou procurando por algo intermediário. Vamos supor que poderíamos designar trabalhadores para empregos, mas temos que prometer que nenhum trabalhador "menos qualificado" ganha mais do que eles.
Como podemos encontrar uma ponderação máxima promissora "justiça" promissora para os funcionários de forma eficiente?
Respostas:
Eu acredito que "correspondência bipartida justa e com peso máximo", como você definiu, é difícil para NP. Ainda mais, é difícil determinar a existência de uma correspondência bipartida justa.
Antes de fazer um esboço de prova, para intuição, considere a pequena instância a seguir. Tome onde , . Tome tal que para e , enquanto para e . Em seguida, e são equivalentes, no sentido de que para todos , portanto, qualquer correspondência feira deve dar e o mesmo lucro. Portanto, as únicas correspondências justas correspondemG′=(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 e para e , ou eles correspondem e para e . Usando esse tipo de gadget, podemos forçar a coordenação das arestas na correspondência. Essa é a base da redução.b c d a b e f
Aqui está uma tentativa de prova. Está um pouco envolvido. Provavelmente existem alguns erros, mas espero que quaisquer erros possam ser corrigidos.
Lema 1. Dados e conforme descrito no problema, determinar se contém uma correspondência justa é NP -Difícil.G′=(L,R,E′=L×R) p:E′→R+ G′
Esboço de prova. A prova é por redução do Conjunto Independente em gráficos cúbicos. Seja uma instância do Conjunto Independente, onde é um gráfico cúbico (todo vértice possui grau 3). Descrevemos como construir um gráfico e a função de lucro modo que tenha uma correspondência bipartida justa se e somente se tiver um conjunto independente de tamanho .(G=(V,E),k) G′ G′=(L,R,E′=L×R) p:E′→R+ G′ G k
Os vértices em virão em pares, chamados parceiros . Da mesma forma para os vértices . Para cada vértice , vamos denotar o parceiro de . Cada vértice e seu parceiro serão equivalentes , o que significa que Consequentemente, qualquer correspondência justa deve atribuir o mesmo lucro a e . A seguir, usamos para denotar o valor de .L R v∈L∪R v′ v ℓ∈L ℓ′∈L
Além disso, para cada par em e cada par de parceiros em , criamos ou criamos No primeiro caso, dizemos que permitimos que e correspondam a e (porque isso atribuiria o mesmo lucro a e , conforme necessário). No último caso, dizemos que impedimos e de serem (ambos) correspondidos a eℓ L r,r′ R
Como o gráfico dado é cúbico, satisfaz, e qualquer conjunto independente do tamanho em ocorre exatamente em arestas. Suponha, com facilidade, que .G=(V,E) 3|V|=2|E| I k G 3k V={1,2,…,n}
Para cada aresta , faça o seguinte.{i,j}∈E
Adicionar um par de vértices parceiros para .r({i,j}),r′({i,j}) R
Para endpoint , adicionar um par de parceiro vértices para . Set permitindo que e correspondam a e .i ℓ(i,j),ℓ′(i,j) L
Simetricamente, para o outro ponto de extremidade : adicione outro par de vértices parceiros a e defina permitindo e para corresponder a e .j ℓ(j,i),ℓ′(j,i) L
Para cada e adicionados até agora, se o par não tiver permissão explícita (acima) de corresponder a , evite a correspondência atribuindo e possuem um número único.ℓ∈L r∈R ℓ,ℓ′ r,r′ π(ℓ,r) π(ℓ,r′)
Em seguida, adicionar pares de enchimento vértices para . Para cada vértice de preenchimento e cada , defina .3(|V|−k) R r ℓ(i,j)∈L π(ℓ(i,j),r)=0
Finalmente, adicione dois vértices e (parceiros) de , junto com dois vértices e (também parceiros) para . Defina , permitindo que e sejam correspondidos a e . Para todos os outros vértices , defina para um número único. (Portanto, qualquer correspondência justa deve corresponder a e a e .) Para cadaL0 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 , Para cada aresta incidente , conjunto e .{i,j}∈E π(ℓ(i,j),R0)=i π(ℓ(i,j),R′0)=|V|−i+1
Isso completa a redução. Para finalizar, provamos que está correto.
Primeiro considere para quais pares de vértices o último domina o anterior, ou seja,ℓ(i,j),ℓ(i′,j′)∈L
Considerando os lucros atribuídos às arestas incidentes em e , essa condição só pode ser atendida se e, inspecionando a definição de para as arestas restantes, a condição é suficiente. Portanto, uma correspondência é justa se, e somente se, atribuir e a e , e também, para cada , der o mesmo lucro a todos os vértices emR0 R′0 i=i′ π i=i′ L0 L′0 R0 R′0 i∈V
Primeiro, suponha que tenha um conjunto independente de tamanho . Obtenha uma correspondência justa para de seguinte maneira.G I k G′ I
Combine e com e .L0 L′0 R0 R′0
Para cada vértice , sejam suas três arestas de incidência. Para cada aresta , combine o vértice e seu parceiro a e . Isso fornece todos os vértices em lucro .i∈I {i,j1},{i,j2},{i,j3} {i,jh} ℓ(i,jh) ℓ′(i,jh) r({i,jh}) r′({i,jh}) N(i) i
Para cada um dos vértices , para cada uma das três arestas incidente em , combine e seu parceiro a um par único de vértices de preenchimento e seu parceiro . Isso fornece todos os vértices em lucro .|V|−k i∈V∖I {i,j} i ℓ(i,j) ℓ′(i,j) r r′ N(i) 0
Portanto, essa correspondência é justa.
Em seguida, suponha que tem uma feira de correspondência .G′ M
QED (?)
Eu acho que é basicamente correto, se um pouco complicado. Deixe-me saber se você encontrar algum erro ou uma maneira de simplificar a prova.
A redução acima pressupõe que não há problema em aceitar. Se isso for indesejável, acho que podemos preencher comvértices de preenchimento, atribuindo lucro 0 a todas as suas arestas, exceto as arestas a e . Podemos atribuir lucros às últimas arestas para garantir que os vértices de preenchimento não sejam dominados por (nem dominem) qualquer outro vértice.|R|>|L| L |R|−|L| R0 R′0
fonte