Tipo topológico lexicográficamente mínimo de un DAG etiquetado

13

Considere el problema en el que se nos da como entrada un gráfico acíclico dirigido G=(V,E) , una función de etiquetado λ de V a algún conjunto L con un orden total <L (por ejemplo, los enteros), y donde se nos pide calcule el tipo topológico lexicográficamente más pequeño de G en términos de λ . Más precisamente, un tipo topológico de G es una enumeración de V como v=v1,,vn, de modo que para todo ij , siempre que haya una ruta de vi a vj en G , entonces debemos tener i<j . La etiqueta de este tipo topológico es la secuencia de elementos de S obtenidos como . El orden lexicográfico en tales secuencias (que tienen longitud ) se define como si hay alguna posición tal que y para todos| V | l < LEX l i l i < L l i l j = l j j < il=λ(v1),,λ(vn)|V|l<LEXlilyo<Llyolj=ljj<yo . Preste atención al hecho de que cada etiqueta en puede asignarse a múltiples vértices en V (de lo contrario, el problema es trivial).VSV

Este problema puede plantearse en una variante de cálculo ("calcular el tipo topológico lexicográficamente mínimo") o en una variante de decisión ("¿es esta palabra de entrada el tipo topológico mínimo?"). Mi pregunta es, ¿cuál es la complejidad de este problema ? ¿Está en PTIME (o en FP, para la variante de cálculo) o es NP-hard? Si el problema general es NP-hard, también me interesa la versión en la que el conjunto S de posibles etiquetas se fija de antemano (es decir, solo hay un número constante de posibles etiquetas).

Observaciones:

Aquí hay un pequeño ejemplo del mundo real para motivar el problema. Podemos ver que el DAG representa las tareas de un proyecto (con una relación de dependencia entre ellas) y las etiquetas son enteros que representan el número de días que lleva cada tarea. Para finalizar el proyecto, me llevará la misma cantidad de tiempo total, sin importar el orden que elija para las tareas. Sin embargo, me gustaría impresionar a mi jefe, y para hacer esto quiero terminar tantas tareas como sea posible lo más rápido posible (de una manera codiciosa, incluso si eso significa ser muy lento al final porque quedan las tareas más difíciles). Elegir el orden lexicográficamente mínimo optimiza el siguiente criterio: Quiero elegir un orden tal que no haya otro orden y una cantidad de días donde despuéso n n o o n o m < n o ooonortenortedías habría terminado más tareas con el orden que con el ordenoo (es decir, si mi jefe mira el tiempo , daré una mejor impresión con ), pero para todos los no he terminado menos tareas con el orden que con el orden .norteom<noo

Para dar una idea del problema: ya sé por respuestas anteriores que el siguiente problema relacionado es difícil: "¿hay algún tipo topológico que logre la siguiente secuencia"? Sin embargo, el hecho de que quiero una secuencia mínima para este orden lexicográfico parece limitar mucho los posibles órdenes topológicos que pueden lograrlo (en particular, las reducciones en esas otras respuestas ya no parecen funcionar). Intuitivamente, hay muchas menos situaciones en las que tenemos que tomar una decisión.

Tenga en cuenta que parece haber reformulaciones interesantes de los problemas en términos de cobertura de conjunto (al restringir el problema a DAG que son bipartitos, es decir, tienen altura dos): dado un conjunto de conjuntos, enumere en un orden que minimiza lexicográficamente la secuenciaS1,,Sn|S1|,,, ,. El problema también puede reformularse en gráficos no dirigidos (expanda progresivamente un área conectada del gráfico siguiendo el orden que minimiza la secuencia lexicográfica de las etiquetas descubiertas). Sin embargo, debido al hecho de que la secuencia tieneEl |S2S1El ||S3(S1S2)||Sn(S1Sn1)| para ser codicioso en todo momento por definición del orden lexicográfico, no puedo lograr que funcionen las reducciones (por ejemplo, del árbol Steiner).

¡Gracias de antemano por tus ideas!

a3nm
fuente

Respuestas:

12

Con múltiples copias de la misma etiqueta permitidas, el problema es NP-hard, a través de una reducción de camarillas en los gráficos. Dado un gráfico en el que desea encontrar una k -clique, haga un DAG con un vértice de origen para cada vértice de G , un vértice de sumidero para cada borde de G y un borde dirigido x y siempre que x sea ​​un vértice de G que forma un punto final del borde y . Dé a los vértices de G el valor de etiqueta 1 y los bordes de G el valor de etiquetaGkGGxyxGyG1G .0

Entonces, hay una -clique en G si y solo si el primer orden topológico lexicográficamente forma una secuencia de k 1 's y ' s, con 's siguiendo el th . Por ejemplo, una camarilla de seis vértices estaría representada por la secuencia . Esta es la secuencia lexicográfica más pequeña que posiblemente podría comenzar un ordenamiento topológico de un DAG etiquetado dado por esta construcción (reemplazando cualquiera de los porkGk 1(k2) 0i1 0i111010010001000010000010's daría una secuencia con más aristas de las que se podrían encontrar en un gráfico simple con tantos vértices) y solo puede ser el comienzo de un ordenamiento topológico cuando contiene la camarilla deseada.G

David Eppstein
fuente
Oh, no había pensado en camarillas. Esa es una buena reducción, ¡muchas gracias! Esto muestra que el problema de cálculo es NP-hard, incluso con el alfabeto de etiqueta fija ). También implica que el problema de decisión "es la secuencia lexicográficamente más pequeña menor que esta" también es NP-hard (puede usarlo para calcular el mínimo con búsqueda binaria). La única pregunta adicional que veo es si el problema "es esta secuencia de entrada exacta la mínima" también es NP-hard. (Con él, no puede probar fácilmente si la palabra mínima comienza con un prefijo). ¿Tiene alguna idea para esa? {0,1}
a3nm
1
Mi sospecha es que el problema "es posible lograr esta secuencia exacta" es NP-completo, pero no tengo una reducción a la mano. "¿Es esta secuencia exacta la mínima" debería estar en el segundo nivel de la jerarquía polinómica, ya que requiere una combinación de cuantificación existencial (es posible) y cuantificación universal (todas las secuencias son alcanzables al menos igual de grandes).
David Eppstein
De hecho, ya sé que probar si se puede lograr una secuencia exacta es NP-hard (en un alfabeto con 3 etiquetas) por una reducción de 3 particiones unarias por Marzio de Biasi bosquejado aquí: cstheory.stackexchange.com/a/19415 . Pero creo que no indica el estado del problema "es esta la secuencia mínima alcanzable": cuando se pregunta si se puede lograr una secuencia determinada, en general tendrá pocas posibilidades de ser mínima en algún orden lexicográfico. De cualquier manera, lo que muestra tu reducción sigue siendo muy interesante, ¡gracias de nuevo! :)
a3nm
2

De acuerdo con esta referencia (1), el primer problema de orden topológico lexicográfico es NLOG completo.

Es posible que desee analizar más detenidamente el artículo para asegurarse de que cubre los casos que le interesan. En particular, según la versión del informe técnico (pdf) de ese artículo, parece que ' volver a tratar el orden lexicográfico de los vértices como estricto (por ejemplo: en su notación, para u v ), pero no estoy seguro de si esto afecta la aplicabilidad del resultado.λ(u)λ(v)uv

  1. Shoudai, Takayoshi. " El primer problema de orden topológico lexicográfico es NLOG completo " . Cartas de procesamiento de información 33.3 (1989): 121-124.
mhum
fuente
44
NLOG-complete es un subconjunto de tiempo polinomial y (según la oración "Prestar atención" en el primer párrafo del problema) hacer que las etiquetas de los vértices sean distintas hace que el problema sea fácilmente solucionable mediante un algoritmo codicioso de tiempo polinomial. La verdadera pregunta es qué sucede cuando las etiquetas no son distintas.
David Eppstein
Ese es un punto justo. Ahora queda claro a partir de su respuesta que la repetición de etiquetas hace que el problema sea más difícil que el caso de las etiquetas únicas.
mhum