¿Nociones más fuertes de uniformizaciones?

16

Una brecha que siempre supe que realmente no entiendo es entre la complejidad computacional no uniforme y uniforme, donde la complejidad del circuito representa la versión no uniforme y las máquinas de Turing es donde las cosas son uniformes. Supongo que "uniforme" es una forma de restringir la clase de algoritmos, por ejemplo, no permitir un circuito completamente diferente para un problema con n variables en comparación con un problema de n + 1 variables.

Mis preguntas son: 1) Hay una descripción de la uniformidad solo en términos de circuitos, y 2) ¿Es posible llegar a una forma de uniformidad aún más fuerte y, por lo tanto, dar una idea aún más restringida de qué algoritmos efectivos (o restringidos) en P son?

Aclaración tardía: mi intención en la pregunta 2 es sobre una clase restringida de algoritmos que "prácticamente" tiene el mismo poder que la clase de algoritmos polinomiales.

Gil Kalai
fuente
¿Puedes dar más detalles sobre el significado de "prácticamente tiene el mismo poder"?
MS Dousti
Quiero decir que todos los algoritmos en P que encontramos prácticamente están en esta clase restringida (hipotética). Por lo tanto, no me refiero a clases que se sabe (o se conjeturan) para omitir un algoritmo de tipo polinomial específico como AC_0 o NC ^ i no es a lo que me refiero.
Gil Kalai
2
Para la pregunta 2, la clase de funciones computables por circuitos uniformes LOGSPACE de tamaño polinómico es P. (Y aún obtendrá P incluso con algunas clases de complejidad más pequeñas que LOGSPACE si define la uniformidad adecuadamente). Por lo tanto, imponer condiciones de uniformidad más estrictas no generalmente reduce el poder de los algoritmos de tiempo polinomial.
Peter Shor

Respuestas:

8

Creo que la respuesta a su primera pregunta es negativa: un circuito tiene un número fijo de entradas y, por lo tanto, en mi opinión, solo podemos hablar de "familias" de circuitos, en lugar de solo un circuito uniforme.

Con respecto a su segunda pregunta, puede observar que hay "familias uniformes de circuitos", cuya descripción es generada por una máquina Turing. Es decir, que sea ​​una familia uniforme de circuitos y que M sea ​​una máquina de Turing. Entonces, para cada n , [ C n ] = M ( 1 n ) , donde [ C n ] denota la descripción de C n .{Cnorte}METROnorte[Cnorte]=METRO(1norte)[Cnorte]Cnorte

Hay varias clases de complejidad debajo de P, definidas por familias uniformes de circuitos. Por ejemplo:

es la clase de problemas de decisión decidibles porcircuitos booleanosuniformescon un número polinómico de compuertas y profundidadO( log i n).norteCyoO(Iniciar sesiónyonorte)

MS Dousti
fuente
7

Además de la respuesta anterior de Sadeq, a medida que uno mira las clases de circuito contenidas en P, también podría querer ver nociones cada vez más restrictivas de uniformidad.

La noción más simple y más conocida es la uniformidad P, que es el requisito de que exista una Máquina Turing (determinista) M que produzca el circuito en el tiempo poli (n) (Suresh habla de esto también). Las versiones más restrictivas de la uniformidad intentan limitar aún más el poder de M. Por ejemplo, también existe la uniformidad del espacio logarítmico, donde ahora se requiere que M se ejecute en el espacio O (log (n)).Cnorte

La noción más restrictiva que conozco es DLOGTIME-uniformity, que se usa para clases de circuitos pequeños. Aquí, la máquina (ahora de acceso aleatorio) M solo tiene tiempo O (log n) y, por lo tanto, no puede anotar la descripción de todo el circuito. La condición impuesta es que dados i y n, M puede escribir el bit i-ésimo de la descripción del circuito en el tiempo O (log n).

Para obtener más información, consulte el siguiente documento: David A. Mix Barrington, Neil Immerman, Howard Straubing: sobre la uniformidad dentro de NC¹. J. Comput. Syst. Sci. 41 (3): 274-306 (1990).

Srikanth
fuente
1
Enlace al documento: dx.doi.org/10.1016/0022-0000(90)90022-D
Suresh Venkat
Si M va a escribir el bit número i de la descripción del circuito en O (log n), eso no significa que si el circuito es de tamaño O (n), entonces es equivalente a permitir que la máquina genere circuito completo en O (n log n)?
M. Alaggan el
1
No parece ser equivalente. Lo que ha demostrado es que la noción de uniformidad (Barrington et. Al.) Anterior es al menos tan fuerte como la noción de uniformidad que propone. Lo contrario no está claro. Específicamente, no me queda claro si lo siguiente es cierto: dada una familia de circuitos de tamaño que puede generar una TM en el tiempo O ( n log n ) , llegar a una TM que, dado i y n , genera los i th bits de C n en tiempo O ( log n ) . De hecho, no creo que sea cierto.O(norte)O(norteIniciar sesiónnorte)yonorteyoCnorteO(Iniciar sesiónnorte)
Srikanth el
Estoy de acuerdo, un ejemplo contrario sería un TM que, dado y n , genera el i ésimo bit en O ( 1 ) , excepto para el último bit de la que toma O ( n conecto n ) . Gracias por la pista :)yonorteyoO(1)O(norteIniciar sesiónnorte)
M. Alaggan
El punto no es que las familias de circuitos uniformes X den los mismos conjuntos de familias para diferentes X, sino que las funciones que pueden ser calculadas por las familias de circuitos uniformes X son las mismas para diferentes X.
Peter Shor
6

norteCnorte

Suresh Venkat
fuente
Un generador de LOGSPACE para el circuito también funcionará bien para capturar P.
Peter Shor
5

¿Existe una descripción de la uniformidad solo en términos de circuitos?

1F(El |XEl |)F

FOreLosolTyometromiUNC0 0FO

Me parece que el punto principal aquí es que necesitamos algún modelo de computación uniforme para definir la uniformidad de los circuitos, si la descripción de los circuitos se da por medios que no son uniformes, los circuitos pueden ser no uniformes.

Kaveh
fuente
1
O(1)
UNltTyometromi(O(1),O(lgnorte))
4

1) ¿Existe una descripción de la uniformidad solo en términos de circuitos?

[Esta es una versión editada de mi respuesta a la misma pregunta que hizo en el blog de Dick Lipton. Advertencia: no soy un experto.]

Sí (creo), de al menos dos tipos diferentes:

a) Los circuitos son generables por una máquina de Turing en tiempo polinómico en el tamaño de entrada del problema (como se menciona en algunas otras respuestas). (Creo que esta es la definición estándar del concepto).

Esto cubre cualquier familia de circuitos que podríamos querer llamar uniforme, pero como una definición del concepto de tiempo P, simplemente reduce la definición en familias de circuitos a la definición en máquinas Turing, lo que podría no ser lo que usted desea.

b) Si hay un autómata celular unidimensional que evoluciona la entrada del problema a la solución del problema (para un problema de decisión, la solución sería un solo bit en una celda específica en relación con las celdas que contienen la entrada, que es un estado estable de la CA), en tiempo polinómico en tamaño de entrada, esto corresponde a un circuito que es periódico en 2D de una manera simple (una unidad repetida por celda por unidad de tiempo), y cuyo estado solo importa en una región cuadráticamente grande relativa al tiempo de solución.

Este es un tipo muy especial de familia de circuitos uniformes, pero suficiente para resolver todos los problemas en P, ya que una máquina de Turing puede codificarse fácilmente como una CA 1D. (Esto también parece satisfacer la definición de DLOGTIME-uniformity mencionada en una respuesta anterior).

(Esto es similar a las codificaciones de las máquinas de Turing como circuitos mencionados en las respuestas de Gowers en el blog de Lipton; de hecho, uno de ellos es probablemente idéntico).

Una forma de codificar una máquina Turing como CA 1D: en cada celda, representamos el estado de la cinta en un punto, el estado que tendría el cabezal de la máquina Turing si estuviera aquí ahora (cuyo valor no importa si no está aquí) , y un poco diciendo si la cabeza está aquí ahora. Claramente, cada estado en el tiempo t solo depende de sus estados vecinos inmediatos en el tiempo t-1, que es todo lo que necesitamos para que esto funcione como CA.


fuente