stringtranslate.com

Problema de 3 particiones

El problema de la partición triple es un problema NP-completo en informática . El problema consiste en decidir si un conjunto múltiple de números enteros dado se puede dividir en tripletes que tengan todos la misma suma. Más precisamente:

El problema de la partición triple sigue siendo fuertemente NP-completo bajo la restricción de que cada entero en S está estrictamente entre T /4 y T /2.

Ejemplo

  1. El conjunto se puede dividir en cuatro conjuntos , cada uno de los cuales suma T = 90.
  2. El conjunto se puede dividir en dos conjuntos, cada uno de los cuales suma T = 15.
  3. (cada entero en S está estrictamente entre T /4 y T /2): , por lo tanto m = 2 y T = 15. Existe una partición tripartita factible .
  4. (todo entero en S está estrictamente entre T /4 y T /2): , por lo tanto m = 2 y T = 15. No hay solución factible.

NP-completitud fuerte

El problema de 3-partición sigue siendo NP-completo incluso cuando los números enteros en S están acotados por encima por un polinomio en n . En otras palabras, el problema sigue siendo NP-completo incluso cuando se representan los números en la instancia de entrada en unario. es decir, la 3-partición es NP-completa en el sentido fuerte o fuertemente NP-completa . Esta propiedad, y la 3-partición en general, es útil en muchas reducciones donde los números se representan naturalmente en unario.

3-Partición vs Partición

El problema de 3-partición es similar al problema de partición , en el que el objetivo es particionar S en dos subconjuntos con suma igual, y al particionamiento de números multidireccional , en el que el objetivo es particionar S en k subconjuntos con suma igual, donde k es un parámetro fijo. En 3-Partición el objetivo es particionar S en m = n /3 subconjuntos, no solo un número fijo de subconjuntos, con suma igual. La partición es "más fácil" que la 3-Partición: mientras que la 3-Partición es fuertemente NP-hard , la Partición es solo débilmente NP-hard - es difícil solo cuando los números están codificados en un sistema no unario, y tienen valor exponencial en n . Cuando los valores son polinomiales en n , la Partición se puede resolver en tiempo polinomial usando el algoritmo de partición de números en tiempo pseudopolinomial .

Variantes

En la variante de entrada sin restricciones , las entradas pueden ser números enteros arbitrarios; en la variante de entrada restringida , las entradas deben estar en ( T /4 , T /2 ). La versión restringida es tan difícil como la versión sin restricciones: dada una instancia S u de la variante sin restricciones, construya una nueva instancia de la versión restringida S r ≔ {s + 2  T   | s ∈ S u }. Cada solución de S u corresponde a una solución de S r pero con una suma de 7  T   en lugar de T , y cada elemento de S r está en [2  T  , 3  T  ] que está contenido en ( T  /4, 7  T  /2 ) .

En la variante con entradas distintas , las entradas deben estar en ( T /4 , T /2) y, además, todas deben ser números enteros distintos. También es tan difícil como la versión sin restricciones. [1]

En la variante de salida sin restricciones , los m subconjuntos de salida pueden ser de tamaño arbitrario - no necesariamente 3 (pero aún necesitan tener la misma suma T ). La variante de salida restringida puede reducirse a la variante sin restricciones: dada una instancia S r de la variante restringida, con 3 m elementos que suman mT , construya una nueva instancia de la variante sin restricciones S u ≔ {s + 2 T | s ∈ S r }, con 3m elementos que suman 7mT, y con suma objetivo 7  T  . Cada solución de S r corresponde naturalmente a una solución de S u . A la inversa, en cada solución de S u , dado que la suma objetivo es 7  T   y cada elemento está en ( T  /4, 7  T  /2 ) , debe haber exactamente 3 elementos por conjunto, por lo que corresponde a una solución de S r .

El problema de partición ABC (también llamado emparejamiento numérico tridimensional ) es una variante en la que, en lugar de un conjunto S con 3  m   enteros, hay tres conjuntos A , B , C con m enteros en cada uno. La suma de los números en todos los conjuntos es ⁠ ⁠ . El objetivo es construir m tripletes, cada uno de los cuales contiene un elemento de A, uno de B y uno de C, de modo que la suma de cada triplete sea T . [2]

El problema de 4 particiones es una variante en la que S contiene n = 4  m   enteros, la suma de todos los enteros es ⁠ ⁠ , y el objetivo es particionarlo en m cuatrillizos, todos con una suma de T . Se puede suponer que cada entero está estrictamente entre T /5 y T /3. De manera similar, ABCD-partition es una variante de 4 particiones en la que cada uno de los 4 conjuntos de entrada y cada cuatrillizo debe contener un elemento de cada conjunto.

Pruebas

Garey y Johnson (1975) demostraron originalmente que la partición tridimensional es NP-completa, mediante una reducción del emparejamiento tridimensional . [3] La referencia clásica de Garey y Johnson (1979) describe una prueba de NP-completitud, reduciendo del emparejamiento tridimensional a la partición cuádruple y luego a la partición tridimensional. [4] Lógicamente, la reducción se puede dividir en varios pasos.

Reducción de la correspondencia 3D a la partición ABCD

Se nos da una instancia de E de correspondencia 3d, que contiene algunos m tripletes {w i ,x j ,y k }, donde los vértices son w 1 ,...,w q y x 1 ,...,x q e y 1 ,...,y q . Construimos una instancia de partición ABCD con 4* m elementos, de la siguiente manera (donde r := 32q):

Dado un emparejamiento perfecto en E , construimos una partición de 4 de ABCD de la siguiente manera:

En ambos casos la suma de los 4 conjuntos es 40r 4 según sea necesario.

Dada una partición de ABCD, la suma de cada conjunto de 4 es 40r 4 . Por lo tanto, los términos con r, r 2 y r 3 deben cancelarse, y los términos con r 4 deben sumar 40r 4 ; por lo tanto, el conjunto de 4 debe contener un triplete y 3 elementos "reales" coincidentes, o un triplete y 3 elementos "ficticios" coincidentes. A partir de los tripletes con los 3 elementos "reales" coincidentes, construimos un emparejamiento perfecto válido en E.

Tenga en cuenta que, en la reducción anterior, el tamaño de cada elemento es polinomial en el tamaño de entrada; por lo tanto, esta reducción muestra que la partición ABCD es fuertemente NP-dura.

Reducción de partición ABCD a partición 4

Dada una instancia de partición ABCD con m elementos por conjunto, umbral T y suma mT , construimos una instancia de partición 4 con 4 m elementos:

En total, la suma es 16mT+15m, y el nuevo umbral es 16T+15.

Toda partición ABCD corresponde naturalmente a una partición 4. A la inversa, en toda partición 4, la suma módulo 16 es 15 y, por lo tanto, debe contener exactamente un elemento con un tamaño módulo 16 = 1, 2, 4, 8; esto corresponde exactamente a un elemento de A, B, C, D, a partir del cual podemos construir una partición ABCD.

Utilizando una reducción similar, la partición ABC se puede reducir a una partición de 3.

Reducción de 4 particiones a 3 particiones

Se nos da una instancia A de 4-partición: 4 m enteros, a 1 ,...,a 4m , cada uno de los cuales en el rango (T/3,T/5), que suman mT . Construimos una instancia B de 3-partición de la siguiente manera:

Dada una partición 4-de A , construimos una partición 3-de B de la siguiente manera:

Por el contrario, dada una partición tridimensional de B, la suma de cada conjunto tridimensional es un múltiplo de 4, por lo que debe contener dos elementos regulares y un elemento de emparejamiento, o dos elementos de emparejamiento y un elemento de relleno:

Aplicaciones

La dureza NP de la partición 3 se utilizó para probar el empaquetamiento de rectángulos de dureza NP , así como de Tetris [5] [6] y algunos otros rompecabezas, [7] y algunos problemas de programación de trabajos . [8]

Referencias

  1. ^ Hulett, Heather; Will, Todd G.; Woeginger, Gerhard J. (1 de septiembre de 2008). "Realizaciones multigráficas de secuencias de grados: la maximización es fácil, la minimización es difícil". Operations Research Letters . 36 (5): 594–596. doi :10.1016/j.orl.2008.05.004. ISSN  0167-6377.
  2. ^ Demaine, Erik (2015). "MIT OpenCourseWare - Hardness made Easy 2 - 3-Partition I". Youtube . Archivado desde el original el 14 de diciembre de 2021.
  3. ^ Garey, Michael R. y David S. Johnson (1975). "Resultados de complejidad para la programación de multiprocesadores bajo restricciones de recursos". Revista SIAM de Computación . 4 (4): 397–411. doi :10.1137/0204035.
  4. ^ Garey, Michael R. y David S. Johnson (1979), Computadoras e intratabilidad: una guía para la teoría de la NP-completitud . ISBN 0-7167-1045-5 . Páginas 96–105 y 224. 
  5. ^ "El Tetris es difícil, incluso de aproximarse". Nature . 2002-10-28. doi :10.1038/news021021-9. ISSN  0028-0836.
  6. ^ BREUKELAAR, RON; DEMAINE, ERIK D.; HOHENBERGER, SUSAN; HOOGEBOOM, HENDRIK JAN; KOSTERS, WALTER A.; LIBEN-NOWELL, DAVID (1 de abril de 2004). "El Tetris es difícil, incluso aproximado". Revista internacional de aplicaciones y geometría computacional . 14 (1n02): 41–68. arXiv : cs/0210020 . doi :10.1142/s0218195904001354. ISSN  0218-1959. S2CID  1177.
  7. ^ Demaine, Erik D.; Demaine, Martin L. (1 de junio de 2007). "Rompecabezas, emparejamiento de aristas y empaquetamiento de poliominós: conexiones y complejidad". Graphs and Combinatorics . 23 (S1): 195–208. doi :10.1007/s00373-007-0713-4. ISSN  0911-0119. S2CID  17190810.
  8. ^ Bernstein, D.; Rodeh, M.; Gertner, I. (1989). "Sobre la complejidad de los problemas de planificación para máquinas paralelas/en cadena". IEEE Transactions on Computers . 38 (9): 1308–1313. doi :10.1109/12.29469. ISSN  0018-9340.