El secreto del tamaño y la profundidad del circuito: ¿Cuál es la mejor manera de calcular polinomios?

En la teoría de la complejidad computacional, los circuitos aritméticos son el modelo estándar para calcular polinomios. Los circuitos aritméticos pueden recibir información de variables o números y calcular el resultado de una expresión previamente calculada mediante suma o multiplicación. Este modelo nos permite comprender metafísicamente la complejidad de calcular polinomios.

La pregunta fundamental de un circuito es "¿Cómo calcular un polinomio dado de la manera más eficiente?"

Un circuito aritmético se compone de un gráfico acíclico guiado. Cada nodo del gráfico con grado cero se denomina puerta de entrada y está etiquetado como una variable o un elemento en el dominio. Otras puertas son puertas de suma o puertas de multiplicación. La fórmula aritmética es un circuito en el que el grado de salida de cada puerta es uno, formando un árbol dirigido. Hay dos medidas importantes de complejidad de los circuitos: tamaño y profundidad. El tamaño del circuito se refiere al número de puertas, mientras que la profundidad se refiere a la longitud del camino dirigido más largo del circuito.

Los circuitos aritméticos tienen una forma natural de calcular polinomios. Una puerta de entrada calcula su polinomio etiquetado; una puerta de suma calcula la suma de los polinomios calculados por sus hijos y una puerta de multiplicación calcula el producto de los polinomios calculados por sus hijos. Tomando la figura como ejemplo, la puerta de entrada calcula x1, x2 y 1 en secuencia, la puerta de suma calcula x1 + x2 y x2 + 1, y la puerta de multiplicación calcula el valor de (x1 + x2) x2 (x2 + 1) .

Descripción general

Cuando nos enfrentamos a un polinomio f, la pregunta es cuál es la mejor manera de calcularlo; por ejemplo, calcular el tamaño mínimo de un circuito unitario. Esta pregunta suele constar de dos partes. La primera parte es encontrar un circuito que calcule el polinomio, lo que se denomina complejidad del límite superior; la segunda parte es demostrar que otros circuitos no pueden lograr un mejor rendimiento, lo que se denomina complejidad del límite inferior.

Aunque las dos tareas están estrechamente relacionadas, demostrar un límite inferior generalmente es más difícil porque todos los circuitos deben analizarse simultáneamente.

Es importante señalar aquí que lo que nos interesa es el cálculo formal de polinomios, no las funciones definidas por polinomios. Por ejemplo, considere el polinomio x2 + x en un dominio binario. Este polinomio representa una función cero en este dominio, pero no es un polinomio cero. Ésta es una de las diferencias entre el estudio de circuitos aritméticos y el estudio de los circuitos de Bollinger, y una de las razones por las que la complejidad de Bollinger es más difícil que la complejidad aritmética.

Límite superior

En el estudio del cálculo de la complejidad polinómica, se descubrieron algunos circuitos o algoritmos inteligentes. Por ejemplo, el famoso algoritmo de multiplicación de matrices de Strassen utiliza un tamaño de circuito de aproximadamente n2,807, lo que reduce en gran medida la complejidad en comparación con el simple n3. Otra historia fascinante es sobre el cálculo del determinante de una matriz n × n. Aunque el método de cálculo original requería un circuito de tamaño n!, sabemos que el determinante se puede calcular con un circuito de tamaño polinómico, aunque la profundidad del mismo. El circuito es lineal con n.

Mientras tanto, existen desafíos similares para calcular el tamaño de circuitos permanentes para matrices n × n, teniendo el circuito óptimo un tamaño de aproximadamente 2n.

El límite inferior

Nuestro conocimiento actual sobre la demostración de límites inferiores es muy limitado. Por ejemplo, calcular polinomios de grados muy grandes a menudo requiere circuitos grandes; por ejemplo, un polinomio de grado 2^2n requiere un tamaño de circuito de aproximadamente 2n; El principal problema radica en demostrar límites inferiores para polinomios de pequeño grado, especialmente polinomios de tamaño n.

El principal problema abierto actualmente es encontrar un polinomio explícito tal que el tamaño del circuito requerido para su cálculo exceda el nivel del polinomio.

Álgebra P y NP

El problema abierto más interesante en la teoría de la complejidad computacional es el problema P versus NP. En términos generales, la pregunta es si determinar una solución a un problema puede ser tan fácil como probar su existencia. Valiant propuso una analogía algebraica de los problemas de VP y VNP, que implica la relación entre el tamaño del polinomio y el tamaño del circuito.

Simplificación profunda

Un punto de referencia importante para nuestra comprensión de los cálculos polinomiales es el trabajo de Valiant, Skyum, Berkowitz y Rackoff. Demostraron que si un polinomio de grado r tiene un circuito de tamaño s, entonces el polinomio también tiene circuitos de polinomios de tamaño r y s.

Este resultado se considera falso dados resultados similares en la configuración de Bollinger. Un corolario de este resultado es que las simulaciones de circuitos que involucran polinomios son fórmulas relativamente pequeñas, en este caso, un polinomio de grado r para un circuito de tamaño s requeriría una fórmula de tamaño s^ (O(log(r))).

Resumen

El diseño, el tamaño y la profundidad de los circuitos aritméticos son elementos clave para calcular polinomios. Estudiar estos elementos no es sólo un desafío teórico en matemáticas, sino que también está estrechamente relacionado con aplicaciones prácticas. En estos cálculos complejos, una de las direcciones de las investigaciones futuras será si podemos encontrar métodos más eficientes para resolver problemas más grandes.

Trending Knowledge

¿Por qué algunos polinomios requieren circuitos grandes? ¡Un análisis profundo de su complejidad computacional!
En la teoría de la complejidad computacional, los circuitos aritméticos se han convertido en el modelo estándar para calcular polinomios. Normalmente, los circuitos aritméticos toman variables o númer
El gran avance de Strassen: ¿Cómo se puede simplificar enormemente el cálculo de la multiplicación de matrices?
En la teoría de la complejidad computacional, los circuitos aritméticos se han convertido en el modelo estándar para calcular polinomios. Estos circuitos funcionan tomando variables o números como ent
El maravilloso mundo de los circuitos aritméticos: ¿cómo calcular polinomios gráficamente?
En la teoría de la complejidad computacional, los circuitos aritméticos se consideran el modelo estándar para calcular polinomios. El principio básico de este modelo es que un circuito aritmético oper
El secreto de la computación determinante: ¿cómo resolverlo inteligentemente usando circuitos polinomiales?
En la teoría de la complejidad del cálculo, los circuitos aritméticos se consideran modelo estándar para calcular polinomios.Básicamente, la función de un circuito aritmético es recibir variables o n

Responses