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)=0u∈Lw∈{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 fu∈Lw∈{e,f}abp(a,w)=p(b,w)w∈Raba 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:E′→R+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)G′G′=(L,R,E′=L×R)p:E′→R+G′Gk
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 vLRv∈L∪R v ℓ ∈ L ℓ ' ∈ L p ( ℓ , r ) = p ( ℓ ' , r ) para todos r ∈ R . ℓ ℓ ′ π ( ℓ , r ) p ( ℓ , r ) = p ( ℓ ′ , r )v′vℓ∈Lℓ′∈L
p(ℓ,r)=p(ℓ′,r) for all r∈R.
ℓℓ′π(ℓ,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,r′Rπ ( ℓ , 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
Añadir un par de vértices asociadas a . Rr({i,j}),r′({i,j})R
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})
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 ′ )ℓ∈Lr∈Rℓ,ℓ′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 0L0L′0LR0R′0Rπ(L0,R0)=π(L0,R′0)=1L0 R0R ′ 0 r∈Rπ(L0,r)L0L ′ 0 R0R ′L′0R0R′0r∈Rπ(L0,r)L0L′0R0R′0{ i , j } ∈ E π ( ℓ ( i , j ) , R 0 ) = i π ( ℓ ( i , j ) , R ′ 0 ) = | V | - i + 1i∈V, para cada borde incidente , establezca y .{i,j}∈Eπ(ℓ(i,j),R0)=iπ(ℓ(i,j),R′0)=|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
(∀r∈R) π(ℓ(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 LR0R′0i=i′πi=i′L0L′0R0R′0i∈V
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. GIkG′I
Partido y a y .L0L′0R0R′0
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 } , {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 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|−ki∈V∖I{i,j}iℓ(i,j)ℓ′(i,j)rr′N(i)0
Por lo tanto, esta coincidencia es justa.
A continuación, supongamos que tiene un juego justo .G′M
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 ). DejarL0L′0R0R′0i∈VN(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|R0R′0