Pourquoi l'analyse de Fourier des fonctions booléennes «fonctionne-t-elle»?

60

Au fil des années, je me suis habitué à voir de nombreux théorèmes du TCS prouver à l'aide d'une analyse de Fourier discrète. La transformation de Walsh-Fourier (Hadamard) est utile dans pratiquement tous les sous-domaines du SCS, notamment les tests de propriété, le pseudo-aléatoire, la complexité de la communication et l'informatique quantique.

Bien que je me sois habitué à utiliser l'analyse de Fourier des fonctions booléennes comme un outil très utile lorsque je m'attaque à un problème, et même si j'ai une bonne idée de ce que les cas utilisant l'analyse de Fourier donneraient probablement de bons résultats; Je dois admettre que je ne suis pas vraiment sûr de ce qui rend ce changement de base si utile.

Est-ce que quelqu'un a l'intuition de savoir pourquoi l'analyse de Fourier est si fructueuse dans l'étude du SDC? Pourquoi autant de problèmes apparemment difficiles à résoudre sont-ils résolus en écrivant l’extension de Fourier et en effectuant des manipulations?

Remarque: mon intuition principale jusqu’à présent, aussi maigre soit-elle, est que nous avons une assez bonne compréhension du comportement des polynômes et que la transformation de Fourier est une manière naturelle de considérer une fonction comme un polynôme multilinéaire. Mais pourquoi spécifiquement cette base? Qu'est-ce qui est si unique dans la base des parités?

Kristoffer Arnsfelt Hansen
la source
8
Paging @ ryan-odonnell
Suresh Venkat le
3
Une idée qui circulait dans les années 90 est que peut-être que d'autres bases de fonctions fonctionneront également, imitant peut-être le succès des ondelettes dans l'analyse harmonique classique. Mais je n'ai pas vu cette idée se poursuivre.
Gil Kalai

Réponses:

63

Voici mon point de vue, que j'ai appris de Guy Kindler, bien que quelqu'un de plus expérimenté puisse probablement donner une meilleure réponse: considérons l'espace linéaire des fonctions , et considérons un opérateur linéaire de la forme (pour ), qui mappe une fonction comme ci-dessus à la fonction . Dans de nombreuses questions du SDC, il existe un besoin sous-jacent d'analyser les effets de tels opérateurs sur certaines fonctions.f:{0,1}nRσww{0,1}nf(x)f(x+w)

Or, le fait est que la base de Fourier est la base qui diagonalise tous ces opérateurs en même temps, ce qui simplifie beaucoup l'analyse de ces opérateurs. Plus généralement, la base de Fourier diagonalise l'opérateur de convolution, qui sous-tend également nombre de ces questions. Ainsi, l’analyse de Fourier sera probablement efficace chaque fois que l’on aura besoin d’analyser ces opérateurs.

En passant, l'analyse de Fourier n'est qu'un cas particulier de la théorie de la représentation des groupes finis. Cette théorie considère l’espace plus général des fonctions où est un groupe fini, et des opérateurs de la forme (pour ) qui à , La théorie vous permet alors de trouver une base qui facilite l’analyse de tels opérateurs - même si, pour les groupes généraux, vous ne pouvez pas réellement diagonaliser les opérateurs.f:GCGσhhGf(x)f(xh)

Ou meir
la source
6
c'est une excellente réponse.
Suresh Venkat
2
Belle façon de le dire. Dans le même ordre d'idées, si vous voulez examiner les n-uplets , l'analyse standard de Fourier est souvent non assez long, et il peut être utile de passer à l’analyse de Fourier d’ordre supérieur . (f(x),f(x+w1),f(x+w2),f(x+w1+w2))
arnab
3
Qu'entendez-vous par "diagonaliser un opérateur"?
John Moeller
10
John - Si vous affichez les fonctions sous forme de vecteurs dans un sous-espace, l'opérateur est une opération linéaire sur les vecteurs et peut être visualisé sous forme de matrice. Diagonaliser cet opérateur signifie diagonaliser la matrice. f
Ou Meir
1
il est intéressant de noter que même les applications de juntas d'apprentissage peuvent être comprises en termes d'opérateurs de convolution: une junte est égale à son image sous l'opérateur qui fait la moyenne des entrées qui ne sont pas d'accord sur des coordonnées non pertinentes. Cet opérateur est un opérateur de convolution et est rare dans le domaine de Fourier. Il s'agit d'un thème général: lorsqu'une fonction est "corrélée avec elle-même", elle nécessite une approche à la Fourier.
Sasho Nikolov
6

Voici peut-être un autre point de vue sur cette question.

En supposant que la fonction pseudo-booléenne soit k-bornée, la représentation polynomiale de Walsh de la fonction peut être décomposée en k sous-fonctions. Tous les termes linéaires sont rassemblés dans une seule sous-fonction, toutes les interactions paires par deux dans une seule sous-fonction, puis les interactions à trois voies, etc.

Chacune de ces sous-fonctions est un "paysage élémentaire" et chacune de ces sous-fonctions est donc un vecteur propre de la matrice de contiguïté laplacienne (c'est-à-dire le voisinage de Hamming distance 1). Chaque sous-fonction a une "équation d'onde" correspondante du type de tous les paysages élémentaires. Sauf que maintenant, il existe k équations de vagues qui agissent en combinaison.

La connaissance des équations d'onde permet de caractériser statistiquement l'espace de recherche correspondant de manière assez précise. Vous pouvez calculer la moyenne et la variance et incliner des billes de Hamming arbitraires (exponentiellement grandes) et des hyperplans arbitraires de l'espace de recherche.

Voir le travail de Peter Stadler sur les paysages élémentaires.

Andrew Sutton et moi (Darrell Whitley) avons travaillé sur l'utilisation de ces méthodes pour comprendre et améliorer les algorithmes de recherche locaux pour l'optimisation pseudo-booléenne. Vous pouvez utiliser les polynômes de Walsh pour identifier automatiquement les mouvements d'amélioration des algorithmes de recherche locaux. Il n’est jamais nécessaire d’énumérer au hasard les quartiers de l’espace de recherche. L'analyse de Walsh peut vous dire directement où se situent les mouvements en amélioration.

Darrell Whitley
la source
4
Pourriez-vous donner des indications sur le travail que vous citez?
András Salamon
2

une excellente réponse à cette question n’existe probablement pas encore car c’est un domaine de recherche relativement jeune et très actif. Par exemple, Ingo Wegeners a publié un ouvrage complet sur les fonctions booléennes de 1987 qui n’a rien à voir avec le sujet (sauf pour analyser la complexité du circuit de la TFD).

une simple intuition ou conjecture est qu'il apparaît que des coefficients de Fourier élevés d'ordre supérieur indiquent la présence de sous-fonctions qui doivent prendre en compte de nombreuses variables d'entrée et qui, par conséquent, nécessitent de nombreuses portes. C'est-à-dire que l'expansion de Fourier est apparemment un moyen naturel de mesurer quantitativement la dureté d'une fonction booléenne. Je n'ai pas vu cela directement prouvé, mais je pense qu'il a fait allusion à de nombreux résultats. Par exemple, la limite inférieure de Khrapchenko peut être liée aux coefficients de Fourier. [1]

Une autre analogie approximative peut être empruntée à l'EE ou à d'autres domaines de l'ingénierie, dans une certaine mesure, où l'analyse de Fourier est largement utilisée. il est souvent utilisé pour les filtres EE / traitement du signal . les coefficients de Fourier représentent une "bande" particulière du filtre. l'histoire dit aussi que le "bruit" semble se manifester dans des gammes de fréquences particulières, par exemple basses ou hautes. Dans CS, une analogie avec le "bruit" est "aléatoire", mais de nombreuses recherches (atteignant un jalon dans [4], par exemple) montrent clairement que le caractère aléatoire est fondamentalement identique à la complexité. (Dans certains cas, "l'entropie" apparaît également dans le même contexte.) L'analyse de Fourier semble convenir à l'étude du "bruit", même dans les environnements CS. [2]

une autre intuition ou image découle de la théorie du vote / choix [2,3], il est utile d’analyser les fonctions booléennes comme ayant des sous-composants qui "votent" et influencent le résultat. C'est-à-dire que l'analyse du vote est une sorte de système de décomposition des fonctions. Cela s'appuie également sur une théorie du vote qui a atteint des sommets en analyse mathématique et qui, semble-t-il, est antérieure à l'utilisation de nombreuses analyses de Fourier des fonctions booléennes.

de plus, le concept de symétrie semble être primordial dans l'analyse de Fourier. plus la fonction est "symétrique", plus le coefficient de Fourier est annulé, et plus la fonction est "simple" à calculer. mais aussi plus la fonction est "aléatoire" et donc plus complexe, moins les coefficients s'annulent. autrement dit, la symétrie et la simplicité, et inversement l'asymétrie et la complexité de la fonction, semblent être coordonnées de manière à pouvoir être analysées par Fourier.

[1] Sur l'analyse de Fourier des fonctions booléennes par Bernasconi, Codenotti, Simon

[2] Brève introduction à l'analyse de Fourier sur le cube booléen (2008) de De Wolf.

[3] Quelques sujets sur l'analyse des fonctions booléennes par O'Donnell

[4] Les preuves naturelles de Razborov & Rudich

vzn
la source
3
voir aussi le livre en ligne Analyse des fonctions booléennes par O'Donnell
vzn
La conjecture sur la complexité du fol booléen se reflète dans le "spectre de puissance" sur les coefficients de Fourier - une extension naturelle des résultats célèbres du papier de Linial Mansour Nisan, Circuits à profondeur constante, Transformée de Fourier et faculté d'apprentissage . abstract: "le résultat principal est qu'un fn booléen AC ^ 0 a la plus grande partie de son 'spectre de puissance' sur les coefficients d'ordre faible"
vzn
2
il existe une belle analyse de l’analyse de Fourier dans le ch2 du livre de Juknas, complexité des fonctions booléennes, avances et frontières , qui indique que les coefficients de Fourier sont corrélés aux fonctions de parité calculées sur des sous-ensembles de variables d’entrée.
vzn
2
Pourquoi cette réponse est-elle si fortement rejetée?
user834