Sayı Teorisinin Temelleri

Slides:



Advertisements
Benzer bir sunumlar
Yrd. Doç. Dr. Mustafa Akkol
Advertisements

Prof.Dr.Şaban EREN Yasar Üniversitesi Fen-Edebiyat Fakültesi
ÖZEL MÜZEYYEN ÇELEBİOĞLU
Değişkenler ve bellek Değişkenler
Saydığımızda 15 tane sayı olduğunu görürüz.
T.C. İNÖNÜ ÜNİVERSİTESİ Arapgir Meslek YÜKSEKOKULU
Eğitim Programı Kurulum Aşamaları E. Savaş Başcı ASO 1. ORGANİZE SANAYİ BÖLGESİ AVRUPA BİLGİSAYAR YERKİNLİĞİ SERTİFİKASI EĞİTİM PROJESİ (OBİYEP)
KÜMELER.
Kofaktör Matrisler Determinantlar Minör.
Atlayarak Sayalım Birer sayalım
MODÜLER ARİTMETİK.
Diferansiyel Denklemler
ÖRNEKLEME DAĞILIŞLARI VE TAHMİNLEYİCİLERİN ÖZELLİKLERİ
ALGORİTMA VE PROGRAMLAMAYA GİRİŞ ***** Prof.Dr. Mustafa Ergün
8. SAYISAL TÜREV ve İNTEGRAL
Bölüm 2: Program Denetimi
Algoritmalar En kısa yollar I En kısa yolların özellikleri
SUNUMLARLA MATEMATİK SAYESİNDE MATEMATİK BİR KABUS OLMAKTAN ÇIKACAK.
KIR ÇİÇEKLERİM’ E RakamlarImIz Akhisar Koleji 1/A.
BPR151 ALGORİTMA VE PROGRAMLAMA - I
HİSTOGRAM OLUŞTURMA VE YORUMLAMA
BPR152 ALGORİTMA VE PROGRAMLAMA - II
CAN Özel Güvenlik Eğt. Hizmetleri canozelguvenlik.com.tr.
Algoritmalar DERS 3 Böl ve Fethet(Divide and Conquer) İkili arama
Özel Üçgenler Dik Üçgen.
HAZIRLAYAN:SAVAŞ TURAN AKKOYUNLU İLKÖĞRETİM OKULU 2/D SINIFI
BPR152 ALGORİTMA VE PROGRAMLAMA - II
1 ÖMER ASKERDEN EMLAK KREDİ İLKÖĞRETİM OKULU UZMAN MATEMATİK ÖĞRETMENİ AKSARAY ÜNİTE: HARFLİ İFADELER VE DENKLEMLER KONU:HARFLİ İFADELERİ ÇARPANLARA AYIRMA.
1/25 Dört İşlem Problemleri A B C D Sınıfımızda toplam 49 öğrenci okuyor. Erkek öğrencilerin sayısı, kız öğrencilerin sayısından 3 kişi azdır.
Bölüm 3 – Yapısal Programlama
ÖRNEKLEM VE ÖRNEKLEME Dr.A.Tevfik SÜNTER.
Çizge Algoritmaları.
ASAL SAYILAR VE ÇARPANLARINA AYIRMA
EBOB EKOK.
ARALARINDA ASAL SAYILAR
1/20 BÖLME İŞLEMİ A B C D : 4 işleminde, bölüm kaçtır?
Yapısal Program Geliştirme – if, if-else
SAYI SİSTEMLERİ.
Matematik 2 Örüntü Alıştırmaları.
MATRİSLER ve DETERMİNANTLAR
Operatörler ve Denetim Yapıları
Tam sayılarda bölme ve çarpma işlemi
Mukavemet II Strength of Materials II
Akış Kontrol Mekanizmaları
Chapter 6: Using Arrays.
Matematik Bütün Konular Slayt.
1/20 ÖLÇÜLER (Zaman) A B C D Bir saat kaç dakikadır?
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Yard. Doç. Dr. Mustafa Akkol
SAYILAR.
Bir bölme işleminde bölen 8,Bölüm 7, kalan 1ise bölünen Kaçtır?
ANA BABA TUTUMU ENVANTERİ
FONKSİYONLAR f : A B.
ÇARPANLAR VE KATLAR Bölme Kalanlı Bölme Kalansız bölme Bölünebilme
BÖLÜNEBİLME KURALLARI
Test : 2 Konu: Çarpanlar ve Katlar
İŞLEM ve MODÜLER ARİTMETİK.
Sadece 1’e ve kendisine bölünen sayılardır.
6, 7 ve 8 BASAMAKLI DOĞAL SAYILAR
VERİ İŞLEME VERİ İŞLEME-4.
Çocuklar,sayılar arasındaki İlişkiyi fark ettiniz mi?
Asal Sayılar ve Çarpanlarına Ayırma
ÇOK DEĞİŞKENLİ FONKSİYONLARDA
CEBİRSEL İFADELERİ ÇARPANLARINA AYIRMA
ÖĞR. GRV. Ş.ENGIN ŞAHİN BİLGİ VE İLETİŞİM TEKNOLOJİSİ.
Diferansiyel Denklemler
Çarpanlar ve Katlar ÇARPANLAR.
MATEMATİK ÖĞRENEBİLİR
ASAL SAYILAR HAZIRLAYAN EYÜP GÜNER.
Sunum transkripti:

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

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.

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.

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

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

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

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?

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

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

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.

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?

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?

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.

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.

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.

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

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

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

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)

OBEB (Ortak Bölenlerin En Büyüğü) Her bir sayı için asal çarpanlar bulunur 98 = 2·49 = 2·7·7 420 = 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

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 }

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

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)

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

Örnek gcd(33,77): Step r = x mod y x y - 33 77

Örnek gcd(33,77): Step r = x mod y x y - 33 77 1 33 mod 77 = 33

Örnek gcd(33,77): Step r = x mod y x y - 33 77 1 33 mod 77 = 33 2 - 33 77 1 33 mod 77 = 33 2 77 mod 33 = 11 11

Örnek gcd(33,77): Step r = x mod y x y - 33 77 1 33 mod 77 = 33 2 - 33 77 1 33 mod 77 = 33 2 77 mod 33 = 11 11 3 33 mod 11 = 0

Örnek gcd(244,117): Step r = x mod y x y - 244 117

Örnek gcd(244,117): Step r = x mod y x y - 244 117 1 244 mod 117 = 10 - 244 117 1 244 mod 117 = 10 10

Örnek gcd(244,117): Step r = x mod y x y - 244 117 1 244 mod 117 = 10 - 244 117 1 244 mod 117 = 10 10 2 117 mod 10 = 7 7

Örnek gcd(244,117): Step r = x mod y x y - 244 117 1 244 mod 117 = 10 - 244 117 1 244 mod 117 = 10 10 2 117 mod 10 = 7 7 3 10 mod 7 = 3

Örnek gcd(244,117): Step r = x mod y x y - 244 117 1 244 mod 117 = 10 - 244 117 1 244 mod 117 = 10 10 2 117 mod 10 = 7 7 3 10 mod 7 = 3 4 7 mod 3 = 1

Örnek gcd(244,117): Step r = x mod y x y - 244 117 1 244 mod 117 = 10 - 244 117 1 244 mod 117 = 10 10 2 117 mod 10 = 7 7 3 10 mod 7 = 3 4 7 mod 3 = 1 5 3 mod 1=0

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)

Euclidean Algoritmasının Çalışma Zamanı Nedir? mod işleminin çalışma zamanının O (1) olduğunu varsayalım: 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) ) = ?  O(1) Burada “?” while döngüsünün iterasyon sayısıdır.

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.

mod fonksiyonu 113 mod 24: -29 mod 7

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

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)

Örnek 3071001 mod 102 3071001 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.

Harf  Sayı Dönüşüm Tablosu 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

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

g (a) = 9 (a - 9) mod 26 = (9a – 3) mod 26 Ş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

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

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