stringtranslate.com

Complejidad parametrizada

En informática , la complejidad parametrizada es una rama de la teoría de la complejidad computacional que se centra en clasificar problemas computacionales según su dificultad inherente con respecto a múltiples parámetros de entrada o salida. Luego, la complejidad de un problema se mide en función de esos parámetros. Esto permite la clasificación de problemas NP-difíciles en una escala más fina que en el entorno clásico, donde la complejidad de un problema sólo se mide en función del número de bits en la entrada. Esto parece haber sido demostrado por primera vez en Gurevich, Stockmeyer y Vishkin (1984). El primer trabajo sistemático sobre complejidad parametrizada fue realizado por Downey & Fellows (1999).

Bajo el supuesto de que P ≠ NP , existen muchos problemas naturales que requieren un tiempo de ejecución superpolinomial cuando la complejidad se mide únicamente en términos del tamaño de entrada, pero que son computables en un tiempo que es polinómico en el tamaño de entrada y exponencial o peor en un parámetro. k . Por lo tanto, si k se fija en un valor pequeño y el crecimiento de la función sobre k es relativamente pequeño, entonces tales problemas aún pueden considerarse "tratables" a pesar de su clasificación tradicional como "intratables".

La existencia de algoritmos de resolución eficientes, exactos y deterministas para problemas NP-completos o NP-difíciles se considera poco probable si los parámetros de entrada no son fijos; Todos los algoritmos de resolución conocidos para estos problemas requieren un tiempo exponencial ( en particular superpolinomio) en el tamaño total de la entrada. Sin embargo, algunos problemas pueden resolverse mediante algoritmos que son exponenciales sólo en el tamaño de un parámetro fijo, mientras que polinomiales en el tamaño de la entrada. Este tipo de algoritmo se denomina algoritmo tratable de parámetros fijos (FPT), porque el problema se puede resolver eficientemente (es decir, en tiempo polinómico) para valores constantes del parámetro fijo.

Los problemas en los que algún parámetro k es fijo se denominan problemas parametrizados. Se dice que un problema parametrizado que permite tal algoritmo FPT es un problema tratable de parámetros fijos y pertenece a la clase FPT , y el nombre inicial de la teoría de la complejidad parametrizada fue tratabilidad de parámetros fijos .

Muchos problemas tienen la siguiente forma: dado un objeto x y un entero no negativo k , ¿ tiene x alguna propiedad que dependa de k ? Por ejemplo, para el problema de cobertura de vértices , el parámetro puede ser el número de vértices en la cobertura. En muchas aplicaciones, por ejemplo al modelar la corrección de errores, se puede suponer que el parámetro es "pequeño" en comparación con el tamaño total de entrada. Entonces es un desafío encontrar un algoritmo que sea exponencial solo en k y no en el tamaño de entrada.

De esta manera, la complejidad parametrizada puede verse como una teoría de la complejidad bidimensional . Este concepto se formaliza de la siguiente manera:

Un problema parametrizado es un lenguaje , donde hay un alfabeto finito. El segundo componente se llama parámetro del problema.
Un problema parametrizado L es manejable con parámetros fijos si la pregunta " ?" se puede decidir en tiempo de ejecución , donde f es una función arbitraria que depende sólo de k . La clase de complejidad correspondiente se llama FPT .

Por ejemplo, existe un algoritmo que resuelve el problema de la cobertura de vértices en el tiempo, [1] donde n es el número de vértices y k es el tamaño de la cobertura de vértices. Esto significa que la cobertura de vértices es manejable con parámetros fijos con el tamaño de la solución como parámetro.

Clases de complejidad

FTP

FPT contiene los problemas manejables de parámetros fijos , que son aquellos que pueden resolverse a tiempo para alguna función computable f . Normalmente, esta función se considera exponencial única, como , pero la definición admite funciones que crecen aún más rápido. Esto es esencial para gran parte de la historia temprana de esta clase. La parte crucial de la definición es excluir funciones de la forma , como .

La clase FPL (parámetro fijo lineal) es la clase de problemas solucionables en el tiempo para alguna función computable f . [2] FPL es, por tanto, una subclase de FPT. Un ejemplo es el problema booleano de satisfacibilidad , parametrizado por el número de variables. Una fórmula dada de tamaño m con k variables puede comprobarse mediante fuerza bruta en el tiempo . Una cobertura de vértice de tamaño k en un gráfico de orden n se puede encontrar en el tiempo , por lo que el problema de cobertura de vértice también está en FPL.

Un ejemplo de un problema que se cree que no está en FPT es la coloración del gráfico parametrizada por el número de colores. Se sabe que la coloración 3 es NP-duro , y un algoritmo para la coloración k del gráfico en el tiempo se ejecutaría en tiempo polinomial en el tamaño de la entrada. Por lo tanto, si la coloración del gráfico parametrizada por el número de colores estuviera en FPT, entonces P = NP .

Hay varias definiciones alternativas de FPT. Por ejemplo, el requisito de tiempo de ejecución se puede reemplazar por . Además, en FPT existe un problema de parametrización si éste tiene el llamado núcleo. La kernelización es una técnica de preprocesamiento que reduce la instancia original a su "núcleo duro", una instancia posiblemente mucho más pequeña que es equivalente a la instancia original pero tiene un tamaño limitado por una función en el parámetro.

FPT está cerrado bajo una noción parametrizada de reducciones llamadas fpt-reductions . Tales reducciones transforman una instancia de algún problema en una instancia equivalente de otro problema (con ) y se pueden calcular en el tiempo donde es un polinomio.

Obviamente, FPT contiene todos los problemas computables en tiempo polinomial. Además, contiene todos los problemas de optimización en NP que permiten un esquema eficiente de aproximación en tiempo polinomial (EPTAS) .

Jerarquía W

La jerarquía W es una colección de clases de complejidad computacional. Un problema parametrizado es de la clase W [ i ], si cada instancia se puede transformar (en tiempo fpt) en un circuito combinatorio que tenga como máximo una trama i , de modo que si y solo si hay una asignación satisfactoria a las entradas que asigna 1 a exactamente k entradas. La trama es el mayor número de unidades lógicas con entrada en abanico mayor que dos en cualquier ruta desde una entrada hasta la salida. El número total de unidades lógicas en las rutas (conocido como profundidad) debe estar limitado por una constante que se mantenga para todas las instancias del problema.

Tenga en cuenta eso y para todos . Las clases en la jerarquía W también están cerradas bajo reducción fpt.

Un problema completo para W [ i ] es la i ponderada - Satisfabilidad normalizada : [3] dada una fórmula booleana escrita como un AND de OR de AND de ... de variables posiblemente negadas, con capas de AND u OR (y i alternancias entre Y y O), ¿se puede satisfacer estableciendo exactamente k variables en 1?

Muchos problemas computacionales naturales ocupan los niveles inferiores, W [1] y W [2].

W [1]

Ejemplos de problemas W [1] completos incluyen

W [2]

Ejemplos de problemas completos W [2] incluyen

W [ t ]

se puede definir usando la familia de problemas SAT de trama ponderada- t -profundidad- d para : es la clase de problemas parametrizados que fpt-reduce a este problema, y ​​.

Aquí, Trama ponderada- t -Profundidad- d SAT es el siguiente problema:

Se puede demostrar que para el problema Ponderado t -Normalizar SAT está completo para reducciones inferiores a fpt. [4] Aquí, Ponderado t -Normalizar SAT es el siguiente problema:

W [ P ]

W [ P ] es la clase de problemas que pueden resolverse mediante una máquina de Turing de tiempo no determinista que, como máximo, realiza elecciones no deterministas en el cálculo (una máquina de Turing restringida en k ). Flum y Grohe (2006)

Se sabe que FPT está contenido en W[P] y se cree que la inclusión es estricta. Sin embargo, resolver este problema implicaría una solución al problema P versus NP .

Otras conexiones con la complejidad computacional no parametrizada son que FPT es igual a W [ P ] si y solo si la satisfacibilidad del circuito se puede decidir a tiempo , o si y solo si existe una función computable, no decreciente e ilimitada f tal que todos los lenguajes reconocidos por un polinomio no determinista La máquina de Turing en el tiempo que utiliza opciones no deterministas está en  P .

W [ P ] puede considerarse en términos generales como la clase de problemas en los que tenemos un conjunto S de n elementos y queremos encontrar un subconjunto de tamaño k tal que se cumpla una determinada propiedad. Podemos codificar una elección como una lista de k enteros, almacenados en binario. Dado que el máximo que puede ser cualquiera de estos números es n , se necesitan bits para cada número. Por lo tanto , se necesita un total de bits para codificar una elección. Por tanto, podemos seleccionar un subconjunto con opciones no deterministas.

experiencia

XP es la clase de problemas parametrizados que pueden resolverse a tiempo para alguna función computable f . Estos problemas se denominan polinomios por cortes, en el sentido de que cada "porción" de k fija tiene un algoritmo polinómico, aunque posiblemente con un exponente diferente para cada k. Compare esto con FPT, que simplemente permite un prefactor constante diferente para cada valor de k. XP contiene FPT y se sabe que esta contención es estricta por diagonalización.

para-NP

para-NP es la clase de problemas parametrizados que pueden resolverse mediante un algoritmo no determinista en el tiempo para alguna función computable f . Se sabe que si y sólo si . [5]

Un problema es para-NP-difícil si ya lo es para un valor constante del parámetro. Es decir, hay una "porción" de k fija que es dura. Un problema parametrizado que sea difícil no puede pertenecer a la clase , a menos que . Un ejemplo clásico de un problema con parámetros difíciles es la coloración de gráficos , parametrizada por el número k de colores, que ya es difícil (consulte Coloración de gráficos#Complejidad computacional ).

Una jerarquía

La jerarquía A es una colección de clases de complejidad computacional similar a la jerarquía W. Sin embargo, mientras que la jerarquía W es una jerarquía contenida en NP, la jerarquía A imita más de cerca la jerarquía de tiempo polinomial de la complejidad clásica. Se sabe que A[1] = W[1] se cumple.

Ver también

Notas

  1. ^ Chen, Kanj y Xia 2006
  2. ^ Grohe (1999)
  3. ^ Downey, Rod G.; Becarios, Michael R. (agosto de 1995). "Tratabilidad e integridad de parámetros fijos I: resultados básicos". Revista SIAM de Computación . 24 (4): 873–921. doi :10.1137/S0097539792228228. ISSN  0097-5397.
  4. ^ Autobús, Jonathan F; Islam, Tarique (2006). "Simplificando la jerarquía de la trama". Informática Teórica . 351 (3): 303–313. doi : 10.1016/j.tcs.2005.10.002 .
  5. ^ Flum y Grohe (2006), pág. 39.

Referencias

enlaces externos