¿Es este problema de viaje óptimo bajo plazos NP-hard en árboles?


13

Uno de mis amigos me pregunta el siguiente problema de programación en el árbol. Me parece muy limpio e interesante. ¿Hay alguna referencia para ello?

Problema: hay un árbol , cada borde tiene un costo de viaje simétrico de 1 . Para cada vértice , hay una tarea que debe realizarse antes de su fecha límite . La tarea también se denota como . Cada tarea tiene el valor uniforme 1. El tiempo de procesamiento es 0 para cada tarea , es decir, visitar una tarea antes de que su fecha límite sea igual a terminarla. Sin pérdida de generalidad, deje que denote la raíz y suponiendo que no hay ninguna tarea ubicada en . Hay un vehículo en en el momento 0. Además, suponemos que para cada vértice ,T(V,E)d i v ividiviv 0 v 0 d id e p i d e p iv0v0v0didepidepirepresenta la profundidad de . Esto es evidente, el vértice con una fecha límite inferior a su profundidad debe considerarse como atípico. El problema pide encontrar una programación que finalice tantas tareas como sea posible.vi

Progreso:

  1. Si el árbol está restringido a una ruta, entonces está en mediante programación dinámica.P
  2. Si el árbol se generaliza a un gráfico, entonces está en -completo.NPAG
  3. Tengo un algoritmo codicioso muy simple que se cree una aproximación de 3 factores. No lo he probado por completo. Ahora mismo, estoy más interesado en los resultados NP-hard. :-)

Gracias por su consejo.


En un gráfico completo, la tarea sería fácil, ¿verdad? Solo use un algoritmo codicioso simple ...
Joe

@ Joe: Sí. Debido a que cada borde necesita 1 unidad de desplazamiento, no hay preferencia entre "encrucijadas". ¿Sigue interesado en este problema? Si es así. Tal vez podamos hablar por correo electrónico. :-)
Peng Zhang

¿Qué sucede si todos los plazos son iguales y / o solo preguntamos si todas las tareas pueden completarse?
domotorp

@domotorp: si solicita finalizar todas las tareas con una fecha límite, la respuesta es SÍ si y solo si la fecha límite uniforme . Solo profundidad primera búsqueda. En cuanto al problema óptimo en el caso d < | V | , No sé si es fácil. Hay muchas variantes sobre este problema, como considerar qué sucede si los plazos toman valores de un conjunto finito cuya cardinalidad es una constante. Muchas gracias por tu comentario. d|V|d<|VEl |
Peng Zhang

Yo diría que NP-hard vería el zoológico programado , excepto si entendiera mal su problema.
Gopi

Respuestas:


1

No estoy seguro de que esta sea su respuesta (ver más abajo), pero es demasiado larga para los comentarios.

Pensé que su problema era algo como: (P|tree;pi=1|ΣTi) , donde:

  • significa procesadores homogéneos idénticos,P
  • "árbol" significa restricción de precedencia en la forma de un árbol,
  • representa el peso de las tareas es igual a 1, ypi=1
  • significa minimizar la suma de los retardos (es decir, el número de tareas que terminar después de su fecha límite).ΣTi

Si este es el caso, entonces su problema es NP-hard: puede verlo como una generalización de Minimizar la tardanza total en una sola máquina con restricciones de precedencia . De hecho, este documento afirma que para múltiples cadenas lineales, es NP-hard en un solo procesador. La transformación fácil es tomar los árboles de la forma una raíz, y las cadenas lineales a partir de la raíz.

Sin embargo, estoy sorprendido porque parece decir que para el caso de una sola cadena lineal, usaría la Programación dinámica. No veo por qué necesitaría DP, ya que me parece que al programar una sola cadena lineal no tiene muchas opciones debido a las restricciones de precedencia: solo una sola opción. Entonces tal vez entendí mal tu problema.


Mi problema parece diferente al tuyo. El mío es, "un árbol enraizado, el tiempo de unidad de costo de borde de viaje, cada vértice con una tarea con su fecha límite, la tarea no necesita tiempo para precesar. Comenzando desde la raíz, ¿cuántas tareas se pueden terminar?". Por lo tanto, no hay precedencia, no se necesita tiempo para procesar una tarea. Muchas gracias.
Peng Zhang

@PengZhang, si es un árbol enraizado, ¿hay prioridad? En cuanto al costo en los bordes (¿precedencia?) O en las tareas, me parece lo mismo. Realmente no veo la diferencia entre ambos. Finalmente, cuántas tareas pueden completarse, si minimiza la cantidad de tareas que finalizan después de su fecha límite, es equivalente a maximizar la cantidad de tareas que pueden completarse. ¿Tal vez podrías hacer un dibujo de lo que estás esperando?
Gopi

No veo la relación clara entre dos problemas. En el problema original, el costo de visitar un siguiente nodo depende de qué nodo se visitó en el paso anterior. En la programación con restricción de precedencia, el costo del siguiente trabajo a procesar no depende de qué trabajo se procesó en el paso anterior, siempre que se cumpla la restricción de precedencia.
Yoshio Okamoto

1,2,,norteF(t,l,r)[l,r]tlsol(t,l,r)F(t,l,r)rF(t,l,r){F(,l+1,r),sol(,l,r-1)t,l,r
Peng Zhang

@PengZhang, ok, creo que entiendo mejor lo que quieres decir. Todavía creo que uno puede adaptar fácilmente el papel que di, considerando árboles especiales donde las ramas son caminos (por lo tanto, enraizados).
Gopi

1

Para que esto sea cierto, tenemos que hacer algunas suposiciones. Ver comentarios a continuación

tatb

|V|


2
F[un,t,t]un[t,t]un

el punto (1) no es tan problemático como el punto (2). Para que mi idea funcione como la imaginé por primera vez, requiere que no salgas y vuelvas a ingresar a un subárbol varias veces. No es obvio que la mejor solución no salte alrededor del árbol: toma una hoja y algo cerca de la raíz, y camina hacia una hoja, y luego a otra hoja lejos de las otras 2, etc. Es posible que pueda para explotar el hecho de que obtendrá todos los nodos en cualquier camino que recorra sin embargo. En particular, si se visitó a un niño, entonces el padre ya ha sido visitado.
Joe

: En mi opinión, el punto (1) es realmente un problema . Para el punto (2), llamé a la restricción "no volver a ingresar" como restricción "Profundidad de la primera búsqueda". La restricción DFS se adopta comúnmente en la literatura. Y bajo esa restricción, mi problema es de hecho polinomial, siempre que el grado máximo del árbol sea constante . Entonces me pregunto si mi pregunta es NP-hard. Muchas gracias.
Peng Zhang

3
Con respecto a la restricción DFS, es fácil construir un ejemplo donde la secuencia óptima viola esta restricción. Considere un árbol binario completo y equilibrado con 7 nodos. Deje que las 2 hojas en el subárbol izquierdo tengan fechas límite 2 y 12, las 2 hojas en el subárbol derecho tengan fechas límite 8 y 6, y los nodos internos tengan fechas límite 100. Puede visitar todos los nodos visitando las hojas en orden 2,6,8 12; cualquier otra orden viola al menos una fecha límite.
mhum

0

El problema de obtener una aproximación constante para este caso o probarlo NP-Hard todavía está abierto y cualquier resultado sería una buena publicación. Algunos casos especiales han sido resueltos. Yo, junto con otros, tengo algunos resultados parciales que resuelven casos especiales como arañas, árboles de altura constante. Pero, el problema general para los árboles no está resuelto.

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.