47
Sayı Teorisinin Temelleri

6 sayı teorisinin temelleri

Embed Size (px)

Citation preview

Page 1: 6 sayı teorisinin temelleri

Sayı Teorisinin Temelleri

Page 2: 6 sayı teorisinin temelleri

İç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

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

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

Örnek

• Aşağıdaki ifadelerden kaçı doğrudur.– 77 | 7– 7 | 77– 24 | 24– 0 | 24– 24 | 0

Page 6: 6 sayı teorisinin temelleri

Ö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

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

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

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

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

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

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

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

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

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

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

Örnek

• 139 ve 143 değerlerinin asal olup olmadığını test ediniz.

Page 18: 6 sayı teorisinin temelleri

Ö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

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

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

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

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

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

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

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

Örnekgcd(33,77):

Step r = x mod y x y

0 - 33 77

Page 27: 6 sayı teorisinin temelleri

Örnekgcd(33,77):

Step r = x mod y x y

0 - 33 77

133 mod 77

= 3377 33

Page 28: 6 sayı teorisinin temelleri

Ö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

Ö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

Örnekgcd(244,117):

Step r = x mod y x y

0 - 244 117

Page 31: 6 sayı teorisinin temelleri

Ö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

Ö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

Ö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

Ö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

Ö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

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

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

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

mod fonksiyonu

1. 113 mod 24:

2. -29 mod 7

411324

17

96

5297

356

Page 40: 6 sayı teorisinin temelleri

(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

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

Ö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

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

Ş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

Ş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

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

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