¿Se sabe que existen funciones con la siguiente propiedad de suma directa?


15

Esta pregunta puede hacerse en el marco de la complejidad del circuito de los circuitos booleanos, o en el marco de la teoría de la complejidad algebraica, o probablemente en muchos otros entornos. Es fácil mostrar, contando argumentos, que existen funciones booleanas en N entradas que requieren exponencialmente muchas puertas (aunque, por supuesto, no tenemos ningún ejemplo explícito). Supongamos que deseo evaluar la misma función M veces, para algún número entero M, en M conjuntos distintos de entradas, de modo que el número total de entradas sea MN. Es decir, sólo queremos evaluar para la misma funciónfen cada momento.f(x1,1,...,x1,N),f(x2,1,...,x2,N),...,f(xM,1,...,xM,N)f

La pregunta es: ¿se sabe que existe una secuencia de funciones (una función para cada N) de modo que, para cualquier N, para cualquier M, el número total de puertas requerido es al menos igual a M veces una función exponencial de ¿NORTE? El argumento de conteo simple no parece funcionar ya que queremos que este resultado se mantenga para todos los M. Uno puede encontrar análogos simples de esta pregunta en la teoría de la complejidad algebraica y otras áreas.f

Respuestas:


13

Bueno, eso es falso: es posible evaluar M copias de CUALQUIER f usando solo compuertas O (N (M + 2 ^ N)) que pueden ser mucho menores que M * exp (N) (de hecho, obtienes amortización lineal complejidad para exponencial M). No recuerdo una referencia, pero creo que puede ser algo como lo siguiente:

Primero agregue 2 ^ N entradas ficticias que son solo constantes 0 ... 2 ^ N-1 y ahora denota la i-ésima entrada de N bits por xi (entonces para i <= 2 ^ N tenemos xi = i, y para 2 ^ N <i <= 2 ^ N + M tenemos las entradas originales). Ahora creamos un triplete para cada una de las entradas M + 2 ^ N: (i, xi, fi) donde fi es f (i) para las primeras 2 ^ N entradas (una constante que está conectada al circuito) y fi = "*" de lo contrario. Ahora clasificamos los trillizos (i, xi, fi) de acuerdo con la clave xi, y dejamos que el j'th triplete sea (i_j, x_j, f_j) a partir de esto calculamos un triplete (i_j, x_j, g_j) dejando que g_j sea f_j si f_j no es un "*" y deje que g_j sea g_ (j-1) de lo contrario. Ahora ordena los nuevos trillizos de nuevo según la clave i_j, y obtienes las respuestas correctas en los lugares correctos.


¡Inteligente! Una cosa menor: tenemos que clasificar los trillizos de manera estable (o en algún otro método que garantice que los trillizos con fi ≠ “ ” lleguen antes que los trillizos con fi = “ ”).
Tsuyoshi Ito

Muy inteligente, y gracias. ¿Algo similar funciona, sin embargo, en el contexto de la complejidad algebraica, o no?
Matt Hastings

1
Supongo que otra forma de decir esto en el caso de que M vaya al infinito es que puedes invertir 2 ^ N * 2 ^ N tiempo para construir una tabla hash para todos los valores de f, y luego puedes calcular cada copia en O (N ) hora. Creo que hay otra razón por la que al menos no deberíamos saber si algo así es cierto, incluso para valores más leves de N, que es que daría límites inferiores mejores que los conocidos. Sería capaz de construir una función con límite inferior superlineal mediante el primer forzamiento bruto para encontrar una función en n '= log n (o tal vez n' = loglog n) entradas con gran complejidad y luego tomar n / n'copias de ella .
Boaz Barak

1
En el argumento anterior sobre por qué tales resultados conducen a límites inferiores, no sé si el número de repeticiones es realmente más leve, pero también se aplica a campos infinitos.
Boaz Barak

Hola Booz, de hecho, tu comentario es precisamente por qué estaba interesado en la existencia de estas funciones. Sin embargo, hay un punto sutil, el "forzamiento bruto". Podría ser (que es a lo que apuntaba mi pregunta), que tales funciones existen pero que no tenemos un algoritmo que nos permita demostrar que una función dada tiene esta propiedad. Después de todo, no parece haber una manera de forzar la propiedad bruta de un límite tan bajo para toda M, porque tendrías que verificar un número infinito de circuitos diferentes. Entonces, quizás tales funciones existen para campos infinitos pero no podemos mostrarlo.
Matt Hastings

10

O(2n/n)mmfm2n/n

"Redes que computan funciones booleanas para múltiples valores de entrada"

m=2o(n/logn)mfO(2n/n)m=1

No puedo encontrar una copia no cerrada en línea, o una página de inicio para el autor, pero encontré el artículo en este procedimiento:

Complejidad de la función booleana (London Mathematical Society Lecture Note Series)


¡Gracias! ¿No había una pregunta que preguntara sobre paradojas en TCS? Esto también podría servir como respuesta allí :)
arnab

Gracias por esta respuesta también. Al no poder leer las actas, supongo que, de forma similar a la respuesta anterior, puede depender del número finito de posibles entradas, así que de nuevo esa misma pregunta de seguimiento anterior: ¿qué pasa en el caso de la complejidad algebraica?
Matt Hastings

En realidad, parece que Shannon probó por primera vez el límite superior O (2 ^ n / n); Lupanov obtuvo la constante líder correcta. Yo corregí esto. Los detalles se explican en "Revisión de límites en el tamaño del circuito de las funciones más difíciles", por Frandsen y Miltersen.
Andy Drucker

5

Con respecto a la complejidad algebraica, no conozco un ejemplo en el que la complejidad exponencial se reduzca a una complejidad amortizada sub-exponencial, pero al menos hay un ejemplo simple de que la complejidad de M copias disjuntas puede ser significativamente menor que M veces la complejidad de una sola copia :

Para una matriz "aleatoria" n * n A, la complejidad de la forma bilineal definida por A, (la función f_A (x, y) = xAy, donde x e y son 2 vectores de longitud n) es Omega (n ^ 2 ): esto se puede mostrar mediante un argumento de dimensión "contando", ya que necesita n ^ 2 "lugares" en el circuito para colocar constantes. Sin embargo, dados n pares diferentes de vectores (x ^ 1, y ^ 1) ... (x ^ n, y ^ n), puede colocar las x en las filas de una matriz n * n X, y de manera similar las y en las columnas de una matriz Y, y luego lea todas las respuestas x ^ iAy ^ i desde la diagonal de XAY, donde esto se calcula en n ^ 2.3 (más o menos) operaciones usando una multiplicación de matriz rápida, significativamente menor que n * n ^ 2.


Gracias, conozco ese ejemplo. Una similar es que existen grados n de polinomios en una variable que lleva tiempo n evaluar en un punto dado (aunque no creo que haya ejemplos explícitos, ¿estoy equivocado?) Sin embargo, uno puede evaluar dicho polinomio en n puntos en el tiempo n log ^ 2 (n).
Matt Hastings

1
Encontré dos artículos de los años 80 sobre el problema algebraico de suma directa: "Sobre la validez de la conjetura de suma directa" de Ja'ja y Takche, y "Sobre la conjetura de suma directa extendida" de Bshouty. No puedo resumir sus contenidos, pero quizás sean útiles.
Andy Drucker

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.