Cómo calcular la inversión de bits usando n negaciones2n−1n
Deje que los bits se ordenen en orden decreciente, es decir,
i < j implica x i ≥ x j . Esto se puede lograr mediante una red de clasificación monótona como la red de clasificación Ajtai – Komlós – Szemerédi.x0,…,x2n−1i<jxi≥xj
Definimos el circuito de inversión para bits I n ( → x ) inductivamente: Para el caso base tenemos n = 1 e I 1 0 ( → x ) : = ¬ x 0 . Sea m = 2 n - 1 . Reducimos I n (para 2 m + 1 ) bits a una I n - 1 puerta (para m2n−1In(x⃗ )n=1I10(x⃗ ):=¬x0m=2n−1In2m+1In−1mbits) y una puerta de negación con y ∨ puertas. Usamos la negación para calcular ¬ x m . Para i < m let y i : = ( x i ∧ ¬ x m ) ∨ x m + i . Usamos I n - 1 para invertir → y . Ahora podemos definir I n de la siguiente manera:∧∨¬xmi<myi:=(xi∧¬xm)∨xm+iIn−1y⃗ In
Ini:=⎧⎩⎨⎪⎪In−1i(y⃗ )∧¬xm¬xmIn−1i(y⃗ )∨¬xmi<mi=mi<m
Es fácil verificar que esto invierte considerando los posibles valores de x ny utilizando el hecho de que → x está disminuyendo.x⃗ xnx⃗
De Michael J. Fischer, La complejidad de las redes de negación limitada: una breve encuesta, 1975.