Bir aritmetik devrenin çok doğrusallaştırılmasını değerlendirmek?


13

Let bir alan üzerinde katsayılı bir çok-değişkenli polinom . Arasında multilinearization ile temsil edilir, , art arda her değiştirilmesi sonucu ile ile . Sonuç açıkça çok hatlı bir polinomdur.p(x1,,xn)Fs x d i d > 1 x ipp^xidd>1xi

Şu sorunu göz önünde bulundurun: üzerinde bir aritmetik devre ve , compute alan öğeleri verildi .C(x1,,xn)FC ( bir 1 , ... , bir n )a1,,anC^(a1,,an)

Soru: Alan-aritmetiğin birim zamanda yapılabileceğini varsayarsak, bunun için bir polinom-zaman algoritması var mı? Daha sonra eklendi: aslında bir formül (fan çıkışı devresi ) olduğu özel durumla da ilgileneceğim .C1


1
Neden bir kapalı devrenin çıkışını hesaplamakla eşdeğerdir? Karşılıklı sorun devresi, bir giriş ile ilgili ayrık yollara sahip olmasıdır çeşitli iç çarpım düğümlerine ve bu iç çarpımı düğümlerin her biri değerlendirmek yerine gerektirecektir ile bir yolu tarafından diğer. Üstel yol sayısına sahip bir devrede, üstlenilmesi gereken üstel sayıda vaka olduğu anlaşılıyor. xixiai1
Kasım'da Slimton

2
@Kaveh: Anlamıyorum. Devreye bakın . Henüz girmiş düğümünü değiştirin değeri olan bir düğüm tarafından ve standart bir şekilde değerlendirmek Eğer dönen sonunda yerine . Hesaplama modeli: Turing makinelerinde sadece normal polinom zamanı. İsterseniz alanı için olarak düşünün . x a a 2 a Z / 3 Z(xx)xaa2aZ/3Z
Kasım'da Slimton

2
@Kaveh: Böyle bir algoritmanın söylediklerinizi nasıl ima ettiğini anlamıyorum, ancak bu gerçekten aritmetik devre karmaşıklığında ortak bir hipotezle çelişmektedir: Kalıcı'nın çok boyutlu aritmetik devreleri yoktur (F_2 dışındaki alanlar üzerinde). Polinom düşünün . Bu polinomun çok parçası , en yüksek derece ( ) parçasının sadece . Eğer küçük bir aritmetik devre hesaplaması , o zaman küçük bir aritmetik devre hesaplaması olduğunu gösterebiliriz . q = 2 n r = y 1 y 2y n P e r ( x 11 , , x n n ) q rp=i(jxijyj)q=2nr=y1y2ynPer(x11,,xnn)qr
Srikanth

1
@Srikanth: Cevabımı göndermeden önce yorumunuzu görmedim (bu, yorumunuzda verdiğiniz inşaatın aynısı oldu). O zamandan beri cevabımı sildim ve yorumunuzu cevap olarak göndermelisiniz.
Joshua Grochow

2
@Joshua: Yorumumu cevap olarak eklemedim, çünkü Kaveh'in inşaatının neden işe yaradığını anlamıyorum. Aritmetik devrenin tüm girdilerde çok hatlılığa kabul eden bir polinomu hesapladığını görüyorum, ancak verilen polinomun çok hatlılığını resmi olarak hesapladığından emin değilim (Kaveh cevabından sonra yorumlarıma bakın). Yapım (ve seninki) çok doğrusallaştırmanın resmi olarak hesaplandığını varsayar.
Srikanth

Yanıtlar:


12

alanının en az büyüklüğünde olması durumunda, bu sorunun zor olduğunu düşünüyorum. Daha spesifik olarak, yukarıdaki bu için verimli bir şekilde çözülebiliyorsa , CNF-SAT'ın etkili rastgele algoritmalar olduğunu düşünüyorum. Diyelim ki bize bir CNF formülü verilmiş . Kolayca bir aritmetik devre ile gelebilir bir `` aritmetikleştirme 'hesaplar ait polinom, formülü ile kabul ile - girişler. Multilinearization düşünün hakkındaki . Dikkat edin2 n F φ C p φ p φ 0 1 q p q p φ { 0 , 1 } nF2nFφCpφpφ01qpq üzerinde ve dolayısıyla ile anlaşır .pφ{0,1}n

Ben sıfır olmayan iff olduğunu tatmin edilebilir olduğunu iddia ediyorum . Açıkçası, , tatmin edilemez. Bunun tersine, sıfır olmayan herhangi bir çok-doğrusal polinomun tamamında yok olamayacağı gösterilebilir . Bu, sıfır olmayan bir (ve dolayısıyla karşılık gelen ) içindeki bazı girdilerde yok olmadığını gösterir .φ q = 0 φ { 0 , 1 } n q φ { 0 , 1 } nqφq=0φ{0,1}nqφ{0,1}n

Bu nedenle, tatmin edici olup olmadığını kontrol etmek, sıfır olup olmadığını kontrol eşdeğerdir . Şimdi diyelim ki geniş bir alanı üzerinde değerlendirebiliriz . Daha sonra, Schwartz-Zippel Lemma'yı kullanarak, etkili bir randomize algoritma kullanarak testini yapabilir ve sıfır polinom olup olmadığını kontrol edebiliriz ( boyutu , Schwartz-Zippel Lemma'daki hatayı üst sınırlamak için kullanılır).q q F q FφqqFqF


Bana öyle geliyor ki F sabit bir alan çünkü girişte F'yi belirten hiçbir şey yok. Ayrıca sorunun saha işlemlerinin birim zaman aldığını varsaydığını da unutmayın.
Kaveh

Teşekkürler Srikanth. Kaveh'in tahmin ettiği gibi, sabit sonlu saha davasıyla gerçekten ilgileniyordum, ancak verdiğiniz bu cevap soruyu biraz daha iyi anlamama yardımcı oluyor.
slimton

3

Polytime algoritması verilen olduğunu varsayalım ve çoklu doğrusallaştırılması hesaplanan sonuç ile . (wlog I çıkış üstlenecek bir vektör olacak ikili sayılar bitinin olan IFF biridir.)a C a b p b i k b i , kC(x)F(x)aCabpbikbi,k

Yana vardır aritmetik devre ve değişkenler için değerlerin kodlama verilen bir polysize boole devre girdilere aritmetik devre çoklu doğrusallaştırma hesaplar. Bu devre diyelim .MPP/polyM

Let keyfi bir aritmetik devre olabilir. Aritmetik devreyi tanımlayan boole devresinin değişkenlerini düzeltin , bu nedenle verilen girişlerde çoklu doğrusallaştırmasını hesaplayan bir boole devresine sahibiz .M CCMC

Bu devreyi in tüm değerler için , ancak tüm girişleri gücüne yükselttiğini belirterek üzerinden aritmetik bir devreye dönüştürebiliriz . Her geçidini çarpımı ile , her geçidini ve her geçidini .x p - 1 1 0 p - 1 f g f . g f g f + g - f . g ¬ f 1 - fFpxp110p1fgf.gfgf+gf.g¬f1f

Çıktının formatı hakkında yukarıda yaptığımız varsayımla, çıktıyı ikili değerden üzerinden değerlere . İçin çıkışını alın ve almak için onları birleştirmek .b i 0 k p - 1 k b i , kFpbi0kp1kbi,k

Ayrıca üzerinden değerler olarak verilen ikili forma dönüştürebiliriz, çünkü herhangi bir sonlu noktadan geçen polinomlar vardır. Biz çalışıyorsanız Örneğin polinomlar düşünün ve , ilk elde ve giriş, ikinci bit .Fp2 x ( x + 2 ) x F 3mod32x(x+1)2x(x+2)xF3

Bu bir araya getiren Biz üzerinde bir aritmetik devre sahip çoklu doğrusallaştırma işlem büyüklüğünde boyutu polynomail ile . C CFpCC


2
Açıkladığınız aritmetik devrenin neden çok doğrusallaştırmasını, hatta gerçekten çok doğrusal bir polinomu hesapladığı net değil . Sadece aritmetik devrenin , - girişlerde çok doğrusallaştırılmasına uygun bazı polinomları hesapladığını görebiliyorum . C 0 1CC01
Srikanth

@Srikanth: Boolean devre aritmetik versiyonu (sabit bir girişli) arasında çoklu doğrusal versiyonu hesaplar , bir çoklu doğrusal olması gerekmez. Sonra tek sorun, giriş / çıkış üzerinde ikili değil değerlerde , bu yüzden sadece giriş / çıkış için kodlama ikili giriş ve çıkış değerlerine sabitlemek gerekir. Ortaya çıkan devre, değişkenleri için değerleri alan , bunları ikili olarak kodlayan, bu girdiler üzerinden çoklu değerini hesaplayan ve cevabı ikili olarak veren ve daha sonra tekrar . C F p C C F pMCFpCCFp
Kaveh

Ortaya çıkan sonuç, aynı değişken olduğu bir aritmetik devre [devam] sahiptir ve aynı çıkışları ile ve bunun multilinearization işlem olup . CCC
Kaveh

2
@Kaveh: Eğer boolean devresine girdi farz mı çıkışında aynı formda olan ? Her durumda, hala ikna olmadım. Bir aritmetik devrenin , alandan gelen tüm girdilerde bir polinom aynı zamanda ile uyumlu bir polinom hesaplaması mükemmel bir şekilde mümkündür . Örneğin, polinom tüm girişlerde ile aynıdır ve yine de polinomlar ile eşit değildir. devresinin , tüm girdilerde çok doğrusallaştırılması ile uyumlu çok-doğrusal olmayan bir polinomu hesaplamadığını nereden biliyorsunuz ? M f g f g x p x M CMMfgfgxpxMC
Srikanth

@Srikanth: Cevabımda girdi ve çıktı biçimini tanımladım. M'ye girdi Mikili olarak, M çıktısı Myukarıda belirtilen şekildedir. Çok hatlıC olduğunu söylemedim, sadece C'nin çok hatlılığını hesapladığını söylemiştim .
Kaveh
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.