Wykład 2

Transkrypt

Wykład 2
Materiały dydaktyczne – Matematyka Dyskretna (Wykład 2)
Wstęp do arytmetyki modularnej: systemy pozycyjne, relacja podzielności liczb
całkowitych, liczby pierwsze, największy wspólny dzielnik, najmniejsza wspólna
wielokrotność, algorytm Euklidesa.
Kilka słów wstępu
Jednym z ważnych powodów, dla których informatycy interesują się dużymi liczbami, operacjami na nich i innnymi zagadnieniam, które zaliczane są do działu matematyki zwanej Teorią
Liczb jest bezpieczeństwo systemów komputerowych. Teoria liczb, jako dyscyplina matematyki,
wyodrębniła się z niej gdzieś na przełomie XVIII i XIX wieku, ale już wcześniej znane były różne
zagadnienia teorio-liczbowe nie mające praktycznych zastosowań, ani w dziedzinach matematycznych, ani tym bardziej pozamatematycznych. Mimo ich niepraktyczności silnie przyciągały uwagę
najwybitniejszych matematyków. Najbardziej znanymi z tego zakresu są: Wielka Twierdzenie Fermata, Hipoteza Goldbacha, czy cały wachlarz zagadnień odnoszących się do tego jak w zbiorze
liczb naturalnych są rozmieszczone liczby pierwsze. Warto niektóre z nich przytoczyć.
Twierdzenie 1. (Wielkie Twierdzenie Fermata) Dla dowolnej liczby naturalnej n > 3 nie
istnieją liczby naturalne x, y, z takie, że
xn + y n = z n .
(1)
Twierdzenie to zostało sformułowane w 1637 roku przez francuskiego prawnika i matematykaamatora Jeana Pierre’a de Fermata z Tuluzy, a rozwiązane w 1995 roku przez Anglika Andrew
Wilesa.
Hipoteza Goldbacha Każda liczba parzysta większa od 2 jest sumą dwóch liczb pierwszych.
Hipoteza ta została sformułowana w 1742 roku przez matematyka niemieckiego Christiana Goldbacha, syna protestanckiego pastora z Królewca, pracującego w Akademii w Petersburgu. Do dzisiaj
nie została potwierdzona.
Twierdzenie 2. Niech π(n) będzie ilością liczb pierwszych z przedziału (1, n]. Wówczas
(1) (J.-M. Legendre) π(n) ≈ lnnn − 1, 08366
R∞
(2) (K. F. Gauss) ln1x dx
2
Ostatnie z wymienionych rezultatów jest autorstwa Karola Fryderyka Gaussa (1777-1855). Teorię liczb nazwał on królową matematyki i orzekł, że jest nauką czystą i tak piękną, że nie powinna
być splamiona żadnymi zastosowaniami. Jest rzeczywiście nauką piękną, ale jej czystość została
naruszona prawie dwieście lat później, gdy uczyniono z niej podstawę systemów kryptograficznych
mających niezwykle obszerne zastosowania we współczesnym świecie, gdzie informacji nadano status, jeśli nie boga, to przynajmniej bożka.
Systemy pozycyjne
Definicja 1. Niech b będzie liczbą całkowitą większą od 1. Klasycznym systemem pozycyjnym o
podstawie b nazywamy sposób zapisu liczb rzeczywistych nieujemnych w postaci
(an an−1 . . . a3 a2 a1 a0 , a−1 a−2 . . .)b ,
1
(2)
Materiały dydaktyczne – Matematyka Dyskretna (Wykład 2)
gdzie ai ∈ {0, 1, 2, . . . , b − 1}. Zapis taki oznacza liczbę
an · bn + an−1 · bn−1 + · · · + a3 · b3 + a2 · b2 + a1 · b + a0 + a−1 ·
1
1
+ a−2 · 2 + · · · ,
b
b
(3)
Liczby 0, 1, . . . , b − 1 nazywamy cyframi systemu o podstawie b. Pełnią one dwojaką rolę: liczb
oraz znaków graficznych. Przecinek występujący w zapisie oddziela część całkowitą liczby od jej
części ułamkowej. Jeżeli część ułamkowa jest równa zeru, można w tym zapisie zrezygnować z
przecinka i cyfr (równych 0) po jego prawej stronie.
Twierdzenie 3. Niech b będzie liczbą całkowitą, b > 1. Każdą liczbę całkowitą a > 0 można w
sposób jednoznaczny zapisać w klasycznym systemie o podstawie b, tzn. w postaci:
(an an−1 . . . a3 a2 a1 a0 )b = an · bn + an−1 · bn−1 + · · · + a3 · b3 + a2 · b2 + a1 · b + a0 ,
gdzie an > 0.
Dowód. Dowód tego twierdzenia sprowadza się do łatwego zastosowania indukcji matematycznej.
Tę jednoznaczność zapisu liczb można naruszać pisząc po nawiasie i przed an dowolną liczbę
zer.
Przykład 1. Jeśli włączymy w zapis część ułamkową, to przestaje on być jednoznaczny. Wystarczy
zauważyć, że
b−1
b
+
b−1
b2
+
b−1
b3
+ ···
=
=
b−1
b
b−1
b
1 + 1b + b12 + · · · =
1
= 1.
1
1−
b
Zatem (0, b − 1 b − 1 b − 1 . . .)b = (1, 0 0 0 . . .)b .
Przykład 2. W standardowych zastosowaniach funkcjonuje kilka podstawowych systemów pozycyjnych
podstawa
10
2
8
16
60
nazwa systemu
cyfry
dziesiętny1
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
dwójkowy
0, 1
(binarny)
ósemkowy
0, 1, 2, 3, 4, 5, 6, 7
(oktonalny)
szesnastkowy
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
(hexadecymalny)
sześćdziesiętny
0, 1, . . . , 59
Podstawowe definicje i fakty
Mówimy że liczba całkowita a jest dzielnikiem liczby całkowitej b (lub że a dzieli b) i piszemy
a|b, jeśli istnieje liczba całkowita c, taka że b = ac.
Liczbę naturalną p nazywamy liczbą pierwszą, jeżeli ma ona dokładnie dwa różne dzielniki
naturalne. W myśl tej definicji, liczba 1 nie jest liczbą pierwszą, bo ma tylko jeden taki dzielnik.
2
Materiały dydaktyczne – Matematyka Dyskretna (Wykład 2)
Lemat 4. Każdą liczbę naturalną większa od 1, która nie jest liczbą pierwszą, można rozłożyć na
iloczyn liczb pierwszych. W szczególności więc, każda liczba naturalna większa od 1 dzieli się przez
pewną liczbę pierwszą.
Lemat 5. (Twierdzenie Euklidesa) Istnieje nieskończenie wiele liczb pierwszych.
Tu jako ciekawostkę można dodać, że L. Euler przedstawił istotne wzmocnienie tego twierdzenia
dowodząc, że szereg odwrotności liczb pierwszych jest rozbieżny. Warto też wspomnieć następujące twierdzenie autorstwa Lejeune-Dirichleta. Może mieć ono znaczenie przy analizie systemów
kryptograficznych.
Twierdzenie 6. Jeśli a i r nie mają wspólnych dzielników większych od 1, to w zbiorze liczb
naturalnych postaci a + nr, n ∈ N istnieje nieskończenie wiele liczb pierwszych.
W szczególności więc istnieje nieskończenie wiele liczb pierwszych w zbiorach liczb każdej z
następujących postaci: 3n + 1, 3n + 2, 4n + 1, 4n + 3, 5n + 1, 5n + 2, 5n + 3, 5n + 4.
Niech p1 = 2 < p2 = 3 < p3 = 5 < . . . < pn < . . . będzie ciągiem kolejnych liczb pierwszych
(każda liczba pierwsza jest wyrazem tego ciągu). Z poprzedniego lematu wynika, że ciąg ten
jest nieskończony. Rolę liczb pierwszych tłumaczy następujące twierdzenie zwane zasadniczym
twierdzeniem arytmetyki liczb całkowitych.
Twierdzenie 7. Każdą liczbę całkowitą n różną od zera można w sposób jednoznaczny przedstawić
w postaci:
∞
Y
n1 n2 n3
n = (−1) p1 p2 p3 · · · = (−1)
pni i ,
i=1
gdzie ∈ {0, 1}, ni są nieujemnymi liczbami całkowitymi i tylko ich skończona ilość, to liczby różne
od zera.
Jednoznaczność zapisu oznacza, że każda liczba n jednoznacznie określa oraz wszystkie wykładniki ni .
Największym wspólnym dzielnikiem liczb a i b nazywamy największą liczbę naturalną N W D(a, b) =
d, taką że d jest dzielnikiem a, d jest dzielnikiem b i dzieli się przez każdy wspólny dzielnik tych
liczb. Największy wspólny dzielnik liczb a i b oznaczamy symbolem N W D(a, b). Przyjmujemy,
że N W D(0, b) = b. Liczby całkowite a i b nazywamy względnie pierwszymi jeśli ich największy
wspólny dzielnik jest równy 1.
Najmniejszą wspólną wielokrotną liczb a i b nazywamy najmniejszą liczbę naturalną e, taką że a
jest dzielnikiem e, b jest dzielnikiem e i e jest dzielnikiem każdej liczby, która się dzieli jednocześni
przez a i b. Najmniejszą wspólną wielokrotność a i b oznaczamy symbolem N W W (a, b).
Twierdzenie 8. Niech m i n będą ustalonymi liczbami całkowitymi różnymi od zera:
1 m2 m3
m = (−1)η pm
1 p2 p3 · · · ,
n = (−1) pn1 1 pn2 2 pn3 3 · · · .
Wówczas
N W D(m, n) =
min(m1 ,n1 ) min(m2 ,n2 ) min(m3 ,n3 )
p1
p2
p3
···
=
∞
Y
min(mi ,ni )
pi
.
i=1
Powyższe twierdzenie podaje sposób wyznaczania największego wspólnego dzielnika dwóch dowolnych niezerowych liczb całkowitych. Jest to jednak sposób niepraktyczny, ponieważ musi być
poprzedzony rozkładem liczb na czynniki pierwsze, co może się okazać niebagatelnym zadaniem.
3
Materiały dydaktyczne – Matematyka Dyskretna (Wykład 2)
Lemat 9. Niech a i b będą dowolnymi liczbami całkowitymi, b > 0. Wówczas istnieją liczby
całkowite q i r takie, że
a = bq + r, gdzie 0 6 r 6 b.
Twierdzenie 10. Niech a i m (m > 1) będą dowolnymi liczbami całkowitymi i niech d = N W D(a, m).
Wówczas istnieją liczby całkowite x i y takie, że
ax + my = d.
W szczególności, jeśli a i m są względnie pierwsze, to istnieją liczby całkowite x i y takie, że
ax + by = 1.
Algorytm Euklidesa.
Niech a i b będą dowolnymi liczbami całkowitymi dodatnimi. Dla n = 1, 2, . . . definiujemy
kolejne wyrazy ciągów an , bn , qn i rn przyjmując:
a1 = a,
b1 = b,
q1 = ba1 /b1 c, r1 = a1 − b1 q,
a2 = b1 ,
b2 = r1 ,
q2 = ba2 /b2 c, r2 = a2 − b2 q
...
an = bn−1 , bn = rn−1 , qn = ban /bn c, rn = an − bn q
Nietrudno zauważyć, że wyrazy ciągu {rn } są nieujemne oraz r1 > r2 > r3 > · · · , o ile są
dodatnie. Zatem, istnieje takie n, że rn 6= 0 i rn+1 = 0. Wówczas N W D(a, b) = rn .
Przyjmując nieco inną notację ten algorytm można przedstawić w dwóch krokach:
A1. Jeśli b = 0, to N W D(a, b) = a i algorytm zatrzymuje się.
A2. Podstaw r ← a (mod b), a ← b, b ← r i wróć do kroku A1.
Algorytm Euklidesa jest znany od 2, 5 tys. lat.
Rozszerzony Algorytm Euklidesa Definiujemy ciągi {xn }, {yn }, {an }, {bn }, {qn }, {rn },
przy tym dla n > 1 cztery ostatnie są takie, jak w opisanym wyżej algorytmie Euklidesa:
x
x0 = 1
x1 = 0
...
xn =
xn−2 − xn−1 qn−1
y
y0 = 0
y1 = 1
a
yn =
yn−2 − yn−1 qn−1
q
r
b
a1 = b0
b
b0 = a
b1 = r0
q1 = ba1 /b1 c
r1 = a1 − b1 q1
an = bn−1
bn = rn−1
qn = ban /bn c
rn = an − bn qn
Łatwą indukcją można teraz pokazać, że
xn+1 a1 + yn+1 b1 = rn ,
w szczególności więc, jeśli rn+1 jest pierwszą resztą różną od zera, to N W D(a, b) = rn i wobec tego
xn+1 a + yn+1 b = N W D(a, b).
Opracował: Cz. Bagiński
4

Podobne dokumenty