Coincidencia "justa" de peso máximo


9

Estoy interesado en una variante de la coincidencia de peso máximo en un gráfico, que llamo "Coincidencia justa máxima".

Suponga que la gráfica es completo (es decir, E=V×V ), tiene número par de vértices, y que el peso está dada por una función de utilidad p:(V2)N . Dada una M coincidente M, denotada por M (v), se iguala M(v)el beneficio del borde v .

Una M coincidente Mes una coincidencia justa iff, para cualquiera de los dos vértices u,vV :

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

Es decir, si para cualquier vértice wV , hacer coincidir w con un vértice v proporciona mayores beneficios que hacerlo con un vértice u , una coincidencia equitativa debe ser suficiente M(v)M(u) .

¿Podemos encontrar una coincidencia justa de peso máximo de manera eficiente?


Un caso interesante es cuando el gráfico es bipartito y la equidad solo se aplica a un lado, es decir, suponiendo que G=(LR,L×R) , y se nos da una función de beneficio p:L×RN .

Una coincidencia bipartita justa es una coincidencia en G tal que para dos vértices u,vL :

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

¿Qué tan rápido podemos encontrar una coincidencia bipartita justa de peso máximo?


La motivación para este problema proviene del caso especial bipartito. Suponga que tiene n trabajadores y m tareas, y el trabajador i puedo producir pi,j ganancias del trabajo j . El problema aquí es diseñar un plan razonable (en cierto sentido, los trabajadores no se sentirán "estafados"), mientras se maximizan los beneficios totales (aquí hay una compensación entre el poder del mecanismo de asignación y el beneficio social).

Si definimos el bienestar social (o la ganancia de la fábrica) de la asignación de trabajadores a los trabajos como la suma de las ganancias.

Mirando diferentes escenarios para el poder del asignador de trabajo, obtenemos los siguientes resultados:

  • Si se nos permite asignar a cualquier trabajador a cualquier trabajo, podemos optimizar la fábrica de manera eficiente (solo encontrar una coincidencia de peso máximo).

  • Si cada trabajador elige una tarea por su cuenta, suponiendo que se seleccionará su trabajo (solo se puede seleccionar un solo trabajo para cada trabajo) en caso de que sea el trabajador más calificado que eligió la tarea, los trabajadores convergerán en la "codicia" ' equilibrio. La razón es que el trabajador que podría ganar más ( ) elegirá el trabajo más rentable, y así sucesivamente. Por la tasa de aproximación del algoritmo codicioso para emparejar, esto debería dar una aproximación de 2 del máximo bienestar social posible.i=argmaximaxjpi,j

Estoy buscando algo intermedio. Supongamos que podemos asignar trabajadores a trabajos, pero tenemos que prometerles que ningún trabajador "menos calificado" gana más que ellos.

¿Cómo podemos encontrar un peso máximo que coincida con la "justicia" prometedora para los empleados de manera eficiente?


Tangencialmente, para el segundo caso (bipartito), parece fácil construir ejemplos en los que cada emparejamiento "justo" le da al primer trabajador una ganancia 1, y el resto a cero, a pesar de que hay emparejamientos "injustos" que le dan al primer trabajador una ganancia y todos los demás se benefician . Del mismo modo, ejemplos en los que la igualación justa de peso máximo le da a cada trabajador una ganancia de , a pesar de que existen emparejamientos injustos que le dan a cada trabajador ganancias en . 1 - ϵ 2 / n { 1 - ϵ , 1 - 2 ϵ }12ϵ1ϵ2/n{1ϵ,12ϵ}
Neal Young

@NealYoung: ¿estoy en lo cierto al suponer que estos escenarios no pueden existir si las ganancias son distintas?
RB

Parece un problema estándar en la teoría de juegos donde la incapacidad para distinguir entre alternativas reduce significativamente el bienestar social.
RB

¡Vaya! Retiro mi comentario. ¡No estoy seguro de que esos ejemplos sean realizables después de todo!
Neal Young

Respuestas:


1

Creo que la "coincidencia bipartita justa de peso máximo" como la ha definido es NP-hard. Aún más, determinar la existencia de una coincidencia bipartita justa es NP-difícil.

Antes de dar un bosquejo de prueba, por intuición, considere la siguiente pequeña instancia. Tome donde , . Tome tal que para y , mientras que para y . Entonces y son equivalentes, en el sentido de que para todos , por lo que cualquier feria coincidente debe dar y el mismo beneficio. Por lo tanto, las únicas coincidencias justas coincidenL = { a , b } R = { c , d , e , f } p p ( u , w ) = 0 u L w { c , d } p ( u , w ) = 1 uG=(L,R,E=L×R)L={a,b}R={c,d,e,f}pp(u,w)=0uLw{c,d}p(u,w)=1w { e , f } a b p ( a , w ) = p ( b , w ) w R a b a b c d a b e fuLw{e,f}abp(a,w)=p(b,w)wRaba y a y , o coinciden con y a y . Con este tipo de gadget, podemos forzar la coordinación de los bordes en la coincidencia. Esta es la base de la reducción.bcdabef

Aquí hay un intento de prueba. Es un poco complicado. Probablemente hay algunos errores, pero es de esperar que se puedan solucionar.

Lema 1. Dada y como se describe en el problema, determinar si contiene un juego justo es NP -difícil.p : E R + G G=(L,R,E=L×R)p:ER+G

Bosquejo de prueba. La prueba es por reducción del conjunto independiente en gráficos cúbicos. Sea una instancia dada de Conjunto Independiente donde es un gráfico cúbico (cada vértice tiene grado 3). Describimos cómo construir un gráfico y la función de beneficio modo que tenga una coincidencia bipartita justa si y solo si tiene un conjunto independiente de tamaño .G G = ( L , R , E = L × R ) p : E R + G G k(G=(V,E),k)GG=(L,R,E=L×R)p:ER+GGk

Los vértices en vendrán en pares, llamados socios . Asimismo para los vértices en . Para cada vértice , dejamos que denote la pareja de . Cada vértice y su compañero serán equivalentes , lo que significa que haremos que En consecuencia, cualquier igualación equitativa debe asignar el mismo beneficio a y . En lo que sigue, usamos para denotar el valor de .R v L R vLRvLR v L 'L p ( , r ) = p ( ' , r )  para todos  r R . π ( , r ) p ( , r ) = p ( , r )vvLL

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

Además, para cada par en , y cada par de socios en , hacemos o hacemos En el primer caso, decimos que permitimos que y coincidan con y (porque hacerlo asignaría el mismo beneficio a y , según sea necesario). En el último caso, decimos que evitamos que y (ambos) con yL r , r R π ( , r ) = π ( Lr,rRπ ( , r ) π ( , r ) . r r r r

π(,r)=π(,r)
π(,r)π(,r).
rr rr (porque hacerlo no asignaría el mismo beneficio a y ).

Como el gráfico dado es cúbico, satisface, y cualquier conjunto independiente de tamaño en incide exactamente en los bordes de . Supongamos, para facilitar la notación, que .3 | V | = 2 | E | I k G 3 k V = { 1 , 2 , , n }G=(V,E)3|V|=2|E|IkG3kV={1,2,,n}

Para cada borde , haga lo siguiente.{i,j}E

  1. Añadir un par de vértices asociadas a . Rr({i,j}),r({i,j})R

  2. Por punto final , añadir un par de socio vértices a . Set permitiendo que y coincidan con y . ( i , j ) , ( i , j ) L π ( ( i , j ) , r ( { i , j } ) ) = π ( ( i , j ) , r ( { i , j } ) ) = i , ( i ,i(i,j),(i,j)L

    π((i,j),r({i,j}))=π((i,j),r({i,j}))=i,
    ( i , j ) r ( { i , j } ) r ( { i , j } )(i,j)(i,j)r({i,j})r({i,j})
  3. Simétricamente, para el otro punto final : agregue otro par de vértices asociados a y establezca permitiendo y para que coincida con y .jL π ( ( j , i ) , r ( { i , j } ) = π ( ( j , i ) , r ( { i , j } ) ) = j , ( j , i(j,i),(j,i)L

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

Por cada y agregadas hasta ahora, si el par no está permitido explícitamente (arriba) para que coincida con , entonces evite la coincidencia asignando y cada uno algún número único.r R , r , r π ( , r ) π ( , r )LrR,r,rπ(,r)π(,r)

A continuación, añadir pares de relleno vértices para . Para cada vértice de relleno y cada , establezca .R r ( i , j ) L π ( ( i , j ) , r ) = 03(|V|k)Rr(i,j)Lπ((i,j),r)=0

Por último, añadir dos vértices y (socios) a , junto con dos vértices y (también socios) a . Establezca , permitiendo que y con y . Para cualquier otro vértice , establezca en algún número único. (Por lo tanto, cualquier coincidencia equitativa debe coincidir con y con y .) Por cadaL 0 L R 0 R 0 R π ( L 0 , R 0 ) = π ( L 0 , R 0 ) = 1 L 0 L 0L0L0LR0R0Rπ(L0,R0)=π(L0,R0)=1L0 R0R0 rRπ(L0,r)L0L0 R0RL0R0R0rRπ(L0,r)L0L0R0R0{ i , j } E π ( ( i , j ) , R 0 ) = i π ( ( i , j ) , R 0 ) = | V | - i + 1iV, para cada borde incidente , establezca y .{i,j}Eπ((i,j),R0)=iπ((i,j),R0)=|V|i+1

Eso completa la reducción. Para finalizar, demostramos que es correcto.


Primero considere para qué pares de vértices el último domina al primero, es decir, (i,j),(i,j)L

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

Teniendo en cuenta los beneficios asignados a los bordes incidentes con y , esta condición solo se puede cumplir si y, al inspeccionar la definición de para los bordes restantes, la condición es suficiente. Por lo tanto, una coincidencia es justa si y solo si asigna y a y , y también, para cada , otorga el mismo beneficio a todos los vértices en R 0 i = i π i = i L 0 LR0R0i=iπi=iL0L0R0R0iV

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

Primero, suponga que tiene un conjunto independiente de tamaño . Obtenga una coincidencia justa para de siguiente manera. GIkGI

Partido y a y .L0L0R0R0

Para cada vértice , deje que sean sus tres bordes incidentes. Para cada borde coincidir el vértice y su compañero con y . Esto da todos los vértices en beneficio .{ i , j 1 } , { i , j 2 } , {iI{i,j1},{i,j2},{i,j3}{i,jh}(i,jh)(i,jh)r({i,jh})r({i,jh})N(i)i

Para cada uno de los vértices , para cada uno de los tres bordes incidentes a , coincidir y su compañero a un par único de vértices de relleno y su compañero . Esto da todos los vértices en beneficio .|V|kiVI{i,j}i(i,j)(i,j)rrN(i)0

Por lo tanto, esta coincidencia es justa.


A continuación, supongamos que tiene un juego justo .GM

L 0 L 0 R 0 R 0 i V N ( i ) ( i , j )M debe coincidir con y con y . Para cada , la correspondencia debe dar a cada uno de los vértices en el mismo beneficio. Para cada , su compañero también está en . Por lo tanto, mediante la inspección de la reducción, la ganancia de cada vértice debe ser (en cuyo caso los seis vértices en se corresponden con los vértices y sus socios) o cero (en cuyo caso, los seis vértices en coinciden con los vértices de relleno en ). DejarL0L0R0R0iVN(i)(i,j)N(i)(i,j)N(i)iN(i)r({i,j})N(i)RI el conjunto de vértices para el que se sostiene el caso anterior. Para cada arista , el vértice , y su compañero, se corresponden con un vértice. Se deduce que es un conjunto independiente. Como el número de vértices de relleno es , el tamaño de debe ser al menos .r ( { i , j } ) I 6 ( | V | - k ) I k{i,j}r({i,j})I6(|V|k)Ik

QED (?)


Creo que es básicamente correcto, si es un poco complicado. Avíseme si ve algún error o una forma de simplificar la prueba.

La reducción anterior supone que está bien tomar. Si eso no es deseable, entonces supongo que podemos rellenar convértices de relleno, asignando beneficio 0 a todos sus bordes excepto los bordes a y . Podemos asignar ganancias a los últimos bordes para asegurar que los vértices de relleno no estén dominados por (ni dominen) ningún otro vértice.L | R | - | L | R 0 R 0|R|>|L|L|R||L|R0R0

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.