Otra variante de PARTICION


13

Tengo una reducción del siguiente problema de partición a un cierto problema de programación:

Entrada: Una lista de enteros positivos en orden no decreciente.a1an

Pregunta: ¿Existe un vector (x1,,xn){1,1}n tal que

i=1naixi=0and
i=1kaixi0for all k{1,,n}

Sin la segunda condición, es solo PARTICIÓN, por lo tanto, NP-hard. Pero la segunda condición parece proporcionar mucha información adicional. Me pregunto si hay una manera eficiente de decidir esta variante. ¿O sigue siendo difícil?

Respuestas:


15

Aquí hay una reducción de PARTICIÓN a este problema. Deje (a1,,an) ser una instancia de PARTITION. Suponga que un1un2unnorte .

Sea un "número muy grande", por ejemplo, . Considere la instancia de nuestro problema.N = ( n i = 1 | a i | ) + 1 N , , N 5 n  veces , N + a 1 , , N + a n , 4 N , , 4 N n  vecesnortenorte=(yo=1norteEl |unyoEl |)+1

norte,...,norte5 5norte veces,norte+un1,...,norte+unnorte,4 4norte,...,4 4nortenorte veces
  1. Si hay una solución para PARTITION, entonces es una solución a nuestro problema.1 , , 1 4 n  veces , - x 1 , , - x n , x 1 , , x n , - 1 , , - 1 n  vecesX1,...,Xnorte

    1,...,14 4norte veces,-X1,...,-Xnorte,X1,...,Xnorte,-1,...,-1norte veces
  2. Si hay una solución a la instancia de nuestro problema (al que redujimos una instancia de PARTITION), entonces . Por lo tanto, Es decir, es una solución para PARTICIÓN.(X1,...,X5 5norte,y1,...,ynorte,z1,...,znorte)yo=1norteunyoyyo0 0(modificaciónnorte)

    yo=1norteunyoyyo=0.
    (y1,...,ynorte)

Gracias Yury En mi aplicación, es esencial que la lista de entrada se ordene de manera no decreciente, y la entrada en su reducción no lo es. Modificaré la pregunta para que el requisito del pedido sea más explícito. (norte,un1,...,unnorte,norte)
Thomas Kalinowski

@ thomas: no me di cuenta de eso. Ahora actualicé mi solución.
Yury
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.