Berapa ukuran minimum sirkuit yang menghitung PARITY?

21

Ini adalah hasil klasik bahwa setiap rangkaian fan-in 2 AND-OR-NOT yang menghitung PARITY dari variabel input memiliki ukuran minimal dan ini tajam. (Kami mendefinisikan ukuran sebagai jumlah gerbang AND dan OR.) Buktinya adalah dengan eliminasi gerbang dan tampaknya gagal jika kami mengizinkan kipas masuk sewenang-wenang. Apa yang diketahui untuk kasus ini?3(n1)

Secara khusus, apakah ada yang tahu contoh ketika fan-in yang lebih besar membantu, yaitu, kita membutuhkan kurang dari 3(n1) gerbang?

Pembaruan 18 Oktober. Marzio telah menunjukkan bahwa untuk bahkan 5 gerbang sudah cukup menggunakan formulir CNF dari PARITY. Ini menyiratkan batas 5n=35untuk umumn. Bisakah kamu berbuat lebih baik?52n2n

domotorp
sumber
Makalah ini mungkin terkait. Dasarnya, bagaimanapun, di sini jauh lebih besar daripada DAN, ATAU.
Stasys
Jawaban berikut ini (jarak jauh) terkait dengan pertanyaan Anda. cstheory.stackexchange.com/questions/3624/…
Hermann Gruber
1
Baik dalam dan 53nbatas atas, Anda benar-benar mengabaikan negationsdi mana-manabukan hanya pada variabel, kan? 52n
Emil Jeřábek mendukung Monica
1
Bagaimana Anda melakukannya tanpa menduplikasi gerbang jika digunakan baik positif dan negatif?
Emil Jeřábek mendukung Monica
1
@ Harry: Anda perlu gerbang fan-in k-1, tetapi mereka dapat ditempatkan di kedalaman . Pertanyaan ini tentang UKURAN dan bukan KEDALAMAN! logk
domotorp

Jawaban:

10

Dimungkinkan untuk menghitung paritas hanya dengan menggunakan 2.33n + gerbang C. Konstruksinya cukup sederhana dan diberikan dalam artikel ini.

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

Berikut adalah contoh sirkuit untuk paritas 6 variabel yang hanya menggunakan 12 gerbang (setiap gerbang adalah gerbang AND, sebuah lingkaran di dekat input gerbang berarti bahwa input ini dibalik). Perhatikan bahwa rangkaian untuk paritas 6 variabel yang dibangun dengan menumpuk blok-DNF (seperti pada batas atas Marzio) terdiri dari 13 gerbang.

Saya telah memeriksa bahwa untuk n = 2,3,4,5,6 ukuran rangkaian optimal adalah 3,5,8,10,12. Nilai-nilai ini juga merupakan ukuran sirkuit yang memberikan batas atas 2.33n. Saya masih tidak tahu apakah 2.33n adalah ukuran rangkaian optimal untuk setiap n. Terlebih lagi, saya tidak tahu ukuran rangkaian optimal untuk paritas 7 variabel (ada dua nilai yang mungkin, 14 dan 15). Sirkuit untuk paten 6 variabel

Yuri Kombarov
sumber
10

Batas bawah eliminasi gerbang ini tidak cocok dengan batas atas Marzio, tapi ini awal.

Proposisi: Setiap paritas penghubung sirkit AND / OR / NOT tanpa batas pada variabel berisi setidaknya 2 n - 1 gerbang AND dan OR.n22n1

Untuk kenyamanan, saya akan menggunakan model di mana satu-satunya gerbang adalah AND-gates, tetapi kami mengizinkan kabel negasi. Sangat mudah untuk melihat bahwa gerbang diperlukan untuk n = 2 , maka itu cukup untuk menunjukkan bahwa jika C adalah paritas komputasi sirkuit ukuran minimal pada n > 23n=2Cn>2 variabel, kita dapat menemukan batasan satu variabel yang membunuh setidaknya dua gerbang.

xi0

aa=x1x2x1=0a=0Cx2x2b=¬x2c1crCcjx2x3,,xnx1=0cjx2¬x2Ccj1b¬x2a

2n152n2

[1] Ingo Wegener, Kompleksitas fungsi paritas dalam sirkuit fan-in tanpa batas, tidak terbatas , Theoretical Computer Science 85 (1991), no. 1, hlm. 155–170. http://dx.doi.org/10.1016/0304-3975(91)90052-4

Emil Jeřábek mendukung Monica
sumber
Ya, jadi pertanyaannya adalah apakah kita bisa menghilangkan 5 gerbang dengan memperbaiki 2 variabel.
domotorp
n
8

Saya memperluas komentar saya:

kk1Ii2gi

|C|+i(Ii2)3(n1)

3(n1)(x1,x2,x3)

masukkan deskripsi gambar di sini

Marzio De Biasi
sumber
Bagus, memang untuk n = 3 CNF hanya memiliki 5 gerbang! Saya ingin tahu apakah seseorang dapat melakukan yang lebih baik secara umum.
domotorp
Saya tidak terlalu memikirkannya, tetapi Anda pasti dapat menggabungkan dan menggunakan secara paralel rangkaian di atas dan mendapatkan, misalnya, sirkuit PARITY untuk 9 variabel yang hanya menggunakan 20 gerbang alih-alih 24
Marzio De Biasi
Saya lakukan dan saya memperbarui pertanyaan saya.
domotorp
2

5n/2

Jika ada literal dengan 3 orang tua, kita bisa menghilangkan semua 3 dengan satu variabel.

Jika dua literal muncul bersama dalam 2 gerbang yang berbeda, bersama-sama, kita dapat menerapkan argumen utama dari jawaban Emil, lagi-lagi menghilangkan 3 gerbang dengan satu variabel.

domotorp
sumber