En la teoría de la complejidad computacional , los circuitos aritméticos son el modelo estándar para el cálculo de polinomios . De manera informal, un circuito aritmético toma como entradas variables o números, y puede sumar o multiplicar dos expresiones que ya ha calculado. Los circuitos aritméticos proporcionan una forma formal de comprender la complejidad del cálculo de polinomios. El tipo básico de pregunta en esta línea de investigación es "¿cuál es la forma más eficiente de calcular un polinomio dado?".?"
Definiciones

Un circuito aritméticosobre el campoy el conjunto de variableses un grafo dirigido acíclico como sigue. Cada nodo en él con grado de entrada cero se llama puerta de entrada y está etiquetado por una variableo un elemento de campo enCada una de las demás puertas está etiquetada poro ;} en el primer caso es una puerta suma y en el segundo unapuerta producto . Una fórmula aritmética es un circuito en el que cada puerta tiene grado de salida uno (y por lo tanto el grafo subyacente es un árbol dirigido ).
Un circuito tiene dos medidas de complejidad asociadas: tamaño y profundidad. El tamaño de un circuito es el número de compuertas que contiene, y la profundidad es la longitud del camino dirigido más largo. Por ejemplo, el circuito de la figura tiene un tamaño de seis y una profundidad de dos.
Un circuito aritmético calcula un polinomio de la siguiente manera natural. Una puerta de entrada calcula el polinomio con el que está etiquetada. Una puerta de sumacalcula la suma de los polinomios calculados por sus hijos (una puertaes hijo desi el borde dirigidoestá en el gráfico). Una puerta de producto calcula el producto de los polinomios calculados por sus hijos. Considere el circuito de la figura, por ejemplo: las puertas de entrada calculan (de izquierda a derecha)yLas compuertas de suma calculanyy la puerta del producto calcula
Descripción general
Dado un polinomioPodemos preguntarnos cuál es la mejor manera de calcularlo; por ejemplo, ¿cuál es el tamaño más pequeño de un circuito de cálculo?La respuesta a esta pregunta consta de dos partes. La primera parte consiste en encontrar algún circuito que calculeEsta parte se suele llamar límite superior de la complejidad deLa segunda parte consiste en demostrar que ningún otro circuito puede hacerlo mejor; esta parte se denomina límite inferior de la complejidad de Aunque estas dos tareas están estrechamente relacionadas, demostrar cotas inferiores suele ser más difícil, ya que para demostrar una cota inferior es necesario argumentar sobre todos los circuitos al mismo tiempo.
Nótese que nos interesa el cálculo formal de polinomios, más que las funciones que definen los polinomios. Por ejemplo, consideremos el polinomioSobre el campo de dos elementos, este polinomio representa la función cero, pero no es el polinomio cero. Esta es una de las diferencias entre el estudio de los circuitos aritméticos y el de los circuitos booleanos . En la complejidad booleana, el interés principal radica en calcular una función, en lugar de su representación (en nuestro caso, mediante un polinomio). Esta es una de las razones por las que la complejidad booleana es más difícil que la aritmética. El estudio de los circuitos aritméticos también puede considerarse un paso intermedio hacia el estudio del caso booleano, [ 1 ] que aún no comprendemos del todo.
límites superiores
Como parte del estudio de la complejidad del cálculo de polinomios, se encontraron algunos circuitos ingeniosos (o algoritmos). Un ejemplo bien conocido es el algoritmo de Strassen para el producto de matrices . La forma directa de calcular el producto de dos matrices es...Las matrices requieren un circuito de tamaño ordenStrassen demostró que, de hecho, podemos multiplicar dos matrices utilizando un circuito de tamaño aproximadamenteLa idea básica de Strassen es una forma ingeniosa de multiplicarmatrices. Esta idea es el punto de partida de la mejor manera teórica de multiplicar dos matrices que toma tiempo aproximadamente
Otra historia interesante se esconde tras el cálculo del determinante de unmatriz. La forma ingenua de calcular el determinante requiere circuitos de tamaño aproximadamenteSin embargo, sabemos que existen circuitos de tamaño polinomial enpara calcular el determinante. Sin embargo, estos circuitos tienen una profundidad que es lineal enBerkowitz ideó una mejora: un circuito de tamaño polinomial enpero de profundidad[ 2 ]
También nos gustaría mencionar el mejor circuito conocido por la permanencia de unmatriz. En cuanto al determinante, el circuito ingenuo para el permanente tiene un tamaño aproximadoSin embargo, para el circuito permanente, el mejor circuito conocido tiene un tamaño aproximadoque viene dada por la fórmula de Ryser: para unmatriz
(Este es un circuito de profundidad tres).
límites inferiores
En términos de demostrar cotas inferiores, nuestro conocimiento es muy limitado. Dado que estudiamos el cálculo de polinomios formales, sabemos que los polinomios de grado muy grande requieren circuitos grandes, por ejemplo, un polinomio de gradorequieren un circuito de tamaño aproximadamenteEntonces, el objetivo principal es demostrar una cota inferior para polinomios de grado pequeño, digamos, polinomio enDe hecho, como en muchas áreas de las matemáticas , los argumentos de conteo nos dicen que hay polinomios de grado polinomial que requieren circuitos de tamaño superpolinomial. Sin embargo, estos argumentos de conteo generalmente no mejoran nuestra comprensión de la computación. El siguiente problema es el principal problema abierto en esta área de investigación: encontrar un polinomio explícito de grado polinomial que requiera circuitos de tamaño superpolinomial .
El estado del arte es unlímite inferior para el tamaño de un circuito de cálculo, por ejemplo, el polinomiodado por Strassen y por Baur y Strassen. Más precisamente, Strassen utilizó el teorema de Bézout para demostrar que cualquier circuito que calcule simultáneamente elpolinomioses de tamañoy más tarde Baur y Strassen demostraron lo siguiente: dado un circuito aritmético de tamañocalcular un polinomiouno puede construir un nuevo circuito de tamaño como máximoque calculay todos losderivadas parciales deDado que las derivadas parciales desonEl límite inferior de Strassen se aplica atambién. [ 3 ] Este es un ejemplo donde una cota superior ayuda a demostrar cotas inferiores; la construcción de un circuito dado por Baur y Strassen implica una cota inferior para polinomios más generales.
La imposibilidad de demostrar cotas inferiores nos lleva a considerar modelos de computación más sencillos. Algunos ejemplos son: circuitos monótonos (en los que todos los elementos del campo son números reales no negativos), circuitos de profundidad constante y circuitos multilineales (en los que cada puerta lógica calcula un polinomio multilineal ). Estos modelos restringidos se han estudiado exhaustivamente y se han obtenido algunos conocimientos y resultados.
P y NP algebraicos
El problema abierto más interesante en la teoría de la complejidad computacional es el problema P vs. NP . En términos generales, este problema consiste en determinar si un problema dado puede resolverse con la misma facilidad con la que se puede demostrar que existe una solución para dicho problema. En su obra fundamental, Valiant [ 4 ] propuso un análogo algebraico de este problema: el problema VP vs. VNP .
La clase VP es el análogo algebraico de P; es la clase de polinomios. de grado polinomial que tienen circuitos de tamaño polinomial sobre un campo fijoLa clase VNP es el análogo de NP. VNP puede considerarse como la clase de polinomios.de grado polinomial tal que dado un monomio podemos determinar su coeficiente ende manera eficiente, con un circuito de tamaño polinomial.
Una de las nociones básicas en la teoría de la complejidad es la noción de completitud . Dada una clase de polinomios (como VP o VNP), un polinomio completopara esta clase es un polinomio con dos propiedades: (1) es parte de la clase, y (2) cualquier otro polinomioen la clase es más fácil queen el sentido de que sitiene un circuito pequeño entonces tambiénValiant demostró que el permanente es completo para la clase VNP. Por lo tanto, para demostrar que VP no es igual a VNP, es necesario demostrar que el permanente no tiene circuitos de tamaño polinomial. Este sigue siendo un problema abierto pendiente.
Reducción de profundidad
Un hito en nuestra comprensión del cálculo de polinomios es el trabajo de Valiant, Skyum, Berkowitz y Rackoff. [ 5 ] Demostraron que si un polinomiode gradotiene un circuito de tamañoentoncestambién tiene un circuito de tamaño polinomial enyde profundidadPor ejemplo, cualquier polinomio de gradoque tiene un circuito de tamaño polinomial, también tiene un circuito de tamaño polinomial de profundidad aproximadamenteEste resultado generaliza el circuito de Berkowitz a cualquier polinomio de grado polinomial que tenga un circuito de tamaño polinomial (como el determinante). Se cree que el análogo de este resultado en el contexto booleano es falso.
Una consecuencia de este resultado es la simulación de circuitos mediante fórmulas relativamente pequeñas, fórmulas de tamaño cuasipolinomial: si un polinomiode gradotiene un circuito de tamañoentonces tiene una fórmula de tamañoEsta simulación es más sencilla que la reducción de profundidad de Valiant et al. y fue mostrada anteriormente por Hyafil. [ 6 ]
Véase también
- Evaluación de polinomios para una discusión más general y menos formal sobre la complejidad de la evaluación de polinomios.
Lecturas adicionales
- Bürgisser, Peter (2000). Completitud y reducción en la teoría de la complejidad algebraica . Algoritmos y computación en matemáticas. Vol. 7. Berlín: Springer-Verlag . ISBN 978-3-540-66752-0. Zbl 0948.68082 .
- Bürgisser, Peter; Clausen, Michael; Shokrollahi, M. Amin (1997). Teoría de la complejidad algebraica . Grundlehren der Mathematischen Wissenschaften. vol. 315. Con la colaboración de Thomas Lickteig. Berlín: Springer-Verlag . ISBN 978-3-540-60582-9. Zbl 1087.68568 .
- von zur Gathen, Joachim (1988). "Teoría de la complejidad algebraica". Annual Review of Computer Science . 3 : 317–347 . doi : 10.1146/annurev.cs.03.060188.001533 .
Notas a pie de página
- ↑ LG Valiant. ¿Por qué es difícil la teoría de la complejidad booleana? Actas del simposio de la Sociedad Matemática de Londres sobre la complejidad de las funciones booleanas, págs. 84-94, 1992.
- ↑ SJ Berkowitz. Sobre el cálculo del determinante en tiempo paralelo reducido utilizando un número reducido de procesadores. Inf. Prod. Letters 18, pp. 147–150, 1984.
- ↑ Shpilka, Amir; Yehudayoff, Amir (2010). "Circuitos aritméticos: una revisión de resultados recientes y preguntas abiertas" (PDF) . Fundamentos y tendencias en informática teórica . 5 ( 3–4 ): 207-388. doi : 10.1561/0400000039 .
- ↑ Valiant, LG (1979). "Clases de completitud en álgebra". Actas del undécimo simposio anual de la ACM sobre Teoría de la Computación - STOC '79 . ACM Press. págs. 249–261 . doi : 10.1145/800135.804419 .
- ↑ Valiant, LG; Skyum, S.; Berkowitz, S.; Rackoff, C. (1983). "Cálculo paralelo rápido de polinomios con pocos procesadores" . SIAM Journal on Computing . 12 (4): 641– 644. doi : 10.1137/0212043 . ISSN 0097-5397 .
- ↑ Hyafil, Laurent (1979). "Sobre la evaluación paralela de polinomios multivariados" . SIAM Journal on Computing . 8 (2): 120– 123. doi : 10.1137/0208010 . ISSN 0097-5397 .
- Complejidad del circuito