¿Por qué el análisis de Fourier de las funciones booleanas "funciona"?


60

A lo largo de los años, me he acostumbrado a ver muchos teoremas de TCS probados mediante análisis discreto de Fourier. La transformación de Walsh-Fourier (Hadamard) es útil en prácticamente todos los subcampos de TCS, incluidas las pruebas de propiedad, pseudoaleatoriedad, complejidad de comunicación y computación cuántica.

Si bien me sentí cómodo usando el análisis de Fourier de las funciones booleanas como una herramienta muy útil cuando estoy abordando un problema, y ​​aunque tengo un presentimiento bastante bueno para qué casos usar el análisis de Fourier probablemente arrojaría algunos buenos resultados; Tengo que admitir que no estoy realmente seguro de qué es lo que hace que este cambio de base sea tan útil.

¿Alguien tiene una intuición de por qué el análisis de Fourier es tan fructífero en el estudio de TCS? ¿Por qué tantos problemas aparentemente difíciles se resuelven escribiendo la expansión de Fourier y realizando algunas manipulaciones?

Nota: mi intuición principal hasta ahora, aunque sea escasa, es que tenemos una buena comprensión de cómo se comportan los polinomios, y que la transformación de Fourier es una forma natural de ver una función como un polinomio multilineal. Pero, ¿por qué específicamente esta base? ¿Qué es tan único en la base de las paridades?


8
Paging @ ryan-odonnell
Suresh Venkat

3
Una idea que flotaba en los años 90 es que tal vez otras bases de funciones también funcionen, tal vez imitando el éxito de las wavelets en el análisis armónico clásico. Pero no vi esta idea persuadida.
Gil Kalai

Respuestas:


63

Aquí está mi punto de vista, que aprendí de Guy Kindler, aunque alguien con más experiencia probablemente pueda dar una mejor respuesta: considere el espacio lineal de funciones , y considere un operador lineal de la forma σ w (para w { 0 , 1 } n ), que asigna una función f ( x ) como arriba a la función f ( x + w )f:{0,1}nRσww{0,1}nf(x)f(x+w). En muchas de las preguntas de TCS, existe una necesidad subyacente de analizar los efectos que dichos operadores tienen sobre ciertas funciones.

Ahora, el punto es que la base de Fourier es la base que diagonaliza a todos esos operadores al mismo tiempo, lo que hace que el análisis de esos operadores sea mucho más simple. En términos más generales, la base de Fourier diagonaliza al operador de convolución, que también subyace en muchas de esas preguntas. Por lo tanto, es probable que el análisis de Fourier sea efectivo cuando sea necesario analizar esos operadores.

Por cierto, el análisis de Fourier es solo un caso especial de la teoría de la representación de grupos finitos. Esta teoría considera el espacio más general de funciones donde G es un grupo finito, y operadores de la forma σ h (para h G ) que asignan f ( x ) a f ( x h ) , la teoría luego le permite encontrar una base que facilita el análisis de dichos operadores, aunque para grupos generales no se puede diagonalizar los operadores.f:GCGσhhsolF(X)F(Xh)


66
Esta es una excelente respuesta.
Suresh Venkat

2
Buena forma de decirlo. Continuando en la misma línea, si desea mirar tuplas , entonces Fourier estándar el análisis a menudo ya no es suficiente, y puede ser útil pasar al análisis de Fourier de orden superior . (F(X),F(X+w1),F(X+w2),F(X+w1+w2))
arnab

3
¿Qué quiere decir con "diagonalizar un operador"?
John Moeller

10
John: si ve las funciones como vectores en un subespacio, el operador es una operación lineal en vectores y puede verse como una matriz. Diagonalizar este operador significa diagonalizar la matriz. F
O Meir el

1
Es interesante que incluso las aplicaciones a las juntas de aprendizaje se puedan entender en términos de operadores de convolución: una junta es igual a su imagen bajo el operador que promedia sobre las entradas que no están de acuerdo con las coordenadas irrelevantes. Este operador es un operador de convolución y es escaso en el dominio de Fourier. Este es un tema general: cuando una función está "correlacionada consigo misma", pide un enfoque basado en Fourier
Sasho Nikolov

6

Aquí podría haber otra versión de esta pregunta.

Suponiendo que la función pseudo booleana está limitada por k, la representación polinómica de Walsh de la función se puede descomponer en k subfunciones. Todos los términos lineales se recopilan en una subfunción, todas las interacciones por pares en una subfunción, luego las interacciones de 3 vías, etc.

Cada una de estas subfunciones es un "paisaje elemental" y, por lo tanto, cada una de las subfunciones es un vector propio de la matriz de adyacencia laplaciana (es decir, el vecindario de distancia 1 de Hamming). Cada subfunción tiene una "ecuación de onda" correspondiente del tipo que se encuentra en todos los paisajes elementales. Excepto que ahora hay k ecuaciones de onda que actúan en combinación.

Conocer las ecuaciones de onda permite caracterizar estadísticamente el espacio de búsqueda correspondiente de manera bastante precisa. Puede calcular la media y la varianza y sesgar sobre bolas de Hamming arbitrarias (exponencialmente grandes) y sobre hiperplanos arbitrarios del espacio de búsqueda.

Vea el trabajo de Peter Stadler sobre paisajes elementales.

Andrew Sutton y yo (Darrell Whitley) hemos trabajado en el uso de estos métodos para comprender y mejorar los algoritmos de búsqueda locales para la optimización pseudobooleana. Puede usar los polinomios de Walsh para identificar automáticamente los movimientos de mejora para los algoritmos de búsqueda locales. Nunca hay necesidad de enumerar aleatoriamente vecindarios del espacio de búsqueda. El análisis de Walsh puede decirle directamente dónde se encuentran los movimientos de mejora.


44
¿Podría darnos algunos consejos sobre el trabajo que cita?
András Salamon

2

Una gran respuesta a esta pregunta probablemente todavía no existe porque es un área de investigación relativamente joven y muy activa. por ejemplo, el libro completo de Ingo Wegeners sobre funciones booleanas de 1987 no tiene nada sobre el tema (excepto para analizar la complejidad del circuito del DFT).

Una intuición o conjetura simple es que parece que los grandes coeficientes de Fourier de orden superior indican la presencia de subfunciones que deben tener en cuenta muchas variables de entrada y, por lo tanto, requieren muchas puertas. es decir, la expansión de Fourier es aparentemente una forma natural de medir cuantitativamente la dureza de una función booleana. No he visto esto directamente probado, pero creo que se insinúa en muchos resultados. por ejemplo, el límite inferior de Khrapchenkos puede estar relacionado con los coeficientes de Fourier. [1]

Se puede tomar prestada otra analogía aproximada de EE u otros campos de ingeniería hasta cierto punto donde el análisis de Fourier se usa ampliamente. a menudo se usa para filtros EE / procesamiento de señal . Los coeficientes de Fourier representan una "banda" particular del filtro. La historia también es que el "ruido" parece manifestarse en rangos particulares de frecuencias, por ejemplo, bajo o alto. en CS, una analogía con el "ruido" es "aleatoriedad", pero también queda claro por mucha investigación (alcanzando un hito en, por ejemplo, [4]) que la aleatoriedad es básicamente lo mismo que la complejidad. (en algunos casos, la "entropía" también aparece en el mismo contexto). El análisis de Fourier parece ser adecuado para estudiar el "ruido" incluso en entornos CS. [2]

otra intuición o imagen proviene de la teoría de votación / elección. [2,3] es útil analizar las funciones booleanas como si tuvieran subcomponentes que "voten" e influyan en el resultado. es decir, el análisis de la votación es una especie de sistema de descomposición de funciones. esto también aprovecha cierta teoría de votación que alcanzó alturas de análisis matemático y que aparentemente precede al uso de muchos análisis de Fourier de funciones booleanas.

Además, el concepto de simetría parece ser primordial en el análisis de Fourier. cuanto más "simétrica" ​​es la función, más se cancela el coeficiente de Fourier, y más "simple" es la función de calcular. pero también, cuanto más "aleatoria" y, por lo tanto, más compleja es la función, menos se cancelan los coeficientes. en otras palabras, la simetría y la simplicidad, y viceversa, la asimetría y la complejidad en la función parecen estar coordinadas de una manera que el análisis de Fourier puede medir.

[1] Sobre el análisis de Fourier de las funciones booleanas de Bernasconi, Codenotti, Simon

[2] Una breve introducción al análisis de Fourier sobre el cubo booleano (2008) por De Wolf

[3] Algunos temas sobre el análisis de las funciones booleanas por O'Donnell

[4] Pruebas naturales de Razborov y Rudich.


3
véase también el libro en línea Análisis de las funciones booleanas de O'Donnell
vzn

La conjetura acerca de la complejidad de la fn booleana se refleja en el "espectro de potencia" sobre los coeficientes de Fourier, una extensión natural de los famosos resultados en el artículo de Linial Mansour Nisan, circuitos de profundidad constante, transformada de Fourier y capacidad de aprendizaje . resumen: "el resultado principal es que un AC ^ 0 booleano fn tiene la mayor parte de su 'espectro de potencia' en los coeficientes de bajo orden"
vzn

2
Hay un buen estudio del análisis de Fourier en el capítulo 2 del libro de Juknas, la complejidad de la función booleana, los avances y las fronteras , que señala que los coeficientes de Fourier se correlacionan con las funciones de paridad calculadas en subconjuntos de variables de entrada.
vzn

2
¿Por qué esta respuesta está tan fuertemente rechazada?
user834
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.