Pengguna:Klasüo/bak pasir/Arsip 40

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas

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[sunting | sunting sumber]

Metode 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[sunting | sunting sumber]

Maka adalah sebagai bilangan prima ganjil. Pertimbangkan polinomial pada medan dari modulo sisa . Algoritma seharusnya ditemukan semua dalam sedemikian rupa dalam .[2][7]

Algoritma[sunting | sunting sumber]

Pengacakan[sunting | sunting sumber]

Maka . 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 [sunting | sunting sumber]

Karena kriteria Euler, untuk setiap monomial tepat satu dari sifat berikut ini:[1]

  1. Monomial sama dengan jika ,
  2. Pembagian monomial jika adalah residu kuadrat modul ,
  3. 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[sunting | sunting sumber]

Sifat di atas mengarah ke algoritma berikut:[1]

  1. Hitung secara eksplisit koefisien ,
  2. Hitung sisa modulo dengan mengkuadratkan polinomial dan mengambil sisa modulo ,
  3. Menggunakan eksponensial dengan kuadrat dan polinomial yang dihitung pada langkah sebelumnya, hitung sisa modulo ,
  4. Jika maka yang disebutkan diatas memberikan faktorisasi non-trivial dari ,
  5. 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[sunting | sunting sumber]

Pertimbangkan 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:

  1. FPB sama dengan yang artinya dan keduanya merupakan non-residu kuadrat,
  2. FPB sama dengan yang berarti kedua bilangan tersebut merupakan residu kuadrat,
  3. 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[sunting | sunting sumber]

Kita harus asumsikan untuk menyelesaikan persamaan . Untuk ini kita harus memfaktorkan . Pertimbangkan beberapa kemungkinan nilai :

  1. Jikalau . Maka sebagai . Kedua bilangan adalah non-residu kuadrat, jadi kita perlu mengambil beberapa lainnya.
  1. Jikalau . Maka sebagai . Dari berikut ini juga dan .

Pemeriksaan manual menunjukkan bahwa memang dan .

Bukti kebenaran[sunting | sunting sumber]

Algoritma 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[sunting | sunting sumber]

Apabila polinomial memiliki derajat . Maka bisa menurunkan kompleksitas algoritma sebagai berikut:

  1. Karena teorema binomial , kita dapat melakukan transisi dari ke dalam waktu .
  2. Perkalian polinomial dan mengambil sisa satu modul polinomial yang lain dapat dilakukan pada , jadi perhitungan dilakukan pada .
  3. Eksponensial biner bekerja dalam .
  4. 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 | sunting sumber]

  1. ^ 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-Xalt=Dapat diakses gratis. ISSN 0025-5718. 
  2. ^ 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. 
  3. ^ Donald E Knuth (1998). The art of computer programming. Vol. 2 Vol. 2. ISBN 978-0201896848. OCLC 900627019. 
  4. ^ Tsz-Wo Sze (2011). "On taking square roots without quadratic nonresidues over finite fields". Mathematics of Computation. 80 (275): 1797–1811. arXiv:0812.2591alt=Dapat diakses gratis. doi:10.1090/s0025-5718-2011-02419-1. ISSN 0025-5718. 
  5. ^ 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. 
  6. ^ 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-9alt=Dapat diakses gratis. ISSN 0893-9659. 
  7. ^ 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. 
  8. ^ Marshall Hall (1998). Combinatorial Theory. John Wiley & Sons. ISBN 9780471315186. 
  9. ^ Aho, Alfred V. (1974). The design and analysis of computer algorithmsPerlu mendaftar (gratis). Addison-Wesley Pub. Co. ISBN 0201000296. 

Templat:Algoritma teori bilangan