Qual è la dimensione minima di un circuito che calcola PARITY?


21

È un risultato classico che ogni circuito fan-in 2 AND-OR-NOT che calcola PARITY dalle variabili di ingresso ha una dimensione di almeno e questo è nitido. (Definiamo dimensione come il numero di porte AND e OR.) La dimostrazione è per eliminazione dei gate e sembra fallire se consentiamo un fan-in arbitrario. Cosa è noto per questo caso?3(n-1)

In particolare, qualcuno conosce un esempio quando un fan-in più grande aiuta, cioè abbiamo bisogno di meno di gate?3(n-1)

Aggiornamento del 18 ottobre. Marzio ha dimostrato che per sufficienti anche 5 porte utilizzando la forma CNF di PARITY. Ciò implica un limite di 5n=35per generalen. Puoi fare di meglio?52n-2n


Questo documento può essere correlato. La base, tuttavia, qui è molto più ampia di AND, OR.
Stasys,

La seguente risposta è (a distanza) relativa alla tua domanda. cstheory.stackexchange.com/questions/3624/…
Hermann Gruber,

1
Sia in che in 53nlimiti superiori, in realtà stai ignorando le negazioniovunqueanziché solo sulle variabili, giusto? 52n
Emil Jeřábek sostiene Monica il

1
Come si fa senza duplicare il cancello nel caso in cui sia usato sia positivamente che negativamente?
Emil Jeřábek sostiene Monica il

1
@Harry: hai bisogno delle porte fan-in k-1, ma possono essere posizionate nel profondità k . Questa domanda riguarda la DIMENSIONE e non la PROFONDITÀ! logK
domotorp,

Risposte:


10

È possibile calcolare la parità utilizzando solo porte 2.33n + C. La costruzione è abbastanza semplice ed è riportata in questo articolo.

http://link.springer.com/article/10.3103/S0027132215050083

Ecco un esempio di un circuito per la parità di 6 variabili che utilizza solo 12 porte (ogni porta è una porta AND, un cerchio vicino all'ingresso di una porta significa che questo ingresso è invertito). Si noti che un circuito per parità di 6 variabili che è costruito impilando blocchi DNF (come nel limite superiore di Marzio) è costituito da 13 porte.

Ho verificato che per n = 2,3,4,5,6 le dimensioni dei circuiti ottimali sono 3,5,8,10,12. Questi valori sono anche dimensioni di circuiti che danno un limite superiore di 2.33n. Non so ancora se 2.33n è la dimensione del circuito ottimale per ogni n. Ancora di più, non conosco le dimensioni del circuito ottimale per la parità di 7 variabili (ci sono due possibili valori, 14 e 15). Circuito per brevità di 6 variabili


10

Questo limite inferiore di eliminazione del gate non corrisponde al limite superiore di Marzio, ma è un inizio.

Proposta: ogni parità di calcolo del circuito AND / OR / NOT illimitata su variabili contiene almeno 2 n - 1 porte AND e OR.n22n1

Per comodità, userò un modello in cui le uniche porte sono porte AND, ma consentiamo fili di negazione. È facile vedere che sono necessarie porte per n = 2 , quindi è sufficiente mostrare che se C è una parità di calcolo del circuito di dimensioni minime su n > 2 variabili, possiamo trovare una restrizione di una variabile che uccide almeno due porte.3n=2Cn>2

Se una variabile ha almeno due genitori positivi (cioè è collegata da due fili non collegati a due porte diverse), impostando questa variabile su 0 si uccideranno i genitori e il gioco è fatto; allo stesso modo se ha due genitori negativi. Possiamo quindi supporre che ogni variabile abbia al massimo un genitore positivo e al massimo un genitore negativo.xi0

Facciamo essere un cancello di livello inferiore nel circuito. Senza perdita di generalità, a = x 1x 2 . Imposta x 1 = 0 , che forza a = 0 e lo uccide. Il circuito limitato C ' calcola ancora la parità, in particolare dipende da x 2 , quindi x 2 ha un genitore negativo b = ¬ x 2c 1c r . Si noti che inaa=x1x2x1=0a=0Cx2x2b=¬x2c1cr , no c j dipende da x 2 . Se ci fosse un'assegnazione a x 3 , ... , x n che (sopra x 1 = 0 ) rendefalsaqualche c j , il circuito limitato da questa assegnazione sarebbe costante, contraddicendo il fatto che calcola x 2 o ¬ x 2 . Pertanto, in C , tutta la c j calcola la costante 1 e b calcola ¬ xCcjx2x3,,xnx1=0cjx2¬x2Ccj1b , quindi possiamo eliminarla insieme con un .¬x2a

EDIT: Come ho imparato dall'articolo di Yuri Kombarov, questo limite inferiore di , così come il 52n1limite superiore implicito nella risposta di Marzio De Biasi, furono originariamente provati in52n2

[1] Ingo Wegener, La complessità della funzione di parità in fan-in illimitati , circuiti di profondità illimitati , Theoretical Computer Science 85 (1991), n. 1, pagg. 155-170. http://dx.doi.org/10.1016/0304-3975(91)90052-4


Sì, quindi la domanda è se possiamo eliminare 5 porte fissando 2 variabili.
domotorp,

Giusto. O ancora meglio, se possiamo eliminare 3 gate fissando una variabile quando è pari. n
Emil Jeřábek sostiene Monica il

8

Espando il mio commento:

1) un fan-in AND gate può essere simulato da k - 1 fan-in 2 AND gate (e lo stesso vale per un OR gate); quindi se I i2 è il fan-in del gate g i, deve essere valida la seguente relazione:KK-1ioio2gio

|C|+Σio(ioio-2)3(n-1)

2) se permetti un fan arbitrario, allora puoi battere il limite ; ad esempio si consideri la PARITÀ su 3 variabili ( x 1 , x 2 , x 3 ) ; il seguente circuito lo calcola con solo 5 porte di fan-in arbitrarie:3(n-1)(X1,X2,X3)

inserisci qui la descrizione dell'immagine


Bello, anzi per n = 3 il CNF ha solo 5 porte! Mi chiedo se si possa fare ancora meglio in generale.
domotorp,

Non ci ho pensato troppo, ma puoi sicuramente combinare e utilizzare in parallelo il circuito sopra riportato e ottenere, ad esempio, un circuito PARITY per 9 variabili che utilizza solo 20 gate anziché 24
Marzio De Biasi,

L'ho fatto e ho aggiornato la mia domanda.
domotorp,

2

5n/2

Se esiste un valore letterale con 3 genitori, possiamo eliminare tutti e 3 con una variabile.

Se due letterali si presentano insieme in 2 porte diverse, insieme, possiamo applicare l'argomento principale dalla risposta di Emil, eliminando di nuovo 3 porte con una variabile.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.