Aynı anda n giriş bitinin AND ve VEYA hesaplanması için gerekli ikili kapı sayısı


16

Aynı anda giriş bitinin AND ve OR değerlerini hesaplamak için gereken minimum ikili kapı sayısı nedir ? Önemsiz üst sınır 2 n - 2'dir . Bunun en uygun olduğuna inanıyorum, ama bunu nasıl kanıtlayabilirim? Standart geçit eleme tekniği burada çalışmaz, çünkü giriş değişkenlerinden herhangi birine bir sabit atanarak biri çıkışlardan birini önemsiz hale getirir.n2n−2

Sorun ayrıca, Ingo Wegener tarafından "Boolean Fonksiyonlarının Karmaşıklığı" kitabında biraz farklı bir biçimde 5.12 alıştırması olarak verilmiştir: "Let . eleme yöntemi n + Ω ( 1 ) boyutunun sadece alt sınırını kanıtlayabilir. Daha büyük alt sınırları kanıtlamaya çalışın. "fn(x)=x1…xn∨x¯1…x¯nn+Ω(1)


1
@Ryan: Soru VE ibaret değildir ait YA hakkında VE ama ve VEYA. Yine de Sasha'nın sorusunun cevabını bilmiyorum.
— Tsuyoshi Ito

1
@TsuyoshiIto Teşekkürler, bir şekilde yanlış ayrıştırmayı başardım. Bu kesinlikle önemsiz bir sorundur - biri fazla avantaj elde etmek için diğer kapı türlerini kullanmayı hayal edebilir . 2n−2
— Ryan Williams

2
@Sasha, önceki makalelerinizde olduğu gibi küçük örneklere ( gibi ) SAT çözümleyicileri uygulamayı denediniz mi? n=4
— Ryan Williams

2
@Ryan Evet, tabi. Bildiğimiz yani , C 4 = 5 , C 5 ≤ 7 . Bu kitaptaki işlev içindir ( tüm n giriş bitleri eşitse 1'dir ). Bu 2 n - 3 gibi büyür . Ve 2 n - 3 büyüklüğünde bir devre oluşturmak kolaydır: ilk i = 1 , … , n - için x i ≡ x i + 1 hesaplamasıC3=3C4=5C5≤71n2n−32n−3xi≡xi+1 ( ( n - 1 ) kapı) ve daha sonra bunların ( ( n - 2 ) kapı)birleşimini hesaplayın. i=1,…,n−1(n−1)(n−2)
— Alexander S.Kulikov

1
@Tsuyoshi: Ben düşünüyorum sorunun ikinci fonksiyon kapıları Sasha işlev olan ( f n ( x ) = x 1 ... x n ∨ ˉ x 1 ... ˉ x n ) ile inşa edilebileceğini n - 1 XNOR kapısı ( x i , x i + 1'e uygulanır ) ve n - 2 AND kapıları XNOR'lara uygulanır. 2n−3fn(x)=x1…xn∨x¯1…x¯nn−1xi,xi+1n−2
— Marzio De Biasi

Yanıtlar:


14

Bu Blum ve Seysen makalesi yararlı olabilir:

N.Blum, M. Seysen. AND ve NOR Eşzamanlı Hesaplaması için tüm Optimal Ağların Karakterizasyonu . Açta Inf. 21: 171-181 (1984)

Ben düşündüm bunun için 2 n - c Blum & Seysen yöntemleri kullanılarak elde edilebilir bağlı düşürmek, ancak bu durum böyle değil gibi görünüyor.x1…xn∨x¯1…x¯n 2n−c


1
Blum ve Seysen gazetesinin herkese açık bir pdf versiyonu var mı?
— Marzio De Biasi

@ Vladimir, referans için teşekkürler! Makaleyi bulduğunda bu durumda yöntemlerinin uygulanabilir olup olmadığını kontrol etmeye çalışacağım.
— Alexander S.Kulikov

3
@ Vladimir, tekrar thans! Aslında, bu makale tam olarak sorumun cevabını daha da içeriyor: VE ve OR'yi aynı anda hesaplamak için ihtiyaç duyulduğunu ve bu boyuttaki herhangi bir devrenin bağımsız olarak VE ve VEYA hesapladığını söylüyor (bu ilginç!). Ayrıca C ( f n ) ≥ C ( A N D , O R ) - c ≥ 2 n - c ′ olduğunu göstermek zor değildir . 2n−2C(fn)≥C(AND,OR)−c≥2n−c′
— Alexander S.Kulikov

@Sasha, evet, bu basit yapıyı kaçırdım. Bir şeyleri açıklığa kavuşturmak için, kağıtta AND ve NOR işlevleri göz önünde bulundurulur, bu nedenle AND ve OR için bir kapıyı değiştirerek ve x 1 … x n ∨ ˉ x 1 … ˉ x n --- 2 için alt sınır elde ederiz n - 52n−2x1…xn∨x¯1…x¯n2n−5
— Vladimir Lysikov

1
Sadece bir hatırlatma @SashaK. Cevabı beğenirseniz, lütfen oy sayısının altındaki onay işaretine tıklayarak "kabul edin".
— Suresh Venkat

3

Sorunuz, minimum karşılaştırma sayısını kullanarak bir listenin minimum ve maksimum değerlerini aynı anda hesaplama ile ilgili iyi bilinen soru ile ilgilidir. Bu durumda cevap .3⌊n/2⌋

Üst sınırı kanıtlayan akıllı algoritma, karşılaştırmalardan biri hem minimum hem de maksimum hesapladığı için aldığınız aynı sınırla bir AND / OR devresine dönüşür.

Bununla birlikte, en azından monoton devrelerde (bir AND / OR devresi bir maks / dak algoritmasına dönüştüğü için) alt sınır (bir ters argüman tarafından verilir) çevrilmiş gibi görünmektedir. Bu, daha düşük bir bağlanmış ima . Belki de olumsuz argüman analiz edilerek sıkı bir alt sınır elde edilebilir.3⌊n/2⌋

Üst sınır, "Algoritmalara Giriş" te görünür; burada, maks / min karşılaştırıcı devrelerinin boole girişleri için çalıştıklarında geçerli olduğunu gösteren kolay argümanı da bulabilirsiniz (uygun bir eşik kullanın). Alt sınır örneğin burada bulunabilir .


2
Sasha'nın sorusuna dikkat edin, tüm 2-bit Boole fonksiyonları devreyi inşa etmek için kullanılabilir.
— Ryan Williams

Evet, alt sınırın tüm ikili fonksiyonlar durumuna nasıl çevrilebileceği açık değildir.
— Alexander S. Kulikov
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.