Kompleksitas pengujian untuk nilai versus komputasi suatu fungsi

36

Secara umum kita tahu bahwa kompleksitas pengujian apakah suatu fungsi mengambil nilai tertentu pada input yang diberikan lebih mudah daripada mengevaluasi fungsi pada input tersebut. Sebagai contoh:

  • Mengevaluasi permanen dari matriks integer nonnegatif adalah # P-hard, namun mengatakan apakah permanen itu nol atau bukan nol dalam P (pencocokan bipartit)

  • Ada n bilangan real , sedemikian sehingga polinomial memiliki properti berikut (memang sebagian besar set bilangan real akan memiliki properti ini) . Untuk input diberikan , menguji apakah polinomial ini nol atau tidak mengambil perkalian dan perbandingan (berdasarkan hasil Ben-Or , karena set nol memiliki komponen), tetapi mengevaluasi polinomial di atas membutuhkan setidaknya langkah-langkah, oleh Paterson-Stockmeyer .n i = 1 ( x - a i ) n x Θ ( log n )a1,...,ani=1n(xai)nxΘ(logn)Ω ( nΩ(n)

  • Penyortiran membutuhkan langkah-langkah pada pohon perbandingan (juga langkah-langkah pada pohon keputusan aljabar nyata, lagi dengan hasil Ben-Or), tetapi pengujian jika daftar diurutkan hanya menggunakan perbandingan .Ω ( n log n ) n - 1Ω(nlogn)Ω(nlogn)n1

Adakah kondisi umum pada polinomial yang cukup untuk menyatakan bahwa kompleksitas (aljabar) pengujian apakah polinomial nol atau tidak sama dengan kompleksitas evaluasi polinomial?

Saya mencari kondisi yang tidak tergantung pada mengetahui kompleksitas masalah sebelumnya.

( Klarifikasi 10/27/2010 ) Agar lebih jelas, polinomial bukan bagian dari input. Apa itu artinya, mengingat kumpulan fungsi tetap (satu untuk setiap ukuran input (baik bitlength atau jumlah input)), saya ingin membandingkan kompleksitas masalah bahasa / keputusan dengan kompleksitas mengevaluasi fungsi .{fn} {X:fn(X)=0 where n is the "size" of X} {fn}


Klarifikasi: Saya bertanya tentang kompleksitas asimptotik dalam mengevaluasi / menguji keluarga polinomial. Misalnya, pada bidang tetap (atau cincin, seperti Z ) "permanen" bukan polinom tunggal, tetapi keluarga tak terbatas {permn:n0} mana permn adalah permanen dari sebuah matriks n×n atas bidang itu (atau cincin).

Joshua Grochow
sumber
Bukankah jawaban atas pertanyaan Anda tidak hanya bergantung pada polinomial itu sendiri, tetapi juga pada perwakilannya?
ilyaraz
@ilyaraz: Tidak yakin apa yang Anda maksud. Polinomial bukan bagian dari input.
arnab
Joshua, bisakah Anda 'membuat lateks' pertanyaan agar lebih mudah dibaca?
Suresh Venkat
4
Saya menemukan kertas Valiant ( dx.doi.org/10.1016/0020-0190 ( 76 ) 90097-1 ) "Kompleksitas relatif dari pengecekan dan evaluasi", yang pada dasarnya mempertimbangkan pertanyaan yang sama tetapi dalam pengaturan mesin Turing standar, daripada pengaturan aljabar. Dia tidak menjawab pertanyaan saya, tetapi jika Anda menemukan pertanyaan ini menarik Anda mungkin juga menemukan makalahnya menarik.
Joshua Grochow
1
"Penggunaan Algorithmic dari Feferman-Vaught Theorem" karya Makowski mungkin relevan. Dia mendefinisikan polinomial dengan menjumlahkan struktur yang dapat didefinisikan MSOL pada grafik dan menunjukkan bahwa mereka mudah dievaluasi ketika grafik dibatasi lebar pohon
Yaroslav Bulatov

Jawaban:

4

Selama , pengujian untuk nol dan evaluasi adalah "hampir" sama dalam arti berikut: Asumsikan Anda memiliki pohon keputusan yang tes apakah beberapa tereduksi polinomial f yaitu nol. Kami bekerja di atas C , oleh karena itu kami hanya dapat menguji kesetaraan tetapi kami tidak memiliki "<". Itulah perbedaan penting dari contoh kedua dalam pertanyaan! Sekarang ambil jalur tipikal, yaitu jalur yang diambil oleh hampir semua input (kita selalu mengikuti cabang " "). Selanjutnya, ambil jalur tipikal semua elemen dalam varietas V ( f ) . Biarkan v menjadi simpul di mana kedua jalur ini mengambil cabang yang berbeda untuk pertama kalinya. Biarkan h 1 ,CfCV(f)v menjadi polinomial yang diuji di sepanjang awalan umum dari dua jalur. Karena V ( f ) ditutup, semua elemen yang terletak di V ( f ) dan jangkauan v juga terletak di V ( h m ) . Oleh karena itu, jika f ( x ) = 0 , maka salah satu dari h i menghilang pada x . Kami menerapkan Hilbert Nullstellensatz untuk h 1h m dan mendapatkan bahwa f g =h1,,hmV(f)V(f)vV(hm)f(x)=0hixh1hm untuk beberapa polinomial g yang ini coprime untuk f . Singkatnya, ketika kita tidak menghitung f , ketika memutuskan apakah f ( x ) = 0 , kita harus menghitung f g untuk beberapa koprime g .fg=h1hmgfff(x)=0fgg

Markus Bläser
sumber
Jadi kompleksitas pengujian pada dasarnya ditangkap oleh kompleksitas mengevaluasi f g . Maka sejak f adalah tereduksi, kompleksitas mengevaluasi f adalah polynomially dibatasi oleh kompleksitas mengevaluasi f g , tingkat f g , dan jumlah variabel. Jadi jika f memiliki derajat polinomial dan pengujian f ( x ) = 0 cukup mudah, maka pengujian dan evaluasi adalah setara. (Namun, jika salah satu d e g ff(x)=0 fgfffgfgff(x)=0degfbesar atau jika pengujian sulit - katakan tingkat sangat besar - maka ini mengatakan sangat sedikit.)g
Joshua Grochow
Saya tidak mengerti: Jika Anda dapat mengevaluasi , maka Anda dapat menguji nol dengan hanya satu operasi lagi, yaitu, satu tes kesetaraan pada akhirnya. Apa yang bisa salah adalah bahwa mengevaluasi f g lebih murah daripada mengevaluasi f untuk beberapa alasan. (Catatan: Mengevaluasi f berarti mengevaluasi pada titik umum, yaitu pada waktu tak tentu.)ffgff
Markus Bläser
Tepat. Mengevaluasi mungkin lebih mudah daripada mengevaluasi f . (Saya tahu bahwa mengevaluasi f berarti mengevaluasi pada titik generik; Saya tidak benar-benar mengerti mengapa Anda menganggap ucapan tanda kurung terakhir Anda diperlukan, tetapi itu mungkin di luar intinya.) Apa sebenarnya yang tidak Anda dapatkan? Berdasarkan komentar terakhir Anda, saya katakan bahwa kami berdua memahami situasinya dan setuju dengan pemahaman satu sama lain ... Lihat juga "Kompleksitas Faktor Polinomial Multivarian" oleh Burgisser, yang memberikan kesimpulan yang sama dengan yang saya nyatakan dalam komentar saya sebelumnya. fgff
Joshua Grochow
Kesimpulan menarik tambahan dari diskusi ini: walaupun pengujian apakah permanen dari matriks non-negatif adalah nol atau tidak mudah, pengujian jika permanen dari matriks kompleks arbitrer adalah nol adalah mudah jika dan hanya jika mengevaluasi permanen itu mudah.
Joshua Grochow
Maaf, saya salah mengerti komentar pertama Anda. Semuanya baik-baik saja.
Markus Bläser
5

"Penggunaan Algorithmic dari Feferman-Vaught Theorem" karya Makowski mungkin relevan. Dia mendefinisikan polinomial dengan menjumlahkan struktur yang dapat didefinisikan MSOL pada grafik dan menunjukkan bahwa mereka dapat ditelusuri untuk mengevaluasi ketika grafik dibatasi oleh lebar pohon.

Ini tidak banyak bicara tentang perbedaan dalam kompleksitas pengujian / evaluasi selain FPT. Menguji suatu nilai berarti menanyakan apakah ada seting variabel sedemikian sehingga diberikan rumus MSO2 pada grafik yang diberikan bernilai true, sedangkan evaluasi melibatkan penghitungan tugas yang memuaskan dari rumus MSO2. Ini tampaknya terkait dengan pertanyaan tentang bagaimana kompleksitas penghitungan SAT terkait dengan kompleksitas SAT.

Sunting 10/29 Konsep lain yang berguna mungkin untuk melihat ke Properti Uniform Difficult Point. Tampaknya polinomial dengan properti ini mudah dievaluasi di semua titik, atau sulit dievaluasi hampir di setiap titik. Makowski memberikan beberapa referensi tentang slide 46-52 - http://www.cs.technion.ac.il/admlogic/TR/2009/icla09-slides.pdf

Yaroslav Bulatov
sumber
3

Aku akan menjelajah gagasan bahwa mengevaluasi polinomial di F p untuk tetap prima p (atau ekstensi lapangan terbatas daripadanya, dan dengan koefisien terbatas pada bidang yang sama) akan cocok kriteria Anda.q(x)Fpp

lebih konkretnya, mari kita pertimbangkan polinomial dalam . Kita tahu bahwa x 2 = x dalam F 2 , jadi jika kita mengasumsikan bahwa setiap polinomial sudah dalam bentuk tereduksi ketika diberikan sebagai input, kita tinggal mempertimbangkan salah satu dari: 0 , 1 , x , x + 1 dan karenanya mengevaluasi semua polinomial ini pada 0 atau 1 membutuhkan paling banyak 2 operasi aritmatika.F2[x]x2=xF20,1,x,x+101

Saya percaya bahwa pernyataan "waktu konstan melalui operasi aritmatika tetap" yang serupa berlaku lebih umum untuk mana q = p n di mana p adalah prima. perhatikan bahwa jika n tidak diperbaiki, pernyataan ini tidak lagi validFqq=pnpn

Carter Tazio Schonwald
sumber
1
Carter: dengan alasan Anda, yang secara teknis benar, hal yang sama berlaku untuk setiap rangkaian polinomial yang terbatas. Namun, untuk mempertimbangkan kompleksitas asimptotik dengan cara apa pun yang berarti, kita harus mempertimbangkan keluarga polinomial yang tak terbatas. Ini menyiratkan bekerja baik di atas bidang yang terbatas tetapi memungkinkan bidang (ukuran) bervariasi, atau bekerja di atas bidang yang tak terbatas. Sebagai contoh, ketika kita mengatakan "permanen" sebenarnya kita berbicara tentang keluarga yang tak terbatas , di mana p e r m n adalah permanen dari n × n matriks.{permn:n0}permnn×n
Joshua Grochow
1
cukup adil, mari kita perjelas pernyataan pertanyaan dengan "polinomial di bidang yang tak terbatas" daripada menurunkan upaya menjawab yang menunjukkan klarifikasi yang diperlukan :) contoh Anda dengan permanen tidak membuat ini jelas, karena matriks masih lebih dari beberapa diperbaiki cincin atau bidang. Juga, dalam kasus , saya tidak benar-benar membatasi diri untuk mempertimbangkan hanya 4 polinomial, melainkan menggunakan hubungan ekivalensi x 2 = x untuk mengurangi setiap polinomial derajat yang lebih tinggi ke salah satu dari keempat linier waktu dalam polinomial. gelar. F2x2=x
Carter Tazio Schonwald
1
Carter: Saya pikir sudah jelas bahwa saya bertanya tentang asimptotik, tetapi sekarang saya sudah mengklarifikasi. Anda juga bisa menggunakan multivar polys di mana num of vars tidak diperbaiki. Maaf untuk downvote, tapi saya pikir Anda tidak layak mendapatkan setengah dari hadiah (+25) karena menunjukkan bahwa set 1-var polys yang terbatas dapat dievaluasi dengan O (1) ops. Saya tahu Anda benar-benar menunjukkan sesuatu yang kurang jelas, tetapi itu tidak relevan dengan pertanyaan: seperti yang sudah ditunjukkan dalam komentar pada Q , poli bukan bagian dari input. Jadi lebih dari F_2 memang hanya ada 4 polar 1-var untuk dipertimbangkan (menggunakan x ^ 2 = x tidak perlu).
Joshua Grochow
umm, klarifikasi Anda masih rusak, Anda harus memiliki cincin tetap atau lapangan untuk hal-hal atau omong kosong nya. permn
Carter Tazio Schonwald
1
Saya setuju dengan Anda secara umum, jadi saya memperbaiki klarifikasi. Menariknya, dalam kasus polinomial dengan 0,1, -1 koefisien (seperti perm dan det), memungkinkan bidang bervariasi bukan omong kosong total. Orang bisa membayangkan hasil seperti: "Menguji apakah adalah 0 sama sulitnya dengan mengevaluasi d e t n dengan lebih dari F p n " (untuk beberapa urutan p n dari kekuatan utama, belum tentu semua karakteristik yang sama ). Meskipun harus diakui, ini tidak akan sealami hasil daripada bidang tetap. detndetnFpnpn
Joshua Grochow
3

Saya tidak yakin apakah saya memahami pertanyaan dengan benar, tetapi izinkan saya mencoba menjelaskan.

Biasanya, mengevaluasi polinomial pada nilai-nilai tertentu lebih mudah daripada pengujian identitas, terutama ketika representasi polinomial adalah melalui rangkaian (beberapa representasi ringkas). Namun, ada banyak algoritma pengujian identitas acak ( Schwarz-Zippel menjadi yang paling mudah) yang bekerja hanya pada evaluasi.

Dalam kasus khusus tertentu, kami memiliki tes 'kotak hitam' untuk pengujian identitas di mana Anda dapat menguji apakah polinomialnya nol atau tidak dengan hanya mengevaluasinya pada set poin yang telah ditentukan. Contoh sederhananya adalah jika polinomialnya 'jarang' (hanya memiliki monomial). Untuk membuat eksposisi lebih sederhana, mari kita asumsikan polinomialnya multilinear (setiap monomial adalah produk dari variabel yang berbeda).nO(1)

Cara alami untuk mengirim polinomial multilinear multivariat ke univariat adalah melalui substitusi . Polinomial yang dihasilkan adalah i S α i y a i . Tentu saja ini bisa menjadi polinomial derajat eksponensial, tetapi mari kita lanjutkan modulo y r - 1 untuk sejumlah kecil r 's. Sekarang r akan menjadi "buruk" untuk sepasang monomial jika y a dan y b dipetakan ke modulo monomial yang sama y r - 1xiy2iiSαiyaiyr1rryaybyr1. Atau dengan kata lain, membagi a - b . Jadi selama r tidak membagi i , j S ( a i - a j ) , ini tidak akan terjadi. Oleh karena itu cukup untuk menjalankan rentang polinomial r 's. Dengan demikian, cukup untuk mengevaluasi polinomial pada beberapa akar persatuan dan kita dapat mengetahui polinomialnya nol atau tidak.rabri,jS(aiaj)r

Telah ada lebih banyak kemajuan dalam algoritma pengujian identitas kotak hitam. Saat ini, sebagian besar berdiri pada kedalaman 3 sirkuit terbatas (jumlah produk dari jumlah variabel). (FWIW) Beberapa dari ini disebutkan secara lebih rinci dalam Bab 3 dan 4 dari tesis M.Sc saya . Dan ada perbaikan lebih lanjut oleh Saxena dan Seshadri baru-baru ini juga.

Ramprasad
sumber
Kecuali saya kehilangan beberapa koneksi dengan pengujian identitas, saya pikir Anda mungkin salah paham. Selain fakta bahwa polinomial bukan bagian dari input untuk pertanyaan saya --- Saya agak menarik dalam masalah keputusan dan masalah fungsi yang didefinisikan oleh keluarga polinomial --- Saya tidak bertanya tentang pengujian identitas, tetapi pengujian, diberi input , apakah f ( x ) = 0 . Ini adalah apriori yang lebih mudah daripada masalah umum: diberi input x , mengevaluasi f ( x ) . Semoga klarifikasi yang baru saja saya tambahkan ke pertanyaan membuatnya lebih jelas. xf(x)=0xf(x)
Joshua Grochow
Ah! Begitu ... Terima kasih atas klarifikasi; jawaban saya tidak terlalu relevan dalam kasus itu.
Ramprasad
1

Masalah #P, atau bahkan # P / poly, dapat ditulis sebagai polinomial: buat sirkuit dari gerbang NAND, tulis ini sebagai mana x dan y adalah bilangan bulat bernilai 0-1, dan jumlah semua input . Hal ini memberikan polinomial dalam Z [ x 1 , . . . , x n ] untuk input ukuran n . Masalah keputusan sedang menguji apakah ini 0.1xyxyZ[x1,...,xn]n

Colin McQuillan
sumber
Iya nih. Ini adalah versi yang sedikit lebih umum dari contoh permanen. Masalah keputusan seperti itu ada di (atau N PNP ). Diperkirakan bahwa # P secara signifikan lebih sulit daripada N P (karena sama sulitnya dengan seluruh hierarki polinomial). Apakah Anda mengetahui kondisi umum padamasalah # P yang, jika puas denganfungsi # P f menyiratkan bahwa f tidak lebih sulit daripada versi keputusannya? NP/poly#PNP#P#Pff
Joshua Grochow
Ada dugaan bahwa versi penghitungan alami masalah NP-complete selalu # P-complete, tapi saya tidak tahu hubungan lain. Semacam kondisi sepele adalah bahwa masalahnya dapat direduksi sendiri dan f dibatasi oleh polinomial.
Colin McQuillan