En el OrderedPartitionproblema, la entrada es dos secuencias de enteros positivos, y . El resultado es una partición de los índices en dos subconjuntos disjuntos, y , de modo que:
- Para todo y para todo : .
 
En otras palabras, primero tenemos que ordenar los índices en una línea para que aumente débilmente, y luego cortar la línea para que la suma de en ambos lados sea la misma.
Si todos son iguales, entonces la condición 2 es irrelevante y tenemos una instancia del problema NP-hard . Por otro lado, si todos los son diferentes, entonces la condición 2 impone un orden único en los índices, por lo que solo hay opciones para verificar y el problema se vuelve polinómico. ¿Qué sucede entre estos casos?Partition
Para formalizar la pregunta, defina por OrderedPartition[n,d], para , el problema restringido a instancias de tamaño , en el que el subconjunto más grande de -s idénticas es de tamaño . Entonces, el caso fácil, cuando todos los -s son diferentes, es , y el caso difícil, cuando todos los b i -s son idénticos, es .OrderedPartition[n,1]OrderedPartition[n,n]
Más en general, para cualquier  y  , en cualquier OrderedPartition[n,d]caso, el número de posibles particiones condición 2 respetando es  . Por lo tanto, si  , entonces OrderedPartition[n,d]todavía es polinomial en  .
Por otra parte, para cualquier  y  , podemos reducir de un Partitionproblema  enteros a OrderedPartition[n,d]. Sea  una instancia de Partition. Definir una instancia de OrderedPartition[n,d]por:
- Para cada , deje y .
 - Para cada  , deje  y 
[si es impar, haga modo que la suma sea par] . 
Por lo tanto, si  , para cualquier número entero  , entonces OrderedPartition[n,d]es NP-hard.
PREGUNTA: ¿Qué sucede en los casos intermedios, en los que es superlogarítmico pero subpolinomial en ?
fuente
