Fermatův test prvočíselnosti

Fermatův test prvočíselnosti vychází z malé Fermatovy věty, tedy že pro každé prvočíslo platí

{ a^{p-1} \equiv 1 \bmod p}

Pokud rovnost pro testovené číslo p neplatí, tak určitě není prvočíslem, pokud platí, tak dané číslo MOŽNÁ prvočíslem je.

Příklad

Testujeme: 15
Volíme: a = 2
Musí tedy platit

Předpokládáme:

 {2^{14} \equiv 1 \bmod 15}

Testujeme:

 2^{14} = 2^{4} \cdot 2^{4} \cdot 2^{4} \cdot 2^{2} = 16 \cdot 16 \cdot 16 \cdot 4 = 1 \cdot 1 \cdot 1 \cdot 4 = 4 \; v \; Z_{15}

2 je svědkem, že 15 není prvočíslo.

Zkusme si ten samý příklad se zvoleným číslem 4
Volíme: a = 4
Musí tedy platit

Předpokládáme:

{4^{14} \equiv 1 \bmod 15}

Testujeme:

 4^{14} = (4^2)^7 = 16^7 = 1^7 = 1 \; v \; Z_{15}

Číslo 4 tvrdí, že 15 je prvočíslo, což není pravda (což bychom možná zjistili při pokusu s jiným základem (například již ona zmíněná dvojka)). Označme tedy číslo 4 za Fermatova lháře.

Problémy Fermatova testu

Zásadním problémem tohoto testu je ono „možná je prvočíslem“, protože i když nám 100 po sobě jdoucích testů napoví, že to může být prvočíslo, tak neexistuje způsob, jak určit, jaká je pravděpodobnost, že máme skutečně v ruce prvočíslo. Důvodem, proč to nelze zjistit je existence tzv. Carmichaelových čísel, kterých existuje nekonečně mnoho a mají tu vlastnost, že je vždy Fermatův test vyhodnotí jako prvočísla, ačkoliv jimi nejsou.

{ zpětná vazba }
Delicious Delicious
Sdílet
Hodnocení (0): 0

Přečtěte si také

Diskuse





Článek zatím nemá žádné komentáře.