6 sayı teorisinin temelleri
TRANSCRIPT
![Page 1: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/1.jpg)
Sayı Teorisinin Temelleri
![Page 2: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/2.jpg)
İçindekiler
• Bölünebilme işleminin özellikleri• Asal sayılar• Aritmetiğin temel teoremi• Bölme algoritması• OBEB/OKEK• Aralarında asal sayılar• Modüler aritmetik• Şifreleme algoritması örnekleri
![Page 3: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/3.jpg)
Sayı Teorisi Neden Önemli
• Bilgisayarlar keşfedilmeden önce sayı teorisi pure (saf) matematiğin ve kişisel estetiğin önemli bir parçası idi.
• İkinci dünya savaşına yön vermiştir.• İnternet üzerinde elektronik ticaret güvenliğinin temelini
oluşturmaktadır.– Günümüzde sayı teorisi şifreleme algoritmaları için kritik bir
öneme sahiptir.– Birçok şifreleme algoritmasının temelini modüler aritmetik
oluşturmaktadır.• Bu bölümde sayı teorisinin bu temel elemanlarına ilişkin
algoritmaları inceleyeceğiz.
![Page 4: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/4.jpg)
Bölünebilme İşlemi
a, b ve c tamsayı olmak üzere a = b ·c .
İfadesi için b ve c değerleri a’nın böleni (veya çarpanı) olarak adlandırılır. “|” sembolü “böler” işlemini gösterir:
b | a c | a .
NOT: çoğu zaman bu gösterim karışıklığa sebep olmaktadır. “|” sembolü ile “/” sembolü karıştırılmaktadır.
![Page 5: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/5.jpg)
Örnek
• Aşağıdaki ifadelerden kaçı doğrudur.– 77 | 7– 7 | 77– 24 | 24– 0 | 24– 24 | 0
![Page 6: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/6.jpg)
Örnek
• 77 | 7: yanlış çünkü büyük sayı kendinden küçük sayıyı bölemez.
• 7 | 77: doğru çünkü 77 = 7 · 11• 24 | 24: doğru çünkü 24 = 24 · 1• 0 | 24: yanlış, çünkü 0 değerini sadece 0 böler• 24 | 0: doğru çünkü 0 her sayıyı böler (0 = 24 ·
0)
![Page 7: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/7.jpg)
Bir n sayısının çarpanlarının sayısı
• 100’den küçük 15’in çarpanı olan kaç tane sayı vardır?
![Page 8: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/8.jpg)
Bir n sayısının çarpanlarının sayısı
• 100’den küçük 15’in çarpanı olan kaç tane sayı vardır?– 15, 30, 45, 60, 75, 80, 95.
• Peki 1.000.000’dan küçük 15’in çarpanı olan kaç tane sayı vardır?
![Page 9: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/9.jpg)
Bir n sayısının çarpanlarının sayısı
• Peki 1.000.000’dan küçük 15’in çarpanı olan kaç tane sayı vardır?
• Herhangi bir N sayısından küçük d’nin çarpanlarının sayısı aşağıdaki ifade ile bulunur.
• |{m Z+ | d |m and m N }| = N/d
![Page 10: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/10.jpg)
Bölünebilme Teoreminin Özellikleri
a, b, ve c tamsayı ise:– a|b a|c a|(b + c )– a|b a|bc– a|b b|c a|c
Örnek– 17|34 17|170 17|204– 17|34 17|340– 6|12 12|144 6 | 144
![Page 11: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/11.jpg)
Asal Sayılar
• n 2 için bir sayı asal ise sadece 1 ve kendisine bölünebilir.
• Bir sayı asal değil ise kompozit sayı olarak adlandırılır.
Aritmetiğin Temel Teoremi• Herhangi bir sayı iki veya daha fazla asal
sayının çarpımı şeklinde yazılabilir.
![Page 12: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/12.jpg)
Asallığın Test Edilmesi
boolean isPrime(integer n)if ( n < 2 ) return falsefor(i = 2 to n -1) if( i |n ) // “divides”! not disjunction return falsereturn true
• Soru: bu algoritmanın çalışma zamanı nedir?
![Page 13: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/13.jpg)
Asallığın Test Edilmesi
• Algoritmanın çalışma zamanını O(n) olarak belirleyebiliriz. Çünkü baskın terim n’dir.
• Bu ifade bize algoritmanın çalışma zamanının n değerine bağlı olduğunu göstermektedir.
• n=1.000.000 için giriş boyutunun 7 dijit olduğunu biliyoruz.• Daha genel bir ifade ile giriş boyutu k dijit için çalışma
zamanı O (10k ) olacak.• Bu değer çok büyük bir değerdir.
Soru: Bu algoritmayı nasıl iyileştirebiliriz?
![Page 14: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/14.jpg)
Asallığın Test Edilmesi
• n/2 den büyük sayıları denemeyiz• Çift sayıları denemeyiz. Biliyoruz ki bir sayı çift
ise asal değildir. Bu durumda sayıların yarısını denemeyiz.
• Genellikle sadece küçük asal sayıları deneriz.• Aslında sadece den küçük asal sayıları
denememiz yeterli olacaktır. n
![Page 15: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/15.jpg)
Asallığın Test Edilmesi
• Eğer bir n sayısı kompozit bir sayı ise bu sayının en küçük asal çarpanı
Soru: Yukarıda verilen ifadeyi nasıl ispat edebiliriz.
n
![Page 16: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/16.jpg)
Asallığın Test Edilmesi
• Eğer bir n sayısı kompozit bir sayı ise bu sayının en küçük asal çarpanı
• Çelişki ile ispat yöntemini kullanabiliriz• Bunun için den büyük bir asal çarpanının
olduğunu varsayalım.• Aritmetiğin temel teoremini kullanarak n = pqx
yazabiliriz. Burada p ve q değerleri asal x ise tamsayı olsun. Bu durumda aşağıdaki ifadeyi elde ederiz. İfade bir çelişki olduğundan yukarıdaki teorem doğrudur.
n
n
nxxnnn
![Page 17: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/17.jpg)
Örnek
• 139 ve 143 değerlerinin asal olup olmadığını test ediniz.
![Page 18: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/18.jpg)
Örnek
• 139 ve 143 değerlerinin asal olup olmadığını test ediniz.• Aşağıdaki asal sayı listesini deneyelim
– 2: sayıların hiçbiri çift değil bölünemez.– 3: Basamakların toplamı: 1+3+9 = 13, 1+4+3 = 8 ikiside 3 ile
bölünemez.– 5: İki sayınında sonu 0 veya 5’e bölünemiyor.– 7: 140 değeri 7’ye tam bölündüğünden iki sayıda 7’ye tam
bölünemez– 11: Basamakların toplamı 1-3+9 = 7 olduğundan 139 bölünemez
fakat 1-4+3 = 0 olduğundan 143 bölünebilir.– Sonlandırma koşulu! Sonraki denenecek asal sayı 13 fakat den
daha büyük olduğu için artık denenmez.– Sonuç: 139 asal, 143 kompozit sayıdır.
![Page 19: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/19.jpg)
Bölme İşlemi
117 = 31·3 + 24a = dq + r
311731
24
93
q bölüm
r kalan
d bölen
a bölünen
![Page 20: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/20.jpg)
OBEB (Ortak Bölenlerin En Büyüğü)
• OBEB(a,b)=d ise hem a hem de b sayılarını bölebilen en büyük sayının d olduğu anlamına gelir.
• OBEB(a,b)=1 ise a ve b sayıları aralarında asal sayılardır. Bu sayıların aralarında asal olmaları gerekmez.
• obeb=gcd (Greatest Common Divisor)– gcd(11,77)– gcd(33,77)– gcd(24,36)– gcd(24,25)
![Page 21: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/21.jpg)
OBEB (Ortak Bölenlerin En Büyüğü)
• obeb(98,420). • Her bir sayı için asal çarpanlar bulunur98 = 2·49 = 2·7·7420 = 2·210 = 2·2·105 = 2·2·3·35
= 2·2·3·5·7Ortak Çarpanların altı çizilir: 2·7·7, 2·2·3·5·7Sonuç olarak, obeb(98,420) = 14
![Page 22: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/22.jpg)
Aralarında Asal Sayılar
• Aşağıdaki küme için aralarında asal olan maksimum uzunluklu alt kümeyi bulunuz.– { 44, 28, 21, 15, 169, 17 }
![Page 23: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/23.jpg)
Aralarında Asal Sayılar
• Aşağıdaki liste için aralarında asal olan maksimum uzunluklu alt kümeyi bulunuz.– { 44, 28, 21, 15, 169, 17 }
• Olası cevaplar– {17, 169, 28, 15}.– {17, 169, 44, 15}.
![Page 24: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/24.jpg)
OKEK (Ortak Katların En Küçüğü)
• okek(a,b)=m ise hem a hem de b sayılarının bölebildiği katlarının en küçüğü m sayısıdır.
• okek=lcm (Least Common Multiple)– lcm(10,100) = 100– lcm(7,5) = 35– lcm(9,21) = 63
Teorem:• lcm(a,b) = ab / gcd(a,b)
![Page 25: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/25.jpg)
Euclidean Algoritması
m , n gcd(m,n)
integer euclid(pos. integer m, pos. integer n)x = m, y = nwhile(y > 0)
r = x mod yx = yy = r
return x
EuclideanAlgorithm
![Page 26: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/26.jpg)
Örnekgcd(33,77):
Step r = x mod y x y
0 - 33 77
![Page 27: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/27.jpg)
Örnekgcd(33,77):
Step r = x mod y x y
0 - 33 77
133 mod 77
= 3377 33
![Page 28: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/28.jpg)
Örnekgcd(33,77):
Step r = x mod y x y
0 - 33 77
133 mod 77
= 3377 33
277 mod 33
= 1133 11
![Page 29: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/29.jpg)
Örnekgcd(33,77):
Step r = x mod y x y
0 - 33 77
133 mod 77
= 3377 33
277 mod 33
= 1133 11
333 mod 11
= 011 0
![Page 30: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/30.jpg)
Örnekgcd(244,117):
Step r = x mod y x y
0 - 244 117
![Page 31: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/31.jpg)
Örnekgcd(244,117):
Step r = x mod y x y
0 - 244 117
1 244 mod 117 = 10 117 10
![Page 32: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/32.jpg)
Örnekgcd(244,117):
Step r = x mod y x y
0 - 244 117
1 244 mod 117 = 10 117 10
2 117 mod 10 = 7 10 7
![Page 33: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/33.jpg)
Örnekgcd(244,117):
Step r = x mod y x y
0 - 244 117
1 244 mod 117 = 10 117 10
2 117 mod 10 = 7 10 73 10 mod 7 = 3 7 3
![Page 34: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/34.jpg)
Örnekgcd(244,117):
Step r = x mod y x y
0 - 244 117
1 244 mod 117 = 10 117 10
2 117 mod 10 = 7 10 73 10 mod 7 = 3 7 34 7 mod 3 = 1 3 1
![Page 35: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/35.jpg)
Örnekgcd(244,117):
Step r = x mod y x y
0 - 244 117
1 244 mod 117 = 10 117 10
2 117 mod 10 = 7 10 73 10 mod 7 = 3 7 34 7 mod 3 = 1 3 1
5 3 mod 1=0 1 0
![Page 36: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/36.jpg)
Euclidean Algoritmasının Doğruluğu
Euclidean algoritması incelenirse gcd(x,y ) ifadesinin değişmediği görülür. x’, y’ ifadeleri x, y değerlerinin bir sonraki değerlerini göstermek üzere:
gcd(x’,y’) = gcd(y, x mod y) = gcd(y, x + qy) = gcd(y, x ) = gcd(x,y)
![Page 37: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/37.jpg)
Euclidean Algoritmasının Çalışma Zamanı Nedir?
integer euclid(m, n)x = m, y = nwhile( y > 0)
r = x mod yx = yy = r
return x
O (1) +? ( O (1)
+ O (1) + O (1)
+ O (1) + O (1) )
= ? O(1)
Burada “?” while döngüsünün iterasyon sayısıdır.
mod işleminin çalışma zamanının O (1) olduğunu varsayalım:
![Page 38: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/38.jpg)
Modüler Aritmetik
İki tip “mod” işlemi vardır (KARIŞTIRMAYIN):• mod fonksiyonu
– Girişler: Bir a sayı değeri ve b taban değeri– Çıkışlar: a mod b sonucu olarak 0 ve b –1 aralığında sayılar– Bu değer ab ifadesinin sonucundaki kalan değeridir– C#, Java gibi programlama dillerindeki % operatörüdür.
• (mod) congruence– a, a’ gibi iki sayı ve bunların göreceli olduğu bir b tabanıyla
ilgilidir.– a a’ (mod b) bu ifadenin anlamı a ve a’ değerleri b
değerini böldüğü zaman aynı kalanı veirler.
![Page 39: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/39.jpg)
mod fonksiyonu
1. 113 mod 24:
2. -29 mod 7
411324
17
96
5297
356
![Page 40: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/40.jpg)
(mod) congruenceTanım:• a,a’ değerleri tamsayı ve b pozitif tamsayı olsun• a a’ (mod b) ancak ve ancak b | (a – a’ ).• a mod b = a’ mod b
Soru: Aşağıdakilerden hangileri doğrudur. – 3 3 (mod 17)– 3 -3 (mod 17)– 172 177 (mod 5)– -13 13 (mod 26)
![Page 41: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/41.jpg)
Bazı Önemli Özellikler
• a mod b a (mod b) • a a’ (mod b) ve c c’ (mod b) ise:– a+c (a’+c’ )(mod b)– ac a’c’ (mod b)– a k a’ k (mod b)
![Page 42: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/42.jpg)
Örnek
• 3071001 mod 1023071001 mod 102 3071001 (mod 102)º 11001 (mod 102) 1 (mod 102). Bu yüzden, 3071001 mod 102 = 1.
• (-45·77) mod 17 º (-45·77) (mod 17) (6·9) (mod 17) º 54 (mod 17) 3 (mod 17). Bu yüzden (-45·77) mod 17 = 3.
![Page 43: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/43.jpg)
Harf Sayı Dönüşüm Tablosu
A B C D E F G H I J K L M
1 2 3 4 5 6 7 8 9 10
11
12
13
N O P Q R S T U V W X Y Z
14
15
16
17
18
19
20
21
22
23
24
25
26
![Page 44: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/44.jpg)
Şifreleme Örneği
Şifreleme fonksiyonu aşağıdaki gibi olsunf (a) = (3a + 9) mod 26
Şifre “Merhaba”1. MERHABA (Büyük harfe çevir)2. 13,5,18,8,1,2,13. 22,24,11,7,12,15,124. VXKGLOL
![Page 45: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/45.jpg)
Şifre Çözme İşlemi
Şifre çözme işleminde şifreleme işleminde kullanılan fonksiyonun tersi uygulanacaktır
Aşağıdaki fonksiyonun tersini bulacağızf (a) = (3a + 9) mod 26
• g (a) = 3-1 (a - 9)• gcd(3,26) = 1, olması için 3’ün tersi mod 26’da 9 olarak
tanımlanır.• Bu durumda şifre çözme fonksiyonu:
g (a) = 9 (a - 9) mod 26 = (9a – 3) mod 26
![Page 46: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/46.jpg)
Sezar Şifresi
• Sezar şifreleme algoritmasının fonksiyonu aşağıda verilmiştir.
f (a) = (a+3) mod 26
• Buna göre soyadınızı şifreleyiniz• Şifre çözme fonksiyonunu tanımlayınız
![Page 47: 6 sayı teorisinin temelleri](https://reader035.vdocuments.pub/reader035/viewer/2022081506/5584c4f5d8b42ae5138b471d/html5/thumbnails/47.jpg)
Google’den inciler
• 2004 yılında reklam panolarında aşağıdaki link yayınlandı.• Doğru adresi girenler Google’in iş başvurusu sayfasına
yönlendirildi