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?
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?
Par profondeur, j'entends la profondeur d'alternance.
Réponses:
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 où Δ 2 = Σ 2 ∩ tc 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).Δ2⋅ N C01 Δ2= Σ2∩ Π2 A C0 ∨ , ∧ N C01 N C0
Les principales idées de preuve sont:
la source
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.uneje bje je 0 n
Calculons le ème bit de la somme, s i de la manière standard avec report d'anticipation:je sje
où est XOR et c i est le portage calculé comme suit:⊕ cje
et signifie que le j ème emplacement "a généré" le report:gj j
et signifie que le report se propage de j à i :pj j je
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.pj cje sje
la source