Un problema de partición con restricciones de orden


8

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:n(ai)i[n](bi)i[n][n]IJ

  1. iIai=jJai
  2. Para todo y para todo : .iIjJbibj

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.biai

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?biPartitionbin1

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 .1dnnbidbiOrderedPartition[n,1]biOrderedPartition[n,n]

Más en general, para cualquier n y d , en cualquier OrderedPartition[n,d]caso, el número de posibles particiones condición 2 respetando es O(n2d) . Por lo tanto, si dO(logn) , entonces OrderedPartition[n,d]todavía es polinomial en n .

Por otra parte, para cualquier n y d , podemos reducir de un Partitionproblema d enteros a OrderedPartition[n,d]. Sea p1,,pd una instancia de Partition. Definir una instancia de OrderedPartition[n,d]por:

  • Para cada i{1,,d} , deje ai:=2npi y bi:=1 .
  • Para cada i{d+1,,n} , deje ai:=1 y bi:=i
    [si nd es impar, haga an:=2 modo que la suma sea par] .

Por lo tanto, si dΩ(n1/k) , para cualquier número entero k1 , entonces OrderedPartition[n,d]es NP-hard.

PREGUNTA: ¿Qué sucede en los casos intermedios, en los que d es superlogarítmico pero subpolinomial en n ?

Respuestas:


5

Intuitivamente, los casos intermedios no deben ser ni en P ni NP-hard. Quizás depende exactamente de lo que entendemos por "caso intermedio". Aquí hay una interpretación para la cual podemos probar algo.

Nota: La hipótesis del tiempo exponencial , o ETH, es que no es el caso de que, para cada constante ϵ>0 , SAT tenga un algoritmo que se ejecuta en el tiempo 2nϵ . Vea también esta discusión sobre cs.stackexchange. Hasta donde sabemos, ETH es cierto.

Defina OP c como la restricción del problema OrderedPartition a instancias donde d log c n . De manera equivalente, a instancias donde n 2 d 1 / c . Aquí pretendemos que OP c capture lo que la publicación quiere decir con "instancias intermedias". Mostramos que no es probable que estas instancias estén en P ni en NP-hard.cdlogcnn2d1/cc

Lema 1. Si OP c está en P para todo c , entonces ETH falla.cc

Prueba. Suponga que OP c está en P para todos los c . Es decir, para alguna función f , OP c tiene un algoritmo que se ejecuta en el tiempo n f ( c ) . Las entradas SAT de tamaño n se reducen (a través de la Partición como se describe en la publicación) a OrderedPartition [ 2 n b / c , n b ] , para alguna constante b y cualquier constante c > 0 . Entonces, las entradas SAT de tamaño n se reducen a OP c instancias de tamaño 2 nccfcnf(c)n[2nb/c,nb]bc>0nc2nb/c , que puede resolverse en el tiempo2f(c)nb/c mediante el algoritmo para OPc. Para cualquierϵ>0, tomando, por ejemplo,c=2b/ϵ, SAT puede resolverse en el tiempo2 c n ϵ / 22 n ϵ (parangrande), violando ETH. cϵ>0c=2b/ϵ2cnϵ/22nϵn    

Nota: Me parece probable que incluso OP 2 no esté en P, pero mostrar algo así sería similar a mostrar, por ejemplo, que SAT no tiene ningún algoritmo ejecutándose en el tiempo 2 22n .

Lema 2. Si OP c es NP-hard para alguna c , entonces ETH falla.cc

Prueba. Supongamos que OP c es NP-hard para algunos c . Luego, las entradas SAT de tamaño n se reducen a OP c en el tiempo O ( n b ) para algunos b . Es decir, a instancias de OrdereredPartition [ n b , d ] donde d log c ( n b ) . Como se observó en la publicación, tales instancias pueden resolverse en el tiempo n O ( 1 ) 2 d = n O ( 1ccncO(nb)b[nb,d]dlogc(nb)nO(1)2d=nO(1)2logc(nb) , (¡fuertemente!) Violando ETH.     

Probablemente se pueda mostrar algo más limpio o más fuerte. Si tuviera que adivinar, definiría NP d ( n ) como la clase de complejidad compuesta por aquellos lenguajes que tienen un algoritmo de tiempo polivinílico no determinista que, en cualquier entrada de tamaño n , utiliza como máximo d ( n ) conjeturas no deterministas. (Aquí d podría ser cualquier función). Entonces OrderedPartition [ n , d ( n ) ] está en NP d ( n )d(n)nd(n)d[n,d(n)]d(n). ¿Quizás está completo para esa clase bajo reducciones de poli-tiempo? Una suposición natural para un problema que debería estar completo para la clase sería: dado un circuito de tamaño n con d puertas de entrada, ¿hay alguna entrada que haga que la salida del circuito sea Verdadera? O algo así. (Me pregunto cómo se compara esto con, digamos, definir SAT p ( n ) para que consista en instancias SAT, rellenadas con p ( n ) bits inútiles para agrandar la entrada. Cuando p ( n ) es superpolinomial pero sub-exponencial, el problema no debe ser NP-hard ni en P.)p(n)p(n)p(n)

ps Véase también Consecuencias de pruebas / algoritmos sub-exponenciales para SAT .


Muy interesante, gracias!
Erel Segal-Halevi
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.