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.