Ao longo dos anos, me acostumei a ver muitos teoremas do TCS provados usando análise discreta de Fourier. A transformação Walsh-Fourier (Hadamard) é útil em praticamente todos os subcampos do TCS, incluindo testes de propriedades, pseudo-aleatoriedade, complexidade da comunicação e computação quântica.
Embora eu tenha me acostumado a usar a análise de Fourier das funções booleanas como uma ferramenta muito útil quando estou enfrentando um problema, e mesmo tendo um palpite bastante bom para os casos em que a análise de Fourier provavelmente produziria bons resultados; Devo admitir que não tenho muita certeza do que torna essa mudança de base tão útil.
Alguém tem uma intuição de por que a análise de Fourier é tão proveitosa no estudo da TCS? Por que tantos problemas aparentemente difíceis são resolvidos escrevendo a expansão de Fourier e realizando algumas manipulações?
Nota: minha principal intuição até agora, por mais escassa que seja, é que temos um bom entendimento de como os polinômios se comportam e que a transformação de Fourier é uma maneira natural de encarar uma função como um polinômio multilinear. Mas por que especificamente essa base? o que há de tão único na base das paridades?
fonte
Respostas:
Aqui está o meu ponto de vista, que aprendi com Guy Kindler, embora alguém mais experiente provavelmente possa dar uma resposta melhor: Considere o espaço linear das funções , e considere um operador linear da forma (para ), que mapeia uma função como acima para a função . Em muitas das questões do TCS, existe uma necessidade subjacente de analisar os efeitos que esses operadores têm em determinadas funções.σ w w ∈ { 0 , 1 } n f ( x ) f ( x + w )f:{0,1}n→R σw w∈{0,1}n f(x) f(x+w)
Agora, o ponto é que a base de Fourier é a base que diagonaliza todos esses operadores ao mesmo tempo, o que torna a análise desses operadores muito mais simples. De maneira mais geral, a base de Fourier diagonaliza o operador de convolução, que também subjaz a muitas dessas perguntas. Portanto, é provável que a análise de Fourier seja eficaz sempre que for necessário analisar esses operadores.
A propósito, a análise de Fourier é apenas um caso especial da teoria de representação de grupos finitos. Essa teoria considera o espaço mais geral das funções onde é um grupo finito e operadores da forma (para ) que mapeia para , a teoria permite que você encontre uma base que facilite a análise de tais operadores - embora para grupos gerais você não consiga realmente diagonalizar os operadores. G σ h h ∈ G f ( x ) f ( x ⋅ h )f:G→C G σh h∈G f(x) f(x⋅h)
fonte
Aqui pode haver outra opinião sobre essa questão.
Supondo que a função pseudo-booleana esteja limitada a k, a representação polinomial de Walsh da função pode ser decomposta em k subfunções. Todos os termos lineares são coletados em uma subfunção, todas as interações aos pares em uma subfunção, depois as interações de três vias, etc.
Cada uma dessas subfunções é uma "paisagem elementar" e, portanto, cada uma das subfunções é um vetor próprio da matriz de adjacência do Laplaciano (ou seja, a vizinhança da distância 1 de Hamming). Cada subfunção possui uma "Equação de Onda" correspondente ao tipo encontrado em todas as paisagens elementares. Exceto agora, existem k Equações de Ondas que atuam em combinação.
Conhecer as equações de onda torna possível caracterizar estatisticamente o espaço de pesquisa correspondente de maneiras bastante precisas. Você pode calcular média e variação e inclinar-se sobre bolas de Hamming arbitrárias (exponencialmente grandes) e sobre hiperplanos arbitrários do espaço de pesquisa.
Veja o trabalho de Peter Stadler sobre Paisagens Elementares.
Andrew Sutton e eu (Darrell Whitley) trabalhamos usando esses métodos para entender e melhorar os algoritmos de busca local para otimização pseudo-booleana. Você pode usar os polinômios de Walsh para identificar automaticamente movimentos aprimorados para algoritmos de pesquisa local. Nunca há necessidade de enumerar aleatoriamente vizinhanças do espaço de pesquisa. A análise de Walsh pode dizer diretamente onde estão os movimentos de melhoria.
fonte
uma ótima resposta para essa pergunta provavelmente ainda não existe porque é uma área de pesquisa relativamente jovem e muito ativa. por exemplo, o livro abrangente de Ingo Wegeners sobre funções booleanas de 1987 não tem nada sobre o assunto (exceto para analisar a complexidade do circuito da DFT).
uma intuição ou conjectura simples é que parece que grandes coeficientes de Fourier de ordem superior indicam a presença de subfunções que devem levar em conta muitas variáveis de entrada e, portanto, requerem muitos portões. isto é, a expansão de Fourier é aparentemente uma maneira natural de medir quantitativamente a dureza de uma função booleana. não vi isso diretamente comprovado, mas acho que está sugerido em muitos resultados. por exemplo, o limite inferior de Khrapchenkos pode estar relacionado aos coeficientes de Fourier. [1]
outra analogia aproximada pode ser emprestada da EE ou de outros campos de engenharia até certo ponto, onde a análise de Fourier é usada extensivamente. é frequentemente usado para filtros EE / processamento de sinal . os coeficientes de Fourier representam uma "banda" específica do filtro. a história também é de que o "ruído" parece se manifestar em faixas particulares de frequências, por exemplo, baixa ou alta. no CS, uma analogia com o "ruído" é a "aleatoriedade", mas também é claro em muitas pesquisas (atingindo um marco em, por exemplo, [4]) que a aleatoriedade é basicamente o mesmo que complexidade. (em alguns casos, a "entropia" também aparece no mesmo contexto.) A análise de Fourier parece ser adequada para estudar o "ruído", mesmo nas configurações de CS. [2]
outra intuição ou imagem vem da teoria do voto / escolha. [2,3] é útil analisar funções booleanas como tendo subcomponentes que "votam" e influenciam o resultado. isto é, a análise da votação é uma espécie de sistema de decomposição para funções. isso também aproveita alguma teoria do voto que alcançou alturas de análise matemática e que aparentemente antecede o uso de muitas análises de Fourier de funções booleanas.
Além disso, o conceito de simetria parece ser primordial na análise de Fourier. quanto mais "simétrica" a função, mais o coeficiente de Fourier cancela e também mais "simples" a função é calcular. mas também quanto mais "aleatória" e, portanto, mais complexa a função, menos os coeficientes se cancelam. em outras palavras, simetria e simplicidade e, inversamente, assimetria e complexidade na função parecem ser coordenadas de uma maneira que a análise de Fourier pode medir.
[1] Na análise de Fourier das funções booleanas de Bernasconi, Codenotti, Simon
[2] Uma breve introdução à análise de Fourier no cubo booleano (2008) por De Wolf.
[3] Alguns tópicos sobre a análise de funções booleanas por O'Donnell
[4] Provas naturais de Razborov & Rudich
fonte