Funciones interesantes en gráficos que se pueden maximizar de manera eficiente.

10

Digamos que tengo un gráfico ponderado tal que es la función de ponderación; tenga en cuenta que se permiten pesos negativos.w : E [ - 1 , 1 ]G=(V,E,w)w:E[1,1]

Supongamos que define una propiedad de cualquier subconjunto de los vértices . S Vf:2VRSV

Pregunta: ¿Cuáles son algunos ejemplos interesantes de s para los cuales el problema de maximización: se puede realizar en tiempo polinómico?fargmaxSVf(S)

Por ejemplo, la función de corte de gráfico

f(S)=(u,v)E:uS,vSw((u,v))
es una propiedad interesante de los subconjuntos de vértices, pero no se puede maximizar de manera eficiente. La función de densidad de borde es otro ejemplo de una propiedad interesante que, por desgracia, no se puede maximizar de manera eficiente. Estoy buscando funciones que sean igualmente interesantes, pero que se puedan maximizar de manera eficiente.

Dejaré que la definición de "interesante" sea algo vaga, pero quiero que el problema de maximización no sea trivial. Por ejemplo, no debería ser que puede determinar la respuesta sin examinar los bordes del gráfico (por lo que las funciones constantes y la función de cardinalidad no son interesantes). Tampoco debería ser el caso de que f solo está codificando alguna otra función con un dominio de tamaño polinómico al rellenarlo en el dominio 2V (es decir, no quiero que haya un pequeño dominio X y alguna función m:2SX conocido antes de mirar el gráfico, de modo que la función de interés es realmente g:XR , y f(S)=g(m(S)) Si este es el caso, entonces el problema de "maximización" es realmente una cuestión de evaluar la función en todas las entradas).

Editar: es cierto que a veces los problemas de minimización son fáciles si ignora los pesos de los bordes (aunque no minimiza la función de corte, ya que permito los pesos de los bordes negativos). Pero estoy explícitamente interesado en los problemas de maximización. Sin embargo, no se convierte en un problema en los problemas naturales ponderados en este entorno.

Aaron Roth
fuente
¿Tienes un ejemplo de tal función?
Yaroslav Bulatov
No, de ahí la pregunta. :-)
Aaron Roth
Ah ok Mi impresión de que una función que se puede maximizar de manera eficiente para todos los gráficos debe ser poco interesante. Pero puede haber funciones interesantes que se pueden maximizar de manera eficiente para conjuntos de gráficos restringidos. Por ejemplo, para los gráficos planos, algunas funciones interesantes se pueden maximizar de manera eficiente, mientras que otras funciones interesantes aún no tienen un algoritmo eficiente
Yaroslav Bulatov
Me encantaría ver respuestas sobre resultados para clases restringidas de gráficos si no podemos pensar en funciones interesantes que se puedan maximizar en todos los gráficos.
Aaron Roth
¿No debería ser esto CW? Podemos generar arbitrariamente muchos ejemplos, y si esos son "interesantes" es subjetivo.
Jukka Suomela

Respuestas:

5

Siempre que cuente el número de aristas satisfacen algún predicado booleano definido en términos de y , entonces lo que escribió es solo un 2-CSP booleano. La función objetivo pide maximizar el número de cláusulas satisfechas sobre todas las asignaciones a las variables. Se sabe que esto es NP-duro y también se conoce el umbral exacto de dureza suponiendo UGC (ver Raghavendra'08).( u , v ) u S v Sf(S)(tu,v)tuSvS

Hay muchos ejemplos positivos naturales cuando desea maximizar sobre subconjuntos de bordes, por ejemplo, la coincidencia máxima es un ejemplo de un problema de tiempo polinómico en este caso.

Moritz
fuente
Esta es una observación agradable que descarta muchos problemas naturales de este tipo.
Aaron Roth
2

Partición domática / débil de 2 colores.

(En este caso, si cada tiene un vecino en y viceversa. De lo contrario, Siempre existe una solución con si hay no hay nodos aislados, y se puede encontrar fácilmente en tiempo polinómico).v S V S f ( S ) = 0 f ( S ) = 1F(S)=1vSVSF(S)=0 0F(S)=1

Jukka Suomela
fuente
1

Corte mínimo (específicamente, corte de vértice).

(En este caso, sería algo así: 0 si eliminar los nodos del conjunto no divide a en al menos dos componentes, y contrario. Maximizar es equivalente a encontrar un corte mínimo , que se puede hacer en tiempo polinómico).S G | V | - | S | FFSsolEl |VEl |-El |SEl |F

También puede definir una función similar que corresponda a cortes de borde mínimos.

(Por ejemplo, es 0 si o ; de lo contrario, es , donde es el conjunto de bordes que tienen un punto final en y el otro punto final en )S = S = V | E | - | X | X S V SF(S)S=S=VEl |miEl |-El |XEl |XSVS

Jukka Suomela
fuente
Ok, pero este es un problema de minimización disfrazado, que tiende a ser más fácil cuando ignoras los pesos de los bordes. (Tenga en cuenta que si tiene en cuenta los pesos de borde, ya que especifico que podemos tener pesos negativos, entonces el corte mínimo también es un problema difícil). Intentaré editar la pregunta para enfatizar este punto.
Aaron Roth
1

Máximo conjunto independiente.

F(S)SSVSSSF(S)=El |VEl |

Jukka Suomela
fuente
¿Cómo se encuentra el conjunto independiente máximo en el tiempo polinómico?
Yaroslav Bulatov
1
@Yaroslav: con avidez.
Jukka Suomela
@Yaroslav: Sugerencia: la diferencia entre máximo y máximo es enorme. ;-)
Ross Snider