Devre karmaşıklığı ile bir işlev için bir katmanlı boolean devre ne kadar küçük olabilir ?


12

Bir işlevi göz önünde mantıksal bir devre tarafından hesaplanan ile boyutta girişler esas üzerinde ( kapıları için 2 nog ile ).C n s ( n ) = p o l y ( n ) { X O R , A N D , N O T } X O R , A N DfCns(n)=poly(n){XOR,AND,NOT}XOR,AND

Boolean devresi olan tabakalı bunun içine yerleştirilmiş olabilir, eğer (tabakalar iki kapak arasında bir kenarına komşu tabakalar birbirine bağlayan şekilde devrenin derinliği olan) kapıları.ddd

Göz önüne alındığında boyutu bir boole devreye sahiptir biz katmanlı devre hesaplama büyüklüğünde diyebilirim, ? Önemsiz bir üst sınır vardır: bir kenardan geçen her katmanda kukla düğümler ekleyerek , en çok boyutunda katmanlı bir devre elde ederiz . Ancak genel olarak daha iyi olabilir miyiz (örneğin veya ) veya ilginç devre sınıfları için?s f C O ( s 2 ) O ( s log s ) O ( s )fsfCO(s2)O(slogs)O(s)

Arka fon. Bu soru, boyutlarındaki katmanlı boolean devrelerinin iletişim ile güvenli bir şekilde nasıl hesaplanacağını gösteren kriptografideki son sonuçlardan kaynaklanmaktadır (örn. veya s / \ log \ log s) ; Katmanlı boole devreleri için bu kısıtlamanın pratikte ya genel devreler için ya da "doğal" devreler için ne kadar kısıtlayıcı olabileceğini anlamaya çalışıyorum. Ancak, literatürdeki katmanlı devreler hakkında fazla bir şey bulamadım; uygun işaretçiler de memnuniyetle karşılanacaktır.o ( s ) s / log s s / log log s )so(s)s/logss/loglogs)


4
Burada, önemli bir boyut artışı olmadan katmanlı bir devreye dönüştürmek zor gibi görünen bir devre örneği. boyutunda hesaplanabilecek bir fonksiyon olarak tanımlayın . Tanımlama ve izin olmak iterasyon . Sonra boyutu vardır . dan küçük bir katmanlı devre oluşturmak zor görünüyor . Eğer , belki bir devrenin büyüklüğü ile katmanlı bir devrenin büyüklüğü arasında bir boşluk beklemeliyiz. Bir kanıt değil, sadece sezgiyi yönlendirmek için müstehcen bir örnek.u g ( x 1 , , x n ) = ( x 2 , , x n , x 1f ( x 2 , , x n ) ) C t g C O ( t u ) Θf:{0,1}n1{0,1}ug(x1,,xn)=(x2,,xn,x1f(x2,,xn))CtgCO(tu)u = o ( n )Θ(nt)u=o(n)
DW

2
Hatırladığım kadarıyla, katmanlı devreler için en iyi bilinen alt sınır biçimindedir . to- işlevini kanıtlamak özellikle kolaydır . Örneğin, in sadece ana diyagonalde sıfır olduğu doğrusal bir harita alın . Daha sonra her katmanda en az geçidi bulunmalı ve katman sayısı en az . Bu fonksiyonun büyüklüğünde normal bir devre ile kolayca hesaplanabileceğini unutmayın . Tek çıkışlı işlevler için aynı alt sınırı kanıtlamak da mümkündür, ancak argümanı hatırlamıyorum. n n A x A { 0 , 1 } n × n n log 2 n O ( n )Ω(nlogn)nnAxA{0,1}n×nnlog2nO(n)
Alexander S. Kulikov

1
Yorumlar için çok teşekkürler. @ AlexanderS.Kulikov, argüman folklorunuz mu, yoksa katmanlı devrelerde çalışmak için işaretçi mi var? mantıklı - Ben küçük bir şey tarafından çok sürpriz olurdu - ama sadece üst bağlanmış bilinen? O ( n 2 )Ω(nlogn)O(n2)
Geoffroy Couteau

1
Sanırım bu bir folklor, evet. üst sınırı hakkında soru aldığımdan emin değilim . Aşağıdaki makaleye göz atmak isteyebilirsiniz: cs.utexas.edu/~panni/sizedepth.pdfO(n2)
Alexander S. Kulikov

1
Genel olarak dönüşümünden daha iyi bir şey bilmediğimizi düşünüyorum . ve derinlik büyüklüğündeki bir devrenin, en fazla büyüklüğünde katmanlı bir devreye dönüştürülebileceğini unutmayın . (Hangi en kötü durumda bize boyutunda bir devre verir .) Sadece bir büyüklüğünde alt sınırını kanıtlayabilirsek , katmanlı devre, bu bize bu fonksiyon için kütük derinliği devrelerinin boyutunda süper doğrusal bir alt sınır verecektir. Bu soru 40 yıldan uzun bir süredir açıktır. s d d s O ( s 2 ) ω ( n log n )O(s2)sddsO(s2)ω(nlogn)
Alex Golovnev

Yanıtlar:


8

Bildiğim kadarıyla, üç katmanlı devre sınıfı incelendi. Tüm bu tanımlarda yaylara sadece iki bitişik katman arasında izin verilir.

  1. Tüm kapılar katmanlar halinde düzenlenmişse bir devre eşzamanlı ( Harper 1977 ) olarak adlandırılır ve girişler 0 katmanında olmalıdır. (Eşdeğer bir tanım: herhangi bir g kapısı için , girişlerden g giden tüm yollar aynı uzunlukta olur.)

  2. Her giriş tam olarak bir kez ancak keyfi bir katmanda gerçekleşirse bir devre yerel olarak senkronizedir ( Belaga 1984 ).

  3. Kapılar ve girişler katmanlar halinde düzenlenmişse , bir devre katmanlıdır ( Gál, Jang 2010 ), farklı katmanlarda girişler birden çok kez oluşabilir. (Eşdeğer bir tanım: bir kapı için g ve çıkış kapısı o , tüm yönlendirilmiş yolları g için o . Aynı uzunluğa)

Üç sınıfın en zayıftan en güçlüye kadar listelendiğini görmek kolaydır (ve sınırsız devre sınıfı daha da güçlüdür).

Sınırsız s büyüklüğünde bir devreyi hesaplayan katmanlı bir devrenin büyüklüğü ile ilgili olarak aşağıdakileri biliyoruz:

  1. s ebadındaki herhangi bir devre, s2 ebadındaki senkron / lokal senkronize / tabakalı devre ile hesaplanabilir ( Wegener 1987, Bölüm 12.1 ).

  2. ω(slogs) boyutunda senkron / yerel olarak senkron / katmanlı devre gerektiren açık bir fonksiyon bulmak zor olmalıdır . Aslında, s ve derinlik dnin her devresi, O(sd) büyüklüğünde bir senkron devre ile hesaplanabilir ( Wegener 1987, Bölüm 12.1 ). Bu nedenle, ω ( n log n ) boyutunda senkron devreler gerektiren (sınırsız devreler sınıfındaki karmaşıklığına bakılmaksızın ) açık bir f fonksiyonumuz olsa bile , fω(nlogn)fDerinlik bir devre ile hesaplanamaz O(logn) ve boyut O(n) devre karmaşıklığını bir uzun süreli açık soruya cevap, ( Valiant 1977 ).

  3. Açık işlevler var

    3.1. ile Ω(nlogn) alt gitmekte senkron devreler ancak O(n) üst için bağlı yerel olarak senkronize (devreler 1989 Turan ).

    3.2. ile Ω(nlogn) için alt sınır , yerel olarak uyumlu devreler, ancak O(n) üst gitmekte tabakalı devreler ( Turan 1989 ).

Turán'ın bu iki ayırma sonucunun bir çıkışı olan işlevler için kanıtlanmış olduğunu belirtmek önemlidir. Bu tür iki sınıfı ayıran n çıkışlı bir işlev bulmak genellikle çok daha kolaydır .

Bir örnek olarak, fonksiyon dikkate f:{0,1}n{0,1}n burada i inci çıkış bit hariç tüm girdilerin bir XOR i inci bir. Bu fonksiyon, kolayca boyutu katmanlı bir devre ile hesaplanabilmektedir O(n) : İlk olarak, tüm girdilerin bir XOR hesaplamak logn toplam boyutu katmanları n , o büyüklüğü bir tabaka tüm çıkışlar hesaplamak n . Öte yandan f , Ω(nlogn) . Aslında,n1 uzunluğundaki bir pariteyi hesaplamak için, devre derinliği en azΩ(logn) olmalıdır ( log n ) . Öte yandan, her katmann bit bilgi iletmelidir, dolayısıyla boyutu en azn olmalıdır.

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.