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?
la source
Réponses:
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}n→R σw w∈{0,1}n f(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:G→C G σh h∈G f(x) f(x⋅h)
la source
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.
la source
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
la source