Algorytm Euklidesa - NWD i NWW krok po kroku, dowód
Algorytm Euklidesa
Dla liczb naturalnych , jeśli , gdzie , to
Dzielimy z resztą, aż reszta wyniesie - ostatnia niezerowa reszta to NWD. Ponadto .
Co mówi twierdzenie
Algorytm Euklidesa to sposób obliczania największego wspólnego dzielnika (NWD) dwóch liczb bez rozkładania ich na czynniki pierwsze. Opiera się na jednym fakcie: NWD dwóch liczb nie zmienia się, gdy większą z nich zastąpimy resztą z jej dzielenia przez mniejszą. Powtarzając ten krok, dostajemy coraz mniejsze liczby, aż reszta wyniesie zero - wtedy ostatnia niezerowa reszta jest szukanym NWD.
Algorytm działa szybko nawet dla liczb, których rozkładu na czynniki nie da się w praktyce znaleźć - dlatego jest podstawą współczesnej kryptografii.
Przykład
Obliczmy :
Ostatnia niezerowa reszta to , więc . Stąd od razu:
- ,
- ułamek po skróceniu przez to .
Wersja z odejmowaniem. Zamiast dzielić, można odejmować mniejszą liczbę od większej: - wynik ten sam, tylko kroków jest więcej. W takiej postaci algorytm opisał Euklides.
Założenia
- i są liczbami całkowitymi, niezerowymi jednocześnie (dla liczb ujemnych bierze się ich wartości bezwzględne).
- Dzielenie z resztą: dla istnieją jednoznacznie wyznaczone i , że i (zob. dzielenie z resztą).
Dowód poprawności
Pokaż dowódUkryj dowód
Krok 1. Te same wspólne dzielniki. Niech . Jeśli dzieli i , to dzieli też . I odwrotnie: jeśli dzieli i , to dzieli też . Pary i mają więc dokładnie te same wspólne dzielniki, a zatem ten sam największy: .
Krok 2. Algorytm się kończy. Reszty tworzą ciąg ściśle malejących liczb nieujemnych (), więc po skończenie wielu krokach któraś reszta wynosi .
Krok 3. Wynik. Gdy reszta wynosi , mamy parę , a . Z kroku 1 ta liczba jest równa NWD liczb wyjściowych.
Rozszerzony algorytm i tożsamość Bézouta
Cofając się po krokach algorytmu, NWD można zapisać jako kombinację liczb wyjściowych. Z przykładu:
To tożsamość Bézouta: dla dowolnych , istnieją liczby całkowite , , że . Wniosek: równanie ma rozwiązanie w liczbach całkowitych wtedy i tylko wtedy, gdy dzieli . Na przykład ma rozwiązanie (, ), a - nie, bo .
Ile trwa algorytm
Najwięcej kroków wymagają kolejne liczby Fibonacciego: dla i potrzeba dzieleń. Gabriel Lamé udowodnił w 1844 roku, że liczba dzieleń nie przekracza pięciokrotności liczby cyfr mniejszej z liczb - dla liczb stucyfrowych to najwyżej około kroków, podczas gdy rozkład na czynniki pierwsze takich liczb jest praktycznie niewykonalny.
Po co to komu
- Skracanie ułamków i NWW - wspólny mianownik to NWW mianowników.
- Równania diofantyczne - rozwiązywalność i rozwiązania z tożsamości Bézouta.
- Kryptografia RSA - rozszerzony algorytm Euklidesa wyznacza odwrotność modulo, potrzebną do klucza prywatnego (zob. małe twierdzenie Fermata).
- Dowody w teorii liczb - z tożsamości Bézouta wynika lemat Euklidesa, a z niego podstawowe twierdzenie arytmetyki.
Kto i kiedy
Algorytm opisał Euklides w VII księdze „Elementów” (twierdzenia VII.1 i VII.2, ok. 300 r. p.n.e.), w wersji z odejmowaniem. Uchodzi za jeden z najstarszych algorytmów, które wciąż są w powszechnym użyciu. Tożsamość nosi imię francuskiego matematyka Étienne’a Bézouta (XVIII w.), choć dla liczb całkowitych znał ją już wcześniej Claude-Gaspard Bachet de Méziriac (1624).
Najczęstsze pytania
Jak obliczyć NWD algorytmem Euklidesa? Podziel większą liczbę przez mniejszą z resztą, potem dzielnik przez resztę i tak dalej, aż reszta wyniesie . Ostatnia niezerowa reszta to NWD.
Jak obliczyć NWW dwóch liczb? Podziel iloczyn liczb przez ich NWD: .
Czym różni się algorytm Euklidesa od rozkładu na czynniki? Rozkład wymaga znalezienia wszystkich dzielników pierwszych, co dla dużych liczb jest bardzo trudne. Algorytm Euklidesa potrzebuje tylko dzieleń z resztą i działa szybko dla dowolnie dużych liczb.
Co to jest tożsamość Bézouta? Zapis NWD jako kombinacji liczb: dla pewnych całkowitych , . Współczynniki wyznacza rozszerzony algorytm Euklidesa.
Kiedy liczby są względnie pierwsze? Gdy ich NWD wynosi - algorytm Euklidesa kończy się wtedy resztą .
Podsumowanie
- - dzielimy z resztą, aż reszta wyniesie zero.
- Dowód: pary i mają te same wspólne dzielniki; reszty maleją, więc algorytm się kończy.
- .
- Tożsamość Bézouta ; równanie ma rozwiązanie, gdy NWD dzieli .
- Liczba kroków rośnie jak liczba cyfr (Lamé) - algorytm jest bardzo szybki.