Fungsi acak tingkat rendah sebagai polinomial nyata

21

Apakah ada (wajar) cara untuk sampel fungsi boolean acak seragam yang derajatnya sebagai polinomial nyata paling banyak ?f:{0,1}n{0,1}d

EDIT: Nisan dan Szegedy telah menunjukkan bahwa fungsi derajat tergantung pada paling banyak koordinat , jadi kita dapat berasumsi bahwa . Masalah yang saya lihat adalah sebagai berikut: 1) Di satu sisi jika kita memilih fungsi boolean acak pada koordinat , maka derajatnya akan mendekati , jauh lebih tinggi dari . 2) Di sisi lain, jika kita memilih setiap koefisien tingkat paling secara acak, maka fungsi tidak akan boolean.dd2dnd2dd2dd2ddd

Jadi pertanyaannya adalah: adakah cara untuk mengambil sampel fungsi boolean tingkat rendah yang menghindari dua masalah ini?

Igor Shinkar
sumber
3
Apakah Anda ingin fungsi yang sebenarnya menjadi pembatasan polinomial nyata derajat untuk 0-1 masukan, atau apakah Anda ingin menjadi yang jika dan hanya jika untuk beberapa polinomial nyata dari gelar paling banyak ? Atau sesuatu yang lain? df(x)=1p(x)>0pd
Joshua Grochow
3
@ JoshuaGrochow Saya ingin fungsi yang ekspansi Fourier memiliki gelar . Itu pilihan pertama kamu. d
Igor Shinkar
1
Apa model anda? Menulis fungsi sampel membutuhkan waktu , atau jika Anda ingin menampilkan ekspansi Fourier. Apakah konstanta tetap? n O ( d ) d2nnO(d)d
MCH
3
Saya menambahkan beberapa detail dalam pertanyaan.
Igor Shinkar
1
@MCH Jika fungsi jika derajat (dengan nol berat badan di atas permukaan d ), maka tidak dapat bergantung pada lebih dari d 2 d koordinat. Ini akibat dari Nisan dan Szegedy. Pikirkan kasus khusus d = 1 . Dalam hal ini kita tahu bahwa fungsi tergantung pada (paling banyak) 1 koordinat. ddd2dd=1
Igor Shinkar

Jawaban:

11

Berikut adalah algoritma yang mengalahkan upaya sepele.

Berikut ini adalah fakta yang diketahui (Latihan 1.12 dalam buku O'Donnell): Jika f:{1,1}n{1,1} adalah fungsi Boolean yang memiliki derajat d sebagai polinomial, maka setiap koefisien Fourier dari f , f ( S ) merupakan kelipatan bilangan bulat dari 2 - d . Menggunakan Cauchy-Schwarz dan Parseval mendapatkan bahwa ada paling banyak 4 d koefisien Fourier bukan nol dan S | ˆf^(S)2d4dS|f^(S)|2d.

Ini menyarankan metode pengambilan sampel -

  1. Pilih bilangan bulat non-negatif acak aS untuk semua set S[n] dari ukuran paling d , yang jumlah sampai dengan 4d .
  2. Biarkan f(x)=SaS2dχS(x).
  3. Verifikasi bahwa f adalah Boolean. Jika demikian, kembalikan f . Lain, kembali ke 1 .

Perhatikan bahwa untuk setiap derajat d polinomial f tepat satu pilihan bilangan bulat acak pada Langkah 1 akan menghasilkan polinomial f . Probabilitas untuk mendapatkan derajat spesifik d polinomial adalah

1/((nd)+4d4d)=1/O(n/d)d4d.
Oleh karena itu, kita perlu mengulangi proses ini paling banyakO(n/d)d4dkali, dengan harapan, sebelum berhenti.

Tetap menunjukkan bagaimana melakukan langkah 3. Seseorang dapat mendefinisikan A={S:aS0} . Periksa itu |A|d2d (yang harus dipegang oleh Nisan-Szegedy untuk setiap fungsi Boolean) dan kemudian mengevaluasi f pada semua tugas mungkin untuk variabel dalam A . Ini dapat dilakukan dalam waktu 2d2d . Gur dan Tamuz menawarkan algoritma acak yang jauh lebih cepat untuk tugas ini, namun karena bagian ini tidak mendominasi kompleksitas waktu, ini sudah cukup.

Secara keseluruhan, algoritma menghasilkan sampel acak dengan derajat polinomial d dalam waktu O(nd)d4d. Dengan asumsi bahwand2dkompleksitas waktu adalah2O(d24d).

Ini bukan waktu polinomial sampel algoritma, meskipun jauh lebih cepat kemudian sampling fungsi-benar acak (dalam hal probabilitas mendapatkan gelar tertentu d polinomial adalah 1/22n ).

Avishay Tal
sumber
Bagus! Sebenarnya ini memberikan suatu algoritma yang whp (wrt ) menghasilkan jumlah maksimum koordinat yang mungkin bergantung pada fungsi derajat rendah. Ambillah n = 10 d 2 d untuk menjadi cukup besar, sampel banyak fungsi, dan untuk setiap fungsi hitung jumlah koordinat yang berpengaruh. Keluarkan jumlah maksimum yang Anda lihat. dn=10d2d
Igor Shinkar