Pertimbangkan masalah tes keanggotaan abelian-subkelompok berikut ini .
Input:
Sebuah kelompok abelian berhingga dengan sewenang-wenang-besar .
Sebuah pembangkit-set dari subkelompok .
Sebuah elemen .
Keluaran: 'ya' jika dan 'tidak' di tempat lain '.
Pertanyaan: Bisakah masalah ini diselesaikan secara efisien di komputer klasik? Saya menganggap algoritma yang efisien jika menggunakan sumber daya waktu dan memori dalam arti biasa dari mesin Turing klasik. Perhatikan bahwa kita dapat mengasumsikan untuk setiap subgrup . Ukuran input dari masalah ini adalah .
Sedikit motivasi . Secara intuitif sepertinya masalah dapat diatasi dengan algoritma untuk menyelesaikan sistem linear kongruensi atau persamaan linear diophantine (baca di bawah). Namun, tampaknya ada perbedaan konsep efisiensi komputasi yang digunakan dalam konteks perhitungan dengan bilangan bulat, seperti: waktu polinomial kuat versus lemah, kompleksitas aljabar versus bit. Saya bukan ahli definisi ini dan saya tidak dapat menemukan referensi yang jelas menjawab pertanyaan ini.
Perbarui: jawaban untuk masalahnya adalah "ya".
Dalam jawaban terakhir, saya mengusulkan metode berdasarkan pada formulir normal Smith yang efisien untuk kelompok mana pun dengan formulir yang ditentukan.
Sebuah jawaban oleh Blondin menunjukkan bahwa dalam kasus tertentu di mana semua adalah dalam bentuk dan adalah "bilangan bulat kecil" maka masalahnya adalah . Bilangan bulat kecil secara eksponensial kecil dengan ukuran input: .
Dalam jawaban saya, saya menggunakan "subkelompok ortogonal" untuk menyelesaikan masalah ini, tetapi saya percaya ini tidak perlu. Saya akan mencoba memberikan jawaban yang lebih langsung di masa depan berdasarkan metode baris Eselon bentuk yang saya baca.
Beberapa pendekatan yang mungkin
Masalahnya berkaitan erat dengan penyelesaian sistem linear kongruensi dan / atau persamaan diofantin linier. Saya meringkas koneksi ini secara singkat untuk penyelesaian.
Ambil menjadi matriks yang kolomnya adalah elemen dari set himpunan . Sistem persamaan berikut
memiliki solusi jika dan hanya jika .
Jika semua faktor siklik memiliki dimensi yang sama ada algoritma berdasarkan pada bentuk normal Smith yang memecahkan masalah dalam waktu polinomial. Dalam hal ini, algoritma yang efisien dari [1] menemukan bentuk normal Smith dari : ia mengembalikan matriks diagonal dan dua matriks yang dapat dibalik dan sedemikian rupa sehingga . Ini mengurangi masalah untuk menyelesaikan sistem sistem yang setara dengan diagonal. Kita dapat memutuskan secara efisien jika sistem memiliki solusi menggunakan algoritma Euclidean.
Contoh di atas menunjukkan bahwa masalah dapat diselesaikan secara efisien menggunakan teknik serupa dalam kasus umum. Kita dapat mencoba memecahkan sistem melakukan operasi modular, atau dengan mengubah sistem menjadi sistem yang lebih besar dari persamaan linear diophantine. Beberapa teknik yang mungkin untuk mendekati masalah yang dapat saya pikirkan adalah:
- Komputasi bentuk-bentuk yang normal Smith dari .
- Komputasi baris Eselon bentuk .
- Eliminasi eliminasi Gaussian.
sumber
Jawaban:
Memverifikasi apakah (di mana adalah vektor menurut komentar OP) sama dengan memverifikasi apakah ada solusi untuk sistem ini:b∈⟨h1,…,hn⟩ hi
Dalam kasus Anda adalah angka kecil (mis. Nilainya logartihmic dalam ukuran input). Sayangnya, sepertinya kita tidak dapat menganggap bahwa berukuran kecil.e1,…,eN d1,…,dn
Jika ya, maka Anda dapat menemukan solusi untuk sistem di dari hasil McKenzie & Cook [1] . Makalah ini menunjukkan bahwa penyelesaian kongruensi linear modulo integer dengan faktor kecil (LCON) ada di . Selain itu, masalah ini adalah setara dengan masalah keanggotaan grup permutasi abelian (RUPS). Tesis doktoral McKenzie sepenuhnya dikhususkan untuk masalah-masalah itu [1] . Baru-baru ini, masalah-masalah itu dipertimbangkan oleh Arvind & Vijayaraghavan [3] .NC3 NC3 NC1
[1] Pierre McKenzie & Stephen A. Cook. Kompleksitas paralel dari masalah kelompok permutasi Abelian. 1987.
[2] Pierre McKenzie. Kompleksitas paralel dan kelompok permutasi. 1984.
[3] V. Arvind & TC Vijayaraghavan. Klasifikasi Masalah pada Kongruensi Linier dan Grup Permutasi Abelian Menggunakan Kelas Penghitungan Logspace. 2010
sumber
Setelah beberapa waktu, saya berhasil menemukan algoritma yang mungkin tidak optimal tetapi sederhana yang membuktikan bahwa kompleksitas masalahnya adalah polinomial.
Ada algoritma klasik yang efisien untuk masalah (a) dan (b) (lihat analisis di bawah). Hal ini memberikan keanggotaan-test efisien karena unsur adalah orthogonal untuk jika dan hanya jika .b H⊥ h∈H
Analisis
Subkelompok ortogonal didefinisikan melalui grup karakter sebagai: Properti utama:H⊥ G
Algoritma untuk (a) :
Saya mengikuti algoritma dari [ 1 ] dengan variasi kecil. milik jika dan hanya jika untuk semua , tetapi, secara linearitas sudah cukup untuk menunjukkan untuk setiap generator dari . Memperluas karakter dalam hal eksponensial (di sini saya secara implisit menggunakan dekomposisi faktor siklik) kondisi ini setara dengan Untuk menyelesaikan persamaan ini, hitung menggunakan algoritma Euclidean dan angkag H⊥ χg(h)=1 h∈H χb(hi)=1 H
Algoritma untuk (b) :
Karena kita sudah tahu bagaimana menghitung pembangkit-set , mudah untuk memeriksa apakah suatu unsur tertentu milik . Pertama hitung dari . Maka, menurut definisi, milik jika dan hanya jika untuk semua generator . Karena ada nomor O (polylog ( )) dari mereka dan ini dapat dilakukan secara efisien menggunakan aritmatika modular, kita selesai.H⊥ b H ⟨g1,…,gs⟩ H⊥ b H χb(gi)=1 H⊥ |G|
sumber