L'addition peut-elle être effectuée en moins de la profondeur 5?

21

En utilisant l'algorithme de report prospectif, nous pouvons calculer l'addition en utilisant une profondeur de taille polynomiale 5 (ou 4?) famille de circuits C 0 . Est-il possible de réduire la profondeur? Peut-on calculer l'addition de deux nombres binaires en utilisant une famille de circuits de taille polynomiale avec une profondeur inférieure à celle obtenue par l'algorithme de report prospectif?AC0

Existe-t-il des bornes inférieures super polynomiales pour la taille des familles de circuits calculant l'addition où d est 2 ou 3?ACd0d

Par profondeur, j'entends la profondeur d'alternance.

Anonyme
la source
Peux-tu nous dire ton nom? Qui tu es? Au cours du mois dernier, les gens créent un nouveau nom d'utilisateur ici, posent une question, puis suppriment ce nom d'utilisateur!
Tayfun Pay
14
@Geekster, les gens ne sont généralement pas tenus de créer un compte ou d'utiliser leur vrai nom (mais il est encouragé de le faire pour diverses raisons). Si vous avez une préoccupation générale à propos de quelque chose, veuillez utiliser la méta informatique théorique pour la soulever.
Kaveh
4
Cela pourrait être forcé brutalement en vérifiant qu'aucun circuit de profondeur AC 0 ne peut calculer la somme ( m + 1 ) bits de deux entrées m bits pour certains m fixes ; il n'y a qu'un nombre fini de fonctions booléennes des bits d'entrée qui peuvent apparaître à chaque profondeur. 40(m+1)mm
mjqxxxx
5
@mjqxxxx: Comment appliquez-vous la contrainte de taille polynomiale sur les circuits AC0 lors du forçage brut pour un m fixe? @ OP: La meilleure profondeur de circuit actuelle 4 ou 5 est-elle la meilleure?
Robin Kothari
14
@mjqxxxx: Chaque fonction booléenne est calculable par des circuits de profondeur . Supposons maintenant que vous trouviez pour votre m fixe un circuit de taille s . Comment jugez-vous s'il existe des circuits de taille c n pour chaque n , où c = s / m , ou s'il existe uniquement des circuits de taille 2 ϵ n , où ϵ = ( log s ) / m ? Il n'y a tout simplement aucun moyen de déduire des informations asymptotiques à partir d'un exemple fini. 2mscnnc=s/m2ϵnϵ=(logs)/m
Emil Jeřábek soutient Monica

Réponses:

13

Selon le théorème 3.1 dans Alexis Maciel et Denis Therien Threshold Circuits of Small Majority-Depth, il existe en effet un circuit de profondeur 3 pour calculer l'addition de deux nombres.

La limite précise est Δ 2 = Σ 2tc 2 sont des problèmes qui ont la profondeur 2 A C 0 circuits à la fois , portes en haut et en N C 0 1 circuits sont N C 0 circuits de profondeur un (voir l'article pour une explication détaillée de la notation).Δ2NC10Δ2=Σ2Π2AC0,NC10NC0

Les principales idées de preuve sont:

  • Tout d'abord, exprimez le circuit d'anticipation Carry comme NC0Δ2NC0
  • Ensuite, invoquez les propriétés de fermeture de pour écrire ceci comme Δ 2N C 0Δ2Δ2NC0
  • Enfin, utilisez le fait (également prouvé dans l'article) que NC0Δ1NC10
SamiD
la source
9

Les circuits de profondeur 2 nécessitent une taille exponentielle pour calculer l'addition, car un circuit de profondeur 2 doit être DNF ou CNF et il est facile de vérifier qu'il existe de manière exponentielle de nombreux minterms et maxterms.

Attention : la partie ci-dessous est buggée . Voir les commentaires sous la réponse.

De la façon dont je le compte, l'addition peut être effectuée en profondeur 3. Supposons et b i sont les i ème bits des deux nombres, où 0 est l'indice du LSB et n du MSB. aibii0n

Calculons le ème bit de la somme, s i de la manière standard avec report d'anticipation:isi

si=aibici

est XOR et c i est le portage calculé comme suit:ci

ci=jj<i(gjpj)

et signifie que le j ème emplacement "a généré" le report:gjj

gj=(ajbj)

et signifie que le report se propage de j à i :pjji

pj=kj<k<i(ajbj)

En comptant la profondeur, est la profondeur 2 et c i est la profondeur 3. Alors qu'il semblerait que s i soit la profondeur 4 ou 5, ce n'est vraiment que la profondeur 3 car il s'agit d'un calcul fanin borné de circuits de profondeur 3 donc un peut pousser les deux niveaux supérieurs vers le bas en utilisant des formules de-Morgan, tout en gonflant la taille du circuit d'une quantité polynomiale.pjcisi

Noam
la source
4
Je ne vois pas exactement comment le calcul fanin borné des circuits de profondeur 3 est automatiquement de profondeur 3. Si, disons, vous écrivez comme ( c i¬ ( a ib i ) ) ( ¬ c i( a ib i ) ) , vous pouvez faire le premier disjoncté un circuit de profondeur 3 avec en haut, et le second disjoncté un circuit de profondeur 3 avec si(ci¬(aibi))(¬ci(aibi))en haut. Je ne vois pas comment pousser la disjonction supérieure vers le bas sans augmenter la profondeur d'un pour tenir compte de l'inadéquation entre les types conjonctifs dans les deux parties. Cela peut être résolu en notant que peut également être calculé de manière différente par un circuit de profondeur 3 ...ci
Emil Jeřábek soutient Monica
1
... avec sur le dessus. D'un autre côté, tous les circuits de profondeur 3 ont borné le fan-in inférieur, donc je les appellerais profondeur 2 1/2.
Emil Jeřábek soutient Monica
1
Cela est évident. Ce que je signale, c'est que tel qu'écrit, vous n'avez pas ici un OU de deux circuits de profondeur avec ET sur le dessus. Vous avez un OU de deux circuits de profondeur d , dont l'un a ET sur le dessus, et l'autre a OU sur le dessus. Je doute que de tels circuits puissent être convertis en profondeur d en général. Considérez les AND et OR polynomiaux en éventail comme des quantificateurs. Vous pouvez exprimer ( x 1x 2Q x d ϕ ( x 1 , , x d ) ) ( xddd comme formule prénex avec d blocs de quantification, mais vous avez besoin de d + 1 blocs pour exprimer ...(X1X2QXϕ(X1,,X))(X1X2QXψ(X1,,X))+1
Emil Jeřábek soutient Monica
1
... la formule . (X1X2QXϕ(X1,,X))(X1X2Q¯Xϕ(X1,,X))
Emil Jeřábek soutient Monica
5
Pour un contre-exemple explicite du principe général, soit une famille de fonctions calculables par A C 0 d circuits avec OR en haut nécessitant des circuits super-polynomiaux de profondeur d avec ET en haut (par exemple, les fonctions Sipser). Alors x 0f n n'ont pas de circuits A C 0 d . Supposons pour contradiction que C n ( x 0 , , x n )Fn(X1,,Xn)UNEC0X0FnUNEC0Cn(X0,,Xn)sont de tels circuits, et que a OR sur le dessus (l'autre cas est symétrique). En fixant x 0 = 1 , on obtient A C 0 d circuits pour ¬ f n avec OR en haut, d'où A C 0 d circuits pour f n avec AND en haut, une contradiction. CnX0=1UNEC0¬FnUNEC0Fn
Emil Jeřábek soutient Monica