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 ]
Supongamos que define una propiedad de cualquier subconjunto de los vértices . S ⊂ V
Pregunta: ¿Cuáles son algunos ejemplos interesantes de s para los cuales el problema de maximización: se puede realizar en tiempo polinómico?
Por ejemplo, la función de corte de gráfico
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 solo está codificando alguna otra función con un dominio de tamaño polinómico al rellenarlo en el dominio (es decir, no quiero que haya un pequeño dominio y alguna función conocido antes de mirar el gráfico, de modo que la función de interés es realmente , y 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.
fuente
Respuestas:
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) ( u , v ) u ∈ S v ∈ S
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.
fuente
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) = 1 v ∈ S V∖ S F( S) = 0 F( S) = 1
fuente
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 | FF S sol El | VEl | - | 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= V El | miEl | - | XEl | X S V∖ S
fuente
Máximo conjunto independiente.
fuente