Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Sayı Teorisinin Temelleri. İçindekiler Bölünebilme işleminin özellikleri Asal sayılar Aritmetiğin temel teoremi Bölme algoritması OBEB/OKEK Aralarında.

Benzer bir sunumlar


... konulu sunumlar: "Sayı Teorisinin Temelleri. İçindekiler Bölünebilme işleminin özellikleri Asal sayılar Aritmetiğin temel teoremi Bölme algoritması OBEB/OKEK Aralarında."— Sunum transkripti:

1 Sayı Teorisinin Temelleri

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

3 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.

4 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.

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

6 Örnek 77 | 7: yanlış çünkü büyük sayı kendinden küçük sayıyı bölemez. 7 | 77: doğru çünkü 77 = 7 · | 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)

7 Bir n sayısının çarpanlarının sayısı 100’den küçük 15’in çarpanı olan kaç tane sayı vardır?

8 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 ’dan küçük 15’in çarpanı olan kaç tane sayı vardır?

9 Bir n sayısının çarpanlarının sayısı Peki ’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 

10 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

11 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.

12 Asallığın Test Edilmesi boolean isPrime(integer n) if ( n < 2 ) return false for(i = 2 to n -1) if( i |n ) // “ divides ” ! not disjunction return false return true Soru: bu algoritmanın çalışma zamanı nedir?

13 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= için giriş boyutunun 7 dijit olduğunu biliyoruz. Daha genel bir ifade ile giriş boyutu k dijit için çalışma zamanı O (10 k ) olacak. Bu değer çok büyük bir değerdir. Soru: Bu algoritmayı nasıl iyileştirebiliriz?

14 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.

15 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.

16 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.

17 Örnek 139 ve 143 değerlerinin asal olup olmadığını test ediniz.

18 Ö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ı: = 13, = 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ı = 7 olduğundan 139 bölünemez fakat = 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.

19 Bölme İşlemi 117 = 31 · a = dq + r q bölüm r kalan d bölen a bölünen

20 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)

21 OBEB (Ortak Bölenlerin En Büyüğü) obeb(98,420). Her bir sayı için asal çarpanlar bulunur 98 = 2 · 49 = 2 · 7 · = 2 · 210 = 2 · 2 · 105 = 2 · 2 · 3 · 35 = 2 · 2 · 3 · 5 · 7 Ortak Çarpanların altı çizilir: 2 · 7 · 7, 2 · 2 · 3 · 5 · 7 Sonuç olarak, obeb(98,420) = 14

22 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 }

23 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}.

24 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)

25 Euclidean Algoritması m, n gcd(m,n) integer euclid(pos. integer m, pos. integer n) x = m, y = n while(y > 0) r = x mod y x = y y = r return x Euclidean Algorithm

26 Örnek gcd(33,77): Stepr = x mod yxy

27 Örnek gcd(33,77): Stepr = x mod yxy mod 77 =

28 Örnek gcd(33,77): Stepr = x mod yxy mod 77 = mod 33 =

29 Örnek gcd(33,77): Stepr = x mod yxy mod 77 = mod 33 = mod 11 = 0 110

30 Örnek gcd(244,117): Stepr = x mod yxy

31 Örnek gcd(244,117): Stepr = x mod yxy mod 117 =

32 Örnek gcd(244,117): Stepr = x mod yxy mod 117 = mod 10 = 7107

33 Örnek gcd(244,117): Stepr = x mod yxy mod 117 = mod 10 = mod 7 = 373

34 Örnek gcd(244,117): Stepr = x mod yxy mod 117 = mod 10 = mod 7 = mod 3 = 131

35 Örnek gcd(244,117): Stepr = x mod yxy mod 117 = mod 10 = mod 7 = mod 3 = mod 1=010

36 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)

37 Euclidean Algoritmasının Çalışma Zamanı Nedir? integer euclid(m, n) x = m, y = n while( y > 0) r = x mod y x = y y = r return x 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 :

38 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 a  b 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.

39 mod fonksiyonu mod 24: mod 7

40 (mod) congruence Tanı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)

41 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)

42 Örnek mod mod 102  (mod 102)  (mod 102)  1 (mod 102). Bu yüzden, 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.

43 Harf  Sayı Dönüşüm Tablosu ABCDEFGHIJKLM NOPQRSTUVWXYZ

44 Şifreleme Örneği Şifreleme fonksiyonu aşağıdaki gibi olsun f (a) = (3a + 9) mod 26 Şifre “Merhaba” 1.MERHABA (Büyük harfe çevir) 2.13,5,18,8,1,2,1 3.22,24,11,7,12,15,12 4.VXKGLOL

45 Şifre Çözme İşlemi Şifre çözme işleminde şifreleme işleminde kullanılan fonksiyonun tersi uygulanacaktır Aşağıdaki fonksiyonun tersini bulacağız f (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

46 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

47 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


"Sayı Teorisinin Temelleri. İçindekiler Bölünebilme işleminin özellikleri Asal sayılar Aritmetiğin temel teoremi Bölme algoritması OBEB/OKEK Aralarında." indir ppt

Benzer bir sunumlar


Google Reklamları