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.n2n2

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)=x1xnx¯1x¯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 . 2n2
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 57 . 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 ix i + 1 hesaplamasıC3=3C4=5C571n2n32n3xixi+1 ( ( n - 1 ) kapı) ve daha sonra bunların ( ( n - 2 ) kapı)birleşimini hesaplayın. i=1,,n1(n1)(n2)
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. 2n3fn(x)=x1xnx¯1x¯nn1xi,xi+1n2
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.x1xnx¯1x¯n 2nc


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 . 2n2C(fn)C(AND,OR)c2nc
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 1x nˉ x 1ˉ x n --- 2 için alt sınır elde ederiz n - 52n2x1xnx¯1x¯n2n5
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 .3n/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.3n/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.