Soit la fonction majoritaire, c'est-à-dire f ( x ) = 1 si et seulement si ∑ n i = 1 x i > n / 2 . Je me demandais s'il y avait une preuve simple du fait suivant (par «simple», je veux dire ne pas compter sur la méthode probabiliste comme Valiant 84 ou sur les réseaux de tri; fournissant de préférence une construction explicite et directe du circuit):
peut être calculé par une famille de circuits de O ( log ( n ) ) profondeur , de taille poly (n), où les portes se composent de portes NON, de portes OU à 2 entrées et de portes ET à 2 entrées.
cc.complexity-theory
circuit-complexity
boolean-functions
circuit-families
circuit-depth
matthon
la source
la source
Réponses:
La réponse de Kaveh fournit une réponse à la question telle que vous l'avez énoncée (et c'est la preuve habituelle pour montrer que est contenu dans N C 1 ). Mais je pensais que vous auriez pu en fait avoir l'intention de poser une question légèrement différente. À savoir pour un monotone de taille polynomiale expliciteTC0 NC1 formule pour la majorité.
Puisque la majorité est monotone, nous savons qu'elle peut être calculée par une formule monotone. Il existe deux constructions connues de formules monotones de taille polynomiale, à savoir les deux que vous mentionnez, la construction probabiliste de Valiant et la construction via des réseaux de tri. Pour autant que je sache, nous n'avons pas de construction déterministe plus simple que celle fournie par les réseaux de tri.
Lié à cela est également le suivant. Il s'avère que la majorité peut être calculée par des formules qui se composent uniquement de portes (et pas de constantes!). La construction probabiliste de Valiant peut être adaptée pour donner de telles formules de profondeur O ( log ( n ) ) . Cependant, nous ne connaissons ici aucune construction déterministe. En particulier, les réseaux de tri ne conviennent pas pour cela (raison technique: ils fourniraient toutes les fonctions de seuil et seule la fonction majoritaire peut être calculée du tout par des portes M A J 3 ). Il y a cependant des progrès récents sur cette question donnée dans le documentMAJ3 O(log(n)) MAJ3 Protocoles multipartites efficaces via des formules de seuil de profondeur de journal par Cohen et al. Ici, ces formules sont construites sur la base d'hypothèses théoriques de complexité ou cryptographiques standard.
la source
Le calcul de la porte à seuil restreint ( ) consiste essentiellement à trier les bits d'entrée.∑ixi≥k
Si vous pouvez trier les bits, il est facile de comparer le résultat à et de calculer le seuil restreint.k
En revanche, supposons que nous avons un circuit pour calculer le seuil restreint. Nous pouvons faire une recherche parallèle pour trouver le nombre de ceux dans l'entrée et sortir la liste triée.
Notez qu'il est facile d'implémenter le seuil restreint en utilisant la majorité en ajoutant de nouvelles entrées 1 et 0 à la porte de la majorité.
We have to use the trick called three-for-two to remain in depthO(lgn) .
Another method is to use signed digit representation of integers where addition can be done in depthO(1) and fan-in 2. (The idea is to use the flexibility that a number can be represented in more than one way to make sure that carries do not propagate).
See section 4 and exercise 4 in
la source
The proof (due to Miller and Preparata, 1975) that any symmetric function can be computed by circuits over {AND,OR,NOT} in logarithmic depth can be found, e.g., in Complexity of Boolean Functions by Ingo Wegener (Theorem 4.1, page 76). The corresponding circuit has linear size. And since the depth is logarithmic it can be turned to a formula of polynomial size. The proof is elementary and gives an explicit construction. Basically, it shows how to compute the binary representation of the sum ofn input bits in logarithmic depth (having this sum it is straightforward to compute majority).
An alternative proof is given by Brodal and Husfeldt: A Communication Complexity Proof that Symmetric Functions have Logarithmic Depth. Again, the proof is elementary and provides an explicit construction.
la source