Co to jest cykl Millera?

delite.pl 2 miesięcy temu

Co to jest cykl Millera?

Cykl Millera, znany również jako cykl Millera-Rabin, jest jednym z najpopularniejszych testów pierwszości w matematyce i informatyce. Jest to probabilistyczny algorytm, który służy do sprawdzania, czy dana liczba jest liczbą pierwszą czy złożoną. Algorytm ten został opracowany przez Gary’ego L. Milleraa i Michaela O. Rabina w 1976 roku.

Jak działa cykl Millera?

Cykl Millera opiera się na założeniu, iż jeżeli liczba n jest liczbą pierwszą, to dla większości a, gdzie 1 < a < n, a^(n-1) ≡ 1 (mod n). Innymi słowy, jeżeli n jest liczbą pierwszą, to większość a^(n-1) modulo n będzie równa 1.

Algorytm cyklu Millera polega na przeprowadzeniu wielu testów dla różnych wartości a, aby sprawdzić, czy powyższe równanie jest spełnione. jeżeli równanie jest spełnione dla danej liczby a, to liczba n jest uznawana za prawdopodobnie pierwszą. jeżeli równanie nie jest spełnione, to liczba n jest złożona.

Kroki algorytmu cyklu Millera

Aby przeprowadzić test cyklu Millera dla danej liczby n, wykonuje się następujące kroki:

  1. Wybierz losową liczbę a, gdzie 1 < a < n.
  2. Znajdź liczby r i s takie, iż n-1 = 2^r * s, gdzie s jest nieparzyste.
  3. Oblicz wartość x = a^s modulo n.
  4. Jeśli x ≡ 1 (mod n) lub x ≡ -1 (mod n), to liczba n jest uznawana za prawdopodobnie pierwszą.
  5. W przeciwnym razie, wykonaj poniższe kroki:
    1. Dla i = 1 do r-1:
  • Oblicz wartość y = x^2 modulo n.
  • Jeśli y ≡ 1 (mod n), to liczba n jest złożona.
  • Jeśli y ≡ -1 (mod n), to liczba n jest uznawana za prawdopodobnie pierwszą.
  • Przypisz x = y.
  • Jeśli żadne z powyższych warunków nie jest spełnione, to liczba n jest złożona.
  • Zalety i zastosowania cyklu Millera

    Cykl Millera jest algorytmem probabilistycznym, co oznacza, iż ​​istnieje małe prawdopodobieństwo, iż liczba złożona zostanie błędnie uznana za liczbę pierwszą. Jednak dla większości liczb pierwszych algorytm ten działa poprawnie.

    Jedną z głównych zalet cyklu Millera jest jego efektywność obliczeniowa. Algorytm ten działa w czasie O(k log^3 n), gdzie k jest liczbą iteracji. Dla większości liczb k można ustawić na wartość stałą, co sprawia, iż ​​algorytm jest bardzo szybki.

    Cykl Millera znajduje zastosowanie w wielu dziedzinach, takich jak kryptografia, teoria liczb, generowanie liczb losowych i wiele innych. Jego wykorzystanie pozwala na szybkie i skuteczne sprawdzanie pierwszości liczby w różnych aplikacjach.

    Podsumowanie

    Cykl Millera jest popularnym algorytmem probabilistycznym służącym do sprawdzania pierwszości liczby. Działa na podstawie testowania równania a^(n-1) ≡ 1 (mod n) dla różnych wartości a. Algorytm ten jest efektywny obliczeniowo i znajduje zastosowanie w wielu dziedzinach. Dzięki cyklowi Millera możliwe jest szybkie i skuteczne sprawdzanie, czy dana liczba jest liczbą pierwszą czy złożoną.

    Cykl Millera to pojęcie z dziedziny psychologii, które odnosi się do ograniczonej pojemności pamięci krótkotrwałej człowieka. Jest to teoria zaproponowana przez George’a A. Millera, według której człowiek jest w stanie zapamiętać średnio około 7 elementów (plus-minus 2) w swojej pamięci krótkotrwałej.

    Link do strony https://mitomamka.pl/ można utworzyć w HTML dzięki tagu .

    Idź do oryginalnego materiału