Correspondência "justa" do peso máximo

9

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, E=V×V ), 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.p:(V2)NMM(v)v

Um correspondente é um iff correspondente justo, para quaisquer dois vértices : Mu,vV

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

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 .wVwvuM(v)M(u)

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 .G=(LR,L×R)p:L×RN

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 )Gu,vL

(wR:  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 jnmipi,jj

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.i=argmaximaxjpi,j

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?

RB
fonte
Tangencialmente, para o segundo caso (bipartido), parece fácil construir exemplos em que toda correspondência "justa" dá lucro ao primeiro trabalhador 1 e o restante zero, mesmo que existam correspondências "injustas" que dão lucro ao primeiro trabalhador e todos os outros lucram . Da mesma forma, exemplos em que a correspondência justa de peso máximo dá lucro a cada trabalhador , embora existam correspondências injustas que dão a cada trabalhador lucro em . 12ϵ1ϵ2/n{1ϵ,12ϵ}
Neal Young
@NealYoung - estou correto ao assumir que esses cenários não podem existir se os lucros forem distintos?
RB
Parece uma questão padrão na teoria dos jogos, em que a incapacidade de distinguir entre alternativas reduz significativamente o bem-estar social.
RB
Opa, retiro meu comentário - não tenho certeza se esses exemplos são realizáveis, afinal!
Neal Young

Respostas:

1

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}pp(u,w)=0uLw{c,d}p(u,w)=1uLw{e,f}abp(a,w)=p(b,w)wRaba 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.bcdabef

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:ER+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)GG=(L,R,E=L×R)p:ER+GGk

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

p(,r)=p(,r) for all rR.
π(,r)p(,r)=p(,r)

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 eLr,rR

π(,r)=π(,r)
π(,r)π(,r).
rr rr (porque isso não atribuiria o mesmo lucro a e ).

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|IkG3kV={1,2,,n}

Para cada aresta , faça o seguinte.{i,j}E

  1. Adicionar um par de vértices parceiros para . r({i,j}),r({i,j})R

  2. Para endpoint , adicionar um par de parceiro vértices para . Set permitindo que e correspondam 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. 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

    π((j,i),r({i,j})=π((j,i),r({i,j}))=j,
    (j,i)(j,i)r({i,j})r({i,j})

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.LrR,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)Rr(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 cadaL0L0LR0R0Rπ(L0,R0)=π(L0,R0)=1L0L0R0R0rRπ(L0,r)L0L0R0R0iV, Para cada aresta incidente , conjunto e .{i,j}Eπ((i,j),R0)=iπ((i,j),R0)=|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

(rR) π((i,j),r)π((i,j),r).

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 em R0R0i=iπi=iL0L0R0R0iV

N(i)={(i,j):{i,j}E}{(i,j):{i,j}E}.

Primeiro, suponha que tenha um conjunto independente de tamanho . Obtenha uma correspondência justa para de seguinte maneira. GIkGI

Combine e com e .L0L0R0R0

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

Portanto, essa correspondência é justa.


Em seguida, suponha que tem uma feira de correspondência .GM

M deve corresponder a e a e . Para cada , a correspondência deve dar a cada um dos vértices em o mesmo lucro. Para cada , seu parceiro também está em . Portanto, inspecionando a redução, o lucro de cada um desses vértices deve ser (nesse caso, todos os seis vértices em são correspondidos aos vértices e seus parceiros) ou zero (nesse caso, todos os seis vértices em são correspondidos aos vértices de preenchimento em ). DeixeiL0L0R0R0iVN(i)(i,j)N(i)(i,j)N(i)iN(i)r({i,j})N(i)RI o conjunto de vértices para os quais o primeiro caso é válido. Para cada aresta , o vértice e seu parceiro são correspondidos a um vértice. Daqui resulta que sou um conjunto independente. Como o número de vértices de preenchimento é , o tamanho de deve ser pelo menos .{i,j}r({i,j})I6(|V|k)Ik

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|R0R0

Neal Young
fonte