Pengguna:Klasüo/bak pasir/Arsip 40
Dalam teori bilangan, algoritma pencarian akar Berlekamp atau juga disebut algoritma Berlekamp-Rabin adalah metode probabilistik pencarian akar dari polinomial pada medan . Metode ini ditemukan oleh Elwyn Berlekamp pada tahun 1970[1] sebagai tambahan untuk algoritma untuk faktorisasi polinomial pada medan berhingga. Algoritma kemudian dimodifikasi oleh Rabin untuk medan berhingga arbiter pada tahun 1979.[2] Metode ini juga ditemukan secara independen sebelum Berlekamp oleh peneliti lain.[3]
Sejarah
suntingMetode ini diusulkan oleh Elwyn Berlekamp dalam karyanya tahun 1970[1] tentang faktorisasi polinomial pada medan berhingga. Karya aslinya tidak memiliki bukti kebenaran formal[2] dan kemudian disempurnakan dan dimodifikasi untuk Medan berhingga arbiter oleh Michael Rabin.[2] Pada tahun 1986, René Peralta mengusulkan algoritma serupa[4] untuk mencari akar kuadrat .[5] Pada tahun 2000, metode Peralta digeneralisasikan untuk persamaan kubik.[6]
Pernyataan masalah
suntingMaka adalah sebagai bilangan prima ganjil. Pertimbangkan polinomial pada medan dari modulo sisa . Algoritma seharusnya ditemukan semua dalam sedemikian rupa dalam .[2][7]
Algoritma
suntingPengacakan
suntingMaka . Temukan semua akar polinomial ini sama dengan mencari faktorisasinya menjadi faktor linear. Untuk menemukan faktorisasi tersebut, cukup untuk membagi polinomial menjadi dua pembagi non-trivial dan memfaktorkannya secara rekursif. Untuk hal ini, pertimbangkan polinomial dimana adalah beberapa elemen . Apabila seseorang dapat menyatakan polinomial ini sebagai produk maka dalam hal polinomial awal itu berarti bahwa yang merupakan menyediakan faktorisasi dibutuhkan dari .[1][7]
Klasifikasi elemen
suntingKarena kriteria Euler, untuk setiap monomial tepat satu dari sifat berikut ini:[1]
- Monomial sama dengan jika ,
- Pembagian monomial jika adalah residu kuadrat modul ,
- Pembagian monomial jika adalah non-residul kuadrat modul .
Jadi jika tidak habis dibagi , yang dapat diperiksa secara terpisah, maka sama dengan produk faktor persekutuan terbesar dan .[7]
Metode Berlekamp
suntingSifat di atas mengarah ke algoritma berikut:[1]
- Hitung secara eksplisit koefisien ,
- Hitung sisa modulo dengan mengkuadratkan polinomial dan mengambil sisa modulo ,
- Menggunakan eksponensial dengan kuadrat dan polinomial yang dihitung pada langkah sebelumnya, hitung sisa modulo ,
- Jika maka yang disebutkan diatas memberikan faktorisasi non-trivial dari ,
- Jika tidak, semua akar adalah residu atau non-residu secara bersamaan dan harus memilih yang lain.
Jika habis dibagi oleh beberapa polinomial primitif atas maka saat menghitung dengan dan akan diperoleh faktorisasi non-trivial dari , sehingga algoritma memungkinkan untuk menemukan semua akar polinomial arbiter atas .
Akar kuadrat modular
suntingPertimbangkan persamaan yang memiliki elemen dan sebagai akarnya. Solusi persamaan ini ekuivalen dengan faktorisasi polinomial atas . Dalam masalah kasus khusus ini cukup untuk menghitung hanya . Untuk polinomial ini tepat satu dari sifat-sifat sebagai beriku:
- FPB sama dengan yang artinya dan keduanya merupakan non-residu kuadrat,
- FPB sama dengan yang berarti kedua bilangan tersebut merupakan residu kuadrat,
- FPB sama dengan yang berarti tepat salah satu dari bilangan tersebut adalah residu kuadrat.
Dalam kasus ketiga FPB sama dengan atau . Hal ini memungkinkan untuk menulis solusi sebagai .[1]
Contoh
suntingKita harus asumsikan untuk menyelesaikan persamaan . Untuk ini kita harus memfaktorkan . Pertimbangkan beberapa kemungkinan nilai :
- Jikalau . Maka sebagai . Kedua bilangan adalah non-residu kuadrat, jadi kita perlu mengambil beberapa lainnya.
- Jikalau . Maka sebagai . Dari berikut ini juga dan .
Pemeriksaan manual menunjukkan bahwa memang dan .
Bukti kebenaran
suntingAlgoritma menemukan faktorisasi dalam semua kasus kecuali kasus ketika semua bilangan adalah residu kuadrat atau non-residu secara bersamaan. Menurut teori siklotomi,[8] probabilitas tersebut terjadi sama halnya untuk kasus ketika juga merupakan semua residu atau non-residu secara bersamaan (yaitu, ketika tidak berhasil) diperkirakan sebagai dimana adalah jumlah nilai yang berbeda dalam .[1] Dengan cara ini bahkan untuk kasus galat dan , probabilitas galat diperkirakan sebagai dan untuk kasus akar kuadrat modular, probabilitas galat paling banyak pada diantara .
Kompleksitas
suntingApabila polinomial memiliki derajat . Maka bisa menurunkan kompleksitas algoritma sebagai berikut:
- Karena teorema binomial , kita dapat melakukan transisi dari ke dalam waktu .
- Perkalian polinomial dan mengambil sisa satu modul polinomial yang lain dapat dilakukan pada , jadi perhitungan dilakukan pada .
- Eksponensial biner bekerja dalam .
- Mengambil dari dua polinomial melalui algoritma Euklides berfungsi pada .
Jadi seluruh prosedur dapat dilakukan oleh . Menggunakan transformasi Fourier cepat dan algoritma setengah-FPB,[9] kompleksitas algoritmanya dapat ditingkatkan menjadi . Untuk kasus akar kuadrat modular pada derajatnya adalah , sehingga seluruh kompleksitas algoritma dalam kasus tersebut dibatasi oleh per iterasi.[7]
Referensi
sunting- ^ a b c d e f g Berlekamp, E. R. (1970). "Factoring polynomials over large finite fields". Mathematics of Computation (dalam bahasa Inggris). 24 (111): 713–735. doi:10.1090/S0025-5718-1970-0276200-X . ISSN 0025-5718.
- ^ a b c d M. Rabin (1980). "Probabilistic Algorithms in Finite Fields". SIAM Journal on Computing. 9 (2): 273–280. doi:10.1137/0209024. ISSN 0097-5397.
- ^ Donald E Knuth (1998). The art of computer programming. Vol. 2 Vol. 2. ISBN 978-0201896848. OCLC 900627019.
- ^ Tsz-Wo Sze (2011). "On taking square roots without quadratic nonresidues over finite fields". Mathematics of Computation. 80 (275): 1797–1811. arXiv:0812.2591 . doi:10.1090/s0025-5718-2011-02419-1. ISSN 0025-5718.
- ^ R. Peralta (November 1986). "A simple and fast probabilistic algorithm for computing square roots modulo a prime number (Corresp.)". IEEE Transactions on Information Theory. 32 (6): 846–847. doi:10.1109/TIT.1986.1057236. ISSN 0018-9448.
- ^ C Padró, G Sáez (August 2002). "Taking cube roots in Zm". Applied Mathematics Letters. 15 (6): 703–708. doi:10.1016/s0893-9659(02)00031-9 . ISSN 0893-9659.
- ^ a b c d Alfred J. Menezes, Ian F. Blake, XuHong Gao, Ronald C. Mullin, Scott A. Vanstone (1993). Applications of Finite Fields. The Springer International Series in Engineering and Computer Science. Springer US. ISBN 9780792392828.
- ^ Marshall Hall (1998). Combinatorial Theory. John Wiley & Sons. ISBN 9780471315186.
- ^ Aho, Alfred V. (1974). The design and analysis of computer algorithms . Addison-Wesley Pub. Co. ISBN 0201000296.