Masalah Vektor Algoritma

13

Saya memiliki masalah aljabar yang berhubungan dengan vektor di bidang GF (2). Misalkan menjadi (0,1) -vektor dimensi n , dan m = n O ( 1 ) . Cari algoritma waktu polinomial yang menemukan (0,1) -vector u dari dimensi yang sama seperti yang u bukanlah jumlah dari setiap ( log n ) O ( 1 ) vektor antara v 1 , v 2 , ... , vv1,v2,,vmnm=nO(1)uu(logn)O(1) . Penambahan vektor di atas bidang GF (2), yang memiliki dua elemen 0 dan 1 ( 0 + 1 = 0 + 1 = 1 , dan 0 + 0 = 1 + 1 = 0 ).v1,v2,,vm0+1=0+1=10+0=1+1=0

Sangat mudah untuk melihat keberadaan vektor seperti itu dengan argumen penghitungan yang sederhana. Bisakah kita menemukan dalam waktu polinomial? Sangat sepele untuk menemukan Anda dalam waktu eksponensial. Saya akan mengirimkan cek penghargaan $ 200 untuk solusi pertama yang benar.uu

Bin Fu
sumber
tampaknya samar-samar terkait dengan masalah jumlah subset yang NP lengkap. Namun yang menggunakan jumlah integer penuh bukan XOR.
vzn
1
anehnya saya baru-baru ini mencoba merumuskan & melihat masalah yang sama. coba bagian 13 dari stasys jukna book tentang kompleksitas fungsi boolean. sepertinya q Anda dapat diformulasikan dalam bentuk rangkaian linear pada bab itu.
vzn
1
bagaimana dengan algoritma super-poli, yaitu, m ^ log (n)?
Dimitris
1
@Niel de Beaudrap: tetapi jumlah XOR yang harus Anda periksa adalah super-poli (yaitu, kira-kira ), bukan poly. Bukankah itu masalah? (mcatatan(n))
Dimitris
1
Untuk memperluas komentar vzn: tampaknya hampir semua vektor memenuhi kebutuhan Anda, dengan argumen penghitungan yang sama. Saya membayangkan Anda juga ingin bukti bahwa vektor (mungkin dihasilkan secara acak) tidak terkandung dalam subruang mana pun yang direntang oleh polylog ( n ) vektor: jadi pertanyaan Anda sama saja dengan menunjukkan bahwa masalah menentukan apakah seorang kandidat atau tidak. vektor u bukan milik subruang yang dihasilkan oleh beberapa dimensi f ( n ) yl polylog ( n ) dari vektor adalah dalam NP . vj
Niel de Beaudrap

Jawaban:

8

Tampaknya ada kesalahan ketik; Saya berasumsi Anda bermaksud menemukan yang bukan jumlah ( log n ) O ( 1 ) vektor di antara v 1 , , v m (bukan n ).kamu{0,1}n(catatann)HAI(1)v1,...,vmn

Tidak jelas bagi saya jika ada konstanta di bekerja untuk Anda. Jika Anda dapat menerima jumlah kurang dari vektor log m mungkin ada sesuatu yang harus dilakukan. Tetapi jika Anda ingin jumlah ini menjadi ( log m ) 1 + δ , maka saya pikir ini cukup sulit (saya telah mengerjakan masalah ini sejak lama).(catatann)HAI(1)catatanm(catatanm)1+δ

Masih Anda mungkin tertarik untuk mengetahui bahwa ini adalah contoh dari Remote Point Problem dari Alon, Panigrahy dan Yekhanin ("Algoritma Perkiraan Deterministik untuk Masalah Codeword Terdekat") untuk parameter tertentu. Mari dan v 1 , ... , v m menjadi kolom dari matriks cek paritas dari kode linear di { 0 , 1 } m dari dimensi d = m - n (jika matriks ini tidak memiliki peringkat penuh, masalah akan sepele). Maka masalah Anda sama dengan menemukan u { 0 ,m>nv1,...,vm{0,1}md=m-n yaitu ( log n ) O ( 1 ) -far dari kode. Pengaturan parameter ini, di mana dimensi sangat dekat dengan m, tidak dipelajari dalam makalah. Namun, mereka hanya bisa kita wajib keterpencilan log m hingga dimensi d = c m untuk beberapa konstan c . Faktanya, saya tidak berpikir kita mengetahui sertifikat berukuran polinomial yang memungkinkan kita untukmembuktikanbahwa beberapa vektor lebih dari ω ( log m ) -dari jauh dari ruang dimensi Ω ( m )kamu{0,1}n(catatann)HAI(1)catatanmd=cmcω(catatanm)Ω(m), apalagi menemukannya.

Koneksi lain adalah dengan mempelajari paritas dalam model terikat kesalahan. Jika seseorang dapat secara efisien belajar -paritas (didefinisikan pada 0 , 1 m ) dengan kesalahan terikat kurang dari n , maka seseorang dapat mengatur nilai arbitrer ke n - 1 bit pertama dari u dan gaya `` force sebuah kesalahan '' pada bit terakhir dengan mengaturnya ke nilai yang berlawanan dengan yang diprediksi oleh pelajar. Ini tampaknya jauh lebih kuat.(catatann)HAI(1)0,1mnn-1kamu

Masalahnya juga terkait dengan memisahkan EXP dari reduksi tertentu ke set yang jarang.

David
sumber
1
Terima kasih telah menunjukkan kesalahan ketik. "V_n" terakhir harus "v_m". Semoga seseorang akan memperbaikinya. Jawaban Anda berisi informasi bermanfaat. +1
Bin Fu