Mengevaluasi multilinearisasi sirkuit aritmatika?


13

Biarkan p ( x 1 , ... , x n )p(x1,,xn) menjadi polinomial multi-variate dengan koefisien atas lapangan FF . The multilinearization dari pp , dilambangkan dengan p , merupakan hasil berulang kali mengganti setiap x d i dengan d > 1 oleh x i . Hasilnya jelas polinomial multilinear.p^xdid>1xi

Mempertimbangkan masalah berikut: diberikan sebuah sirkuit aritmatika C ( x 1 , ... , x n )C(x1,,xn) lebih FF dan bidang tertentu elemen a 1 , ... , a na1,,an , menghitung C ( a 1 , ... , a n ) .C^(a1,,an)

Pertanyaan: Dengan asumsi bidang-aritmatika dapat dilakukan dalam satuan waktu, apakah ada algoritma waktu polinomial untuk ini? Ditambahkan nanti: Saya juga akan tertarik pada kasus khusus di mana CC sebenarnya adalah rumus (rangkaian fan-out 11 ).


1
Mengapa itu setara dengan menghitung output dari sirkuit tertutup? Masalah saya hadapi adalah bahwa sirkuit dapat memiliki jalan memisah dari input x i ke beberapa node perkalian internal dan mengevaluasi masing-masing dari mereka node perkalian internal yang akan membutuhkan menggantikan x i oleh sebuah i dalam satu jalur dan oleh 1 yang lain . Di sirkuit dengan jumlah jalur eksponensial, sepertinya ada sejumlah kasus eksponensial untuk diurus. xixiai1
slimton

2
@ Kaveh: Saya tidak mengerti. Lihatlah sirkuit ( x x ) . Jika Anda hanya mengganti node input x oleh sebuah node dengan nilai yang dan mengevaluasi dengan cara yang standar Anda berakhir kembali suatu 2 bukannya sebuah . Model perhitungan: waktu polinomial yang normal pada mesin Turing. Anggap bidang sebagai Z / 3 Z untuk konkret, jika Anda mau. (xx)xaa2aZ/3Z
slimton

2
@ Kaveh: Saya tidak mengerti bagaimana algoritma seperti itu menyiratkan apa yang Anda katakan, tetapi ini memang bertentangan dengan hipotesis umum dalam kompleksitas rangkaian aritmatika: bahwa Permanen tidak memiliki sirkuit aritmatika berukuran poli (di atas bidang selain F_2). Pertimbangkan polinomial p = i ( j x i j y j ) . Bagian multilinear q dari polinomial ini memiliki properti yang derajat tertinggi ( = 2 n ) hanya r = y 1 y 2y n P e r ( xp=i(jxijyj)q=2n 11 ,, x n n )r=y1y2ynPer(x11,,xnn) . Jika ada komputasi sirkuit aritmatika kecil q , maka orang dapat menunjukkan bahwa ada komputasi sirkuit aritmatika kecil r . qr
Srikanth

1
@Srikanth: Saya tidak melihat komentar Anda sebelum memposting jawaban saya (yang ternyata merupakan konstruksi yang sama dengan yang Anda berikan dalam komentar Anda). Sejak itu saya menghapus jawaban saya, dan Anda harus memposting komentar Anda sebagai jawaban.
Joshua Grochow

2
@ Yosua: Saya belum menambahkan komentar saya sebagai jawaban karena saya tidak mengerti mengapa konstruksi Kaveh bekerja. Saya melihat bahwa rangkaian aritmatika menghitung polinomial yang setuju dengan multilinearisasi di semua input, tetapi saya tidak yakin bahwa ia menghitung secara formal multilinearisasi polinomial yang diberikan (lihat komentar saya setelah jawaban Kaveh). Konstruksi saya (dan milik Anda) mengasumsikan bahwa multilinearisasi dihitung secara formal.
Srikanth

Jawaban:


12

Jika bidang F berukuran minimal 2 n , saya pikir masalah ini sulit. Lebih khusus, saya berpikir bahwa jika di atas dapat diselesaikan secara efisien untuk F sebesar ini, maka CNF-SAT memiliki algoritma acak yang efisien. Katakanlah kita diberi formula CNF φ . Satu dapat dengan mudah datang dengan sebuah sirkuit aritmatika C yang menghitung sebuah `` arithmetization '' p dari φ , dimana polinomial p setuju dengan formula φ pada 0 - 1 input. Pertimbangkan multilinearization q dari p . Perhatikan bahwa qF2nFφCpφpφ01qpq setuju dengan p dan karenanya φpφpada { 0 , 1 } n .{0,1}n

Saya mengklaim bahwa q adalah non-nol iff φ memuaskan. Jelas, jika q = 0 , maka φ tidak dapat dipenuhi. Untuk kebalikannya, orang dapat menunjukkan bahwa setiap polinomial multilinear non-nol tidak dapat menghilang pada semua { 0 , 1 } n . Ini menyiratkan bahwa q non-nol (dan karenanya φ yang sesuai ) tidak hilang pada beberapa input di { 0 , 1 } n .qφq=0φ{0,1}nqφ{0,1}n

Oleh karena itu, memeriksa kepuasan φ sama dengan memeriksa apakah q tidak nol. Katakanlah, sekarang, bahwa kita bisa mengevaluasi q atas lapangan besar F . Kemudian, dengan menggunakan Schwartz-Zippel Lemma, kita bisa menguji identitas q menggunakan algoritma acak yang efisien dan memeriksa apakah itu nol polinomial (ukuran F digunakan untuk batas atas kesalahan dalam Schwartz-Zippel Lemma).φqqFqF


Sepertinya saya bahwa F adalah bidang tetap karena tidak ada dalam input yang menentukan F. Juga perhatikan bahwa pertanyaannya mengasumsikan bahwa operasi lapangan membutuhkan waktu satuan.
Kaveh

Terima kasih Srikanth. Seperti yang diduga Kaveh, aku memang tertarik pada kasus bidang terbatas, tetapi jawaban yang Anda berikan membantu saya memahami pertanyaan itu sedikit lebih baik.
slimton

3

Asumsikan ada algoritma polytime yang memberikan C ( x ) F ( x ) dan a yang menghitung hasil multi-linierisasi C pada a . (wlog Saya akan berasumsi bahwa output b akan menjadi vektor p- bit angka biner b i adalah k iff the b i , k adalah satu.)C(x⃗ )F(x⃗ )a⃗ Ca⃗ b⃗ pbikbi,k

Karena P P / p o l y , ada sirkuit bsi polias yang memberikan pengkodean sirkuit aritmatika dan nilai-nilai untuk variabel menghitung multi-linierisasi dari rangkaian aritmatika pada input. Membiarkan memanggil sirkuit ini M .PP/polyM

Biarkan C menjadi sirkuit aritmatika yang arbitrer. Perbaiki variabel dari rangkaian boolean M yang menggambarkan rangkaian aritmatika, jadi kami memiliki sirkuit boolean yang menghitung multi-linierisasi C pada input yang diberikan.CMC

Kita bisa mengubah sirkuit ini menjadi sirkuit aritmatika lebih F p dengan mencatat bahwa x p - 1 adalah 1 untuk semua nilai tapi 0 jadi pertama menaikkan semua masukan untuk kekuatan p - 1 . Ganti setiap gerbang f g dengan perkalian f . g , masing-masing f g gerbang oleh f + g - f . g dan masing-masing ¬ f gerbang oleh 1 - f .Fpxp110p1fgf.gfgf+gf.g¬f1f

By the assumption we made above about the format of the output, we can turn the output from binary to values over FpFp. Take the output for bibi and combine them to get 0kp1kbi,k0kp1kbi,k.

Kami juga dapat mengkonversi input yang diberikan sebagai nilai lebih F p ke bentuk biner karena ada polinomial melewati sejumlah terbatas poin. Misalnya jika kita bekerja dalam mod 3 , pertimbangkan polinomial 2 x ( x + 1 ) dan 2 x ( x + 2 ) yang memberikan bit pertama dan kedua dari input x F 3 .Fpmod32x(x+1)2x(x+2)xF3

Menggabungkan ini kita memiliki sirkuit aritmatika lebih F p komputasi multi-linierisasi dari C dengan ukuran polynomail dalam ukuran C .FpCC


2
It is not clear to me why the arithmetic circuit you have described computes the multilinearization of CC, or indeed even a multilinear polynomial. I am only able to see that the arithmetic circuit computes some polynomial that agrees with the multilinearization of CC on 00-11 inputs.
Srikanth

@Srikanth: the arithmetic version of the boolean circuit MM (with some inputs fixed) computes the multilinear version of CC, it doesn't need to be a multilinear. Then the only problem is that input/output are in binary not values over FpFp, so I just need to fix the encoding for input/output from binary to original input and output values. The resulting circuit is an arithmetic circuit that gets the values for variables of CC, encodes them in binary, computes the value of the multilinearization of CC over those inputs and output the answer in binary, and then translate them back to FpFp.
Kaveh

[continued] The result it is an arithmetic circuit with the same variables that CC has, and with the same outputs, and it is computing the multilinearization of CC.
Kaveh

2
@Kaveh: Have you assumed that the input to the boolean circuit MM is of the same form as the output of MM? In any case, I am still not convinced. It is perfectly possible for an arithmetic circuit to compute a polynomial ff that agrees with a polynomial gg at all inputs from the field and yet fgfg. For example, the polynomial xpxp agrees with xx at all inputs, and yet they are not equal as polynomials. How do you know that the circuit MM is not simply computing a non-multilinear polynomial that agrees with the multilinearization of CC at all inputs?
Srikanth

@Srikanth: I have described the form of input and output in my answer. The input to MM is in binary, the output of M is in the form stated above. I haven't said that it is multilinear, I have only said that it computes the multilinearization of the C.
Kaveh
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.