Uploaded by Semahat Artikova

g2sabljvlzl3musl15m0dr4m631b908afd7c42a198739c234fe347e4oemesaj

advertisement
Ders içerikleri
 1.Önermeler Mantığı
 2. Çıkarım kuralları
 3.Kümeler ve Fonksiyonlar
 4.Büyük-O gösterimi
 5.Sayılar Teorisi ve kriptografi
 6.Sayılar Teorisi ve kriptografi
 7.Tümevarım ve özyineleme
 8. Sayma
 9. Ayrık olasılık
 10.İleri sayma teknikleri
 11.Bağıntılar
 12.Graflar ve ağaçlar
 13.Graf algoritmaları
 14.Sonlu Durumlu Makineleri
Düşünme eylemi ne zaman başladı ?
Socrates:M.Ö. 469- M.Ö. 399
Plato
:M.Ö. 427- M.Ö. 347
Aristotle :M.Ö. 384- M.Ö. 322
Önermeler Mantığı
p : proposition, Önerme : Y arg ı bildiren cümledir
p : Türkyeninbaşkenti Ankara ' dır
q :1  1  3
p:22  4
Bir önermenin değili
r:2 5
p:23  4
p gösterilir
Her cümle önerme değildir
Saat kaç ?
Dikkatli ol.
x 1  3
x y  z
Önerme değildir
Önerme değildir
Birleşik önermeler
Önermeler Mantığı
p : Ali hafta sonu Kızılay ' a gider.
q : Hasan hafta sonu Kızılay ' a gider.
r : Ali Kızılay ' a gider VE( : AND) Hasan Kızılay ' a gider
s : Ali Kızılay ' a gider VEYA( : OR) Hasan Kızılay ' a gider
Birleşik önermeler
Önermeler Mantığı
pq
Hipotez  Sonuç
p : Ali Kızılay ' a gider.
q : Hasan Kızılay ' a gider.
r : EĞER Ali Kızılay ' a gider İSE(: İSE) Hasan Kızılay ' a gider.
s : EĞER finalden100 alır İSE(: İSE) harf notu AAolur.
t : EĞER Orçun' nun akıllı telefonu var İSE 2  2  5.
t :EĞER fil uçar İSE enflasyon düşer.
EĞER n sayısı 6 bölünebilir İSE n sayısı 3 bölünebilir.
( p  q)  ( p  q )
pq
Önermeler Mantığı
Birleşik önermeler
p: x 3
q : x2  3
r : if x  3, then x2  3
r : Eğer x2  5 ise o zaman x2  12 x  4  3
Önermeler Mantığı
Birleşik önermeler
p : Ali uçağabindi.
q : Ali bilet aldı.
r : ANCAK ve ANCAK Ali bilet aldı İSE Uçağa binebilir.
Önermeler Mantığı
( p  q)
Önermelerin denkliği
p q pq
Önermeler Mantığı
Önermeler Mantığı
Çalışma Soruları
S-1
S-2
S-3
S-4
Çalışma Soruları
S-5
S-6
S-7
Önermeler Mantığı:
Evrensel niceleyiciler ve Önermeler fonksiyonu
x : bütün x ,
All x
P( x) :
x 1  3
P( x) : x  3
P(4) : 4  3 doğru
x : bazı x ,
x Exist
Q( x, y) :
x  y 3
Q(1, 2) : 1  2  3 yanlış
Q(3,0) : 3  0  3 doğru
P(2) : 2  3 yanlış
xP( x) : bütün x değerleri için doğru veya yanlış
xP( x) : x  1  x bütün x değerleri için doğrudur
xP( x) : bazı x değerleri için doğru veya yanlış
xP( x) : x  3 bazı x değerleri için doğrudur
x 1  3
Önermeler Mantığı:
Evrensel niceleyiciler ve Önermeler fonksiyonu
xP( x) : Bu sınıftaki her x öğrencisi Ayrık Matematik der sin i başarmak zorundadır
xP( x) : Ayrık Matematik der sin de başarılıolanbazı x öğrencisi var dır
Önermeler Mantığı:
Evrensel niceleyiciler ve Önermeler fonksiyonu
x( P( x)  Q( x)) : EĞERbazı x öğrencisi Ayrık Matematik der sin i alır İSE başarılıolabilir
n( P(n)  Q(n)) : EĞER n tek İSE n2 tektir
Q( x, y) :
x  y 3
Önermeler Mantığı:Çıkarım kuralları
EĞER geçerli şifreniz var İSE internete bağlanabilirsiniz.
Geçerli şifreniz var.
O HALDE internete bağlanabilirsiniz.
Önermeler Mantığı:Çıkarım kuralları
EĞER n sayısının son rakamı 0 İSE n 10 bölünebilir.
n=2410 sayısının son rakamı 0.
O HALDE 2410 10 bölünebilir.
Önermeler Mantığı:Çıkarım kuralları
EĞER köpek tavşanı görür İSE köpek havlar.
Köpek havlamıyor.
O HALDE köpek tavşanı görmedi.
p  q
q
    

p
Önermeler Mantığı:Çıkarım kuralları
EĞER araba alır İSEn paran azalır.
EĞER paran azalır İSE kitap alamazsın.
O HALDE araba alır İSEn kitap alamazsın.
Önermeler Mantığı:Çıkarım kuralları
Önermeler Mantığı:
Evrensel niceleyiciler ve Önermeler fonksiyonu
32  42  52
9  16  25
12  12  ?2
11  2
Önermeler Mantığı:Çıkarım kuralları
EĞER bir geometrik şekil üçgen İSE iç açılarının toplamı 180 derecedir
Önermeler Mantığı:Çıkarım kuralları
Önermeler Mantığı:Çıkarım kuralları
Tower of Hanoi
Önermeler Mantığı:Çıkarım kuralları
Kümeler
Venn diyagramı
Kümeler
Venn diyagramı
Kümeler
Evrensel küme ve tümleyen
Kümeler
Kartezyen çarpımı
Kartezyen çarpımı

An  An1 xA

  {0,1}
 2  x  {0,1}x{0,1}
 2  {00,01,10,11}
3   2 x  {00,01,10,11}x{0,1}
3  {000,001,010,011,100,101,110,111}
Kleen * Operatörü
Alfabe kümesi  olmak üzere
*  0  1  2  3 ...  
  a, b ise
 
0
*   , a, b, aa, ab, ba, bb, aaa, aab,

Kleen  ise
  *  0  1  2  3 ...  

  a, b, aa, ab, ba, bb, aaa, aab,

33
Sayı kümeleri
Natural numbers
Z:Zahlen, Tam sayı

Z  Z  {0}  Z

Q: Quotients of integers veya Rational numbers
tam sayı bölümlemesi veya oransal sayılar (ratio:oran)
Q:rasyonel sayılar
p ve q pozitif reel sayılar
R:real numbers, reel sayılar
Sayı kümeleri
Sayı kümeleri
Floating point sayıların binary kodlanması
IEEE Standard for Floating-Point Arithmetic (IEEE 754)
x y  fractionexp onent
Tam sayı dizileri
Natural numbers
Z:Zahlen, Tam sayı

Z  Z  {0}  Z

an  f (n)  n2
Tam sayı dizileri
Natural numbers
an  f (n)  n2
Fonksiyonlar
f :RR
y  f ( x) x  R
y  f ( x)  x a
Eğer m  n ise xm  xn , m, n Z 
Fonksiyonlar
y  f ( x)  b x
Eğer x1  x2 ise b x1  b x2
Fonksiyonlar
y  f ( x)  2 x
Fonksiyonlar
y  f ( x)  logb x
logb y  x  b x  y
Fonksiyonlar
y  f ( x)  logb x
loge x  ln x , e  2.71
Fonksiyonlar
Fonksiyonlar
y  f ( x)  logb x
logb y  x  b x  y
loge x  ln x , e  2.71
log b x
log c x 
logb c
her hangi bir x  0 değeri için
logb x  b x
Fonksiyonlar
y  f ( x)  loge x  ln x
loge x  ln x , e  2.71
her hangi bir x  0 değeri için
ln x  log e x  e x
Fonksiyonlar
y  f ( x)  log 2 x
k  Z ve x  R ise
Fonksiyonlar
y  f ( x)  x log b x
b  1 ve x  b için
x  x logb x  x 2
b  R ve r  R iken
ayrıca b  1 ve r  0 için
logb x  xr
ve x r  b x dir
Fonksiyonlar
b  R ve b  1 için
logb x  xn , n  1 ve n  Z 
ayrıca xn  b x , n  1 ve n  Z 
Büyük-O Gösterimi
Fonksiyonların büyümesi:Growth of Functions
Big -O notation:
Big  O
Little-o notation: o
Big  
Big -Omega notation:
Big -Theta notation:
C ve k: deliller
Big  
Büyük-O Gösterimi
nin büyük –O sunun
g ( x)  x 2
Olduğunu gösterelim
Büyük-o Gösterimi
Alternatif olarak
Büyük-O Gösterimi
nin büyük –O sunun
g ( x)  x 2
| f ( x) | C | g ( x) |
x2
x
1
2 2  2 C
2
x
x
x
1
1
1 2  2  C
x x
| f ( x) |
C
| g ( x) |
Olduğunu gösterelim
C 0
| f ( x) |
lim

x  | g ( x ) |
x  k 1
1 1
1 2   C  4
1 1
Büyük-O Gösterimi
nin büyük –O sunun
Olduğunu gösterelim
g ( x)  x 2
| f ( x) | C | g ( x) |
x2
x
1
2 2  2 C
2
x
x
x
1
1
1 2  2  C
x x
| f ( x) |
C
| g ( x) |
| f ( x) |
lim

x  | g ( x ) |
x  k 1
1 1
1 2   C  4
1 1
Büyük-O Gösterimi
| f (n) | C | g (n) |
1 n2 1 n

C
2
2
2 n
2 n
| f ( n) |
C
| g ( n) |
n  k 1
C 1
| f ( n) |
lim

n  | g ( n) |
g (n)  n2
O(n2 )
Örnek
Büyük-O Gösterimi
f ( x)  7 x2 nin O( g ( x))  O( x3 ) olduğunu gösterin.
C  1ve k  7
x  7 için 7 x2  x3
veya
g ( x)  x 3
Örnek
g ( x)  x n
Örnek
Büyük-O Gösterimi
| f (n) | C | g (n) |, n  k
O( g (n))  O(n 2 )
g (n)  n2
Büyük-O Gösterimi
| f (n) | C | g (n) |, n  k
Örnek
b ve c  R
b  1 ve c  1 için
f (n)  logb n
logb n  C logc n , n  k için
O(logc n)
g (n)  logc n
log c n
1
logb n 

l og c n
log c b log c b
logb n  C l ogc n
1
C
log c b
log10 n
1
logb n 

l og10 n
log10 b log10 b
1
C
log10 b
Büyük-O Gösterimi
| f (n) | C | g (n) |, n  k
Örnek
O (2 n )
log2 n  n log2 2  n C
logb n  n logb 2  n C
C  logb 2
f (n)  log 2 n
log10 n  n log10 2  n C
C  log10 2
O(n)
g (n)  n
log c x
1
logb x 

l og c x
log c b log c b
log 2 x
1
log 2 x 

l og 2 x
log 2 2 log 2 2
O(n)
g (n)  n
Büyük-O Gösterimi
| f (n) | C | g (n) |, n  k
y  f ( x)  x log b x
Örnek
x  x logb x  x 2
f (n)  n log(n)
g (n)  n
2
O(n 2 )
Büyük-O Gösterimi
| f (n) | C | g (n) |, n  k
Örnek
f (n)  n  n log2 n
b  2 ve n  2 için
n  n log2 n
n  n log2 n  2n log2 n
| n  n log2 n | 2 | n log2 n |
C  2 ve k  2
g (n)  n log2 n
O(n log2 n)
Büyük-O Gösterimi
örnek
| f (n) | C | g (n) |, n  k
g (n)  nn
örnek
f (n)  log(n!)
g (n)  n log n
Karmaşıklık sıralaması
Karmaşıklık sıralaması
Büyük-O Gösterimi
Birleşik fonksiyonlar
1. Kural
2. Kural
Büyük-O Gösterimi
1. Kural
2. Kural
f ( x)  f1 ( x) f 2 ( x)  f3 ( x)
f1 ( x)  x  1  O1 ( x)
f3 ( x)  3x2  O3 ( x 2 )
f 2 ( x)  log( x2  1)
için
f 2 ( x)  O2 (log x)
için
O(max(O1 ( x)O2 ( x), O3 ( x))  O(max( x log x, x 2 ))  O( x 2 )
Büyük-O Gösterimi
Örnek
f (n)  n2 log(n3  1)  (n3  4n2  5)
f (n)  f1 (n) f 2 (n)  f3 (n)
f 2 (n)  log(n3  1)  log(n3  n3 )
 log(2n3 )
 log 2  l og n3  log 2  3l og n
 log 2  l og n3  log 2  3l og n
 3l og n, n  2 için
O2 (log n), C  3 ve k  2
O(n)  O(max(O1 (n)O2 (n), O3 (n))
O(n)  O(max(n2 log n, n3 ))  O(n3 )
O1 (n2 )
O3 (n3 )
Büyük-O Gösterimi
Örnek
f (n)  f1 (n) f 2 (n)  f3 (n) f 4 (n)
f1 (n)  3n  O1 (n)
f3 (n)  n2  3  O3 (n2 )
O(n)  O(max(O1 (n)O2 (n), O3 (n)O4 (n))
Sonuç
O ( n 2 log n) ???
Büyük-O Gösterimi
Çalışma soruları :f(n)
s1
s2
s3
Büyük-O Gösterimi
Büyük-O örnekleri
void fonksiyon1()
{ printf("merhaba);
}
void fonksiyon2(int n)
{ for (int i = 0; i <n; i++)
{ printf("merhaba); }
}
void fonksiyon3(int n)
{ for (int i = 0; i <n; i++)
{
for (int j = 0; j <n; j++)
{ printf("merhaba); }
}
}
O1 (n)  1
f1 (n)  1
f 2 (n)  n
f 3 ( n)  n
O2 (n)  n
2
O3 (n)  n 2
Büyük-O Gösterimi
Büyük-O örnekleri
void fonksiyon4(int n)
{
for (int i = 0; i <n; i++)
{ printf("merhaba); }
for (i = 0; i <n; i++)
{ printf("merhaba);
f 4 (n)  2n
O4 (n)  n
}
}
void fonksiyon5(int n)
{
printf("merhaba);
for (int i = 0; i <n/2; i++)
{ printf("merhaba); }
for (int i = 0; i <100; i++)
{ printf("merhaba); }
}
f5 (n)  1  n / 2  100
O5 (n)  n
Büyük-O Gösterimi
Büyük-O örnekleri
int fibonacci(int n)
{ if (n <= 1) return n;
return fibonacci(n - 2) + fibonacci(n - 1);
}
f 6 ( n)  2 n
O6 (n)  2n ?
void fonksiyon7(int n)
{ printf("merhaba);
for (int i = 0; i <n; i++)
{ printf("merhaba); }
for (k = 0; k <n; k++)
{
for (i = 0; i <n; i++)
{ for (j = 0; j <n; j++)
{ printf("merhaba); }
}
}
}
f 7 ( n)  1  n  n
3
O7 (n)  n3
Büyük-o Gösterimi
Büyük-O örnekleri
int fonksiyon8(int n)
{ toplam=0
for(int i = 1; i < =n; i*=2)
{toplam++;}
return toplam
}
int fonksiyon8(int n)
{ toplam=0
for(int i = n; i >0; i/=2)
{toplam++;}
return toplam
}
2k  n
O8 (n)  log n ?
f8 (n)  ?
den iki tarafında logaritması alınırsa
while (n > 0)
{
n /= 2;
}
iterasyon | n
----------+------0 | n
1 | n/2
2 | n/4
... | ...
... | ...
k
k | n/2
k = log(n)
Büyük-o Gösterimi
Büyük-O örnekleri
void fonksiyon9 (int n)
{
for( int i=0;i<n; i++)
{
for( int j=1;i<=n; j*=2 )
{
..
..
}
}
}
f9 (n)  ?
O9 (n)  n log n ?
Sayılar ve kriptografi
Sayı kümeleri
p ve q pozitif real sayılar
Sayılar ve kriptografi
Bölünebilirlik ve Mod
3 böler 12 önermesi doğru
3 böler 7 önermesi yanlış
p : a | b, a böler b
ka  b yada b  ka
p : 3|12,
4 x3  12 doğru
Eğer a | b ve a | c ise a | (b  c)
Eğer a | b ve b | c ise a | c
Sayılar ve kriptografi
Bölünebilirlik ve Mod
k pozitif tam sayı
Sayılar ve kriptografi
Bölünebilirlik ve Mod
Örnek
mod 6 için
Sayılar ve kriptografi
Modüler aritmetik ve özellikleri
Örnek
Sayılar ve kriptografi
Modüler aritmetik ve özellikleri
an  bn mod m
k. a  k.b mod m
Örnek
Sayılar ve kriptografi
Modüler aritmetik ve özellikleri
Örnek
Fermat teoremi
a, p aralarında asal ise
obeb(a,p)=1 ise
obeb(7,11)  1 olduğundan
710  1mod(11)
Sayılar ve kriptografi
Modüler aritmetik ve özellikleri
Wilson teoremi
( p 1)!  1mod( p) , p asal sayı
( p 1)! 1  0mod( p)
(( p 1)!)2  (1)2  1mod( p)
Sayılar ve kriptografi
Asal sayılar, p: 1 ve kendisinde başka sayıya kalansız bölünemeyen tam sayılar
Prime numbers
an  2n, n  N
Ç  {2, 4,6,8,....}
T  {1,3,5,7,....}
an  2n  1, n  N
Asan sayılar kümesi
A  {2,3,5,7,11,13,17,19, 23, 29,31,37, 41, 43,....}
an  4n  1, n  N , n  1, 2,3
an  4n  3, n  N , n  1, 2,3
an  n 2  n  41, n  N , 1  n  40
Sayılar ve kriptografi
Mersenne primes:
an  2n  1, n  N ,
A  {3,7,31,127,....}
Eratosthenes Kalburu
A  {2,3,5,7,11,13,17,19, 23, 29,31,37, 41, 43,....}
Sayılar ve kriptografi
Asal çarpanlara ayırma
Prime numbers Factorization
Sayılar ve kriptografi
OBEB ortak bölenlerin en büyüğü
(En büyük ortak bölen )
OKEK ortak katların en küçüğü
(En küçük ortak kat )
greatest common divisor: gcd(a,b)
OBEB(48,54)  2.3  6
OKEK (48,54)  2.2.2.2.3.3.3  22 33
48x54  OBEB(48,54) xOKEK 48,54)  6 xOKEK (48,54)
Sayılar ve kriptografi
Sayılar ve kriptografi
Euler fi fonksiyonu: Euler phi function (Euler Totient)
 (n) :1  x  n olmak üzere obeb( x, n)  1 olan sayıların SAYISIDIR
1.kural : n asal sayı ( p) ise
 ( p)  p  1
2.kural : n asal sayı ( p) ise
 ( p )  p  p 1
 (2)  1
 (3)  2
 (4)  2
 (5)  4
3.kural : n aralarında asal sayı p ve q nun çarpımı ise n  p q
 (n)   ( p q)   ( p )  ( q) dir
4.kural : n asal çarpanları şeklinde ise
n  p1 1 p2 2 p3 3 ... pk k
 ( n)  n(
p 1
p1  1 p2  1 p3  1
)(
)(
)......( k )
p1
p2
p3
pk
 (n)  ( p1 1  p1 11 )( p2 2  p2 21 )( p3 3  p3 31 )...( pk k  pk k 1 )
Sayılar ve kriptografi
Euler fi fonksiyonu: Euler phi function (Euler Totient)
Sayılar ve kriptografi
Bézout's Theorem
obeb (a,b) için Öklid algoritması
Obeb(7854,4746)=42=d
obeb(a,b)=d=ax+by
=d=as+bt
Genişletilmiş Öklid Algoritması
x=-29 ve y=48
Sayılar ve kriptografi
Bézout's Theorem
Obeb(120,84)=120x+84y
Öklid algoritması
Obeb(a,b)=d=ax+by
=d=as+bt
Obeb(120,84)=12
Genişletilmiş Öklid Algoritması
x=-2 ve y=3
obeb(4620,101)=4620 x+101 y=1
Sayılar ve kriptografi
Lineer Denklikler (linear congruence )
ax  b mod m
ax  b  km
x
km  b
tam sayı olmalıdır
a
Farklı k lar için farklı çözümler vardır
Lineer denklikler için temel özelikler:
1.
2.
ve
ve
obeb(c, m)  1 ise
obeb(c, m)  d ise a  b mod(m / d )
Sayılar ve kriptografi
Lineer Denklikler (linear congruence )
Lineer denklikler için temel özelikler:
ise
3.
4.
obeb(a, m)  1 ise
‘nın çözümü yoktur
‘nın 1 tane çözümü VARDIR
ÖRNEK
obeb(5, 23)  1olduğundan 1tan eçözümü var dır
Öklid algoritmasından
obeb(5, 23)  s 5  t 23  1 Bezout teori min den
a  5  s  9 olup a ' in mod ülo tersidir.
aa  1mod 23
Sayılar ve kriptografi
Lineer Denklikler (linear congruence )
obeb(a, m)  1olduğunda 1tan eçözümü var dır
obeb(a, m)  1 sa  tm yazılabilir
Sayılar ve kriptografi
Lineer Denklikler (linear congruence )
ÖRNEK
105x  20mod106
obeb(105,106)  1olduğundan 1tan eçözümü var dır
a  s  1 olup 105' in mod ülo tersidir.
ÖRNEK
33x  7 mod143
obeb(33,143)  11olduğundan
çözüm mevcut değil çünkü
Sayılar ve kriptografi
Lineer Denklikler (linear congruence )
ÖRNEK
obeb(124,900)  4 olduğundan
31x  33mod 225 yazılabilir obeb(31, 225)  1olduğundan
a  s  29 olup 31' in mod ülo tersidir.
Sayılar ve kriptografi
Lineer Denklikler (linear congruence )
ÖRNEK
yazılabilir
obeb(30,119)  1olduğundan
a  s  4 olup a ' in mod119 göre tersidir.
Sayılar ve kriptografi
Lineer Denklikler (linear congruence )
ÖRNEK
yazılabilir
Sayılar ve kriptografi
Lineer Denklikler uygulamaları
Çinli kalan teoremi:
Chinese remainder theorem
Sayılar ve kriptografi
Lineer Denklikler uygulamaları
Sözde rastgele sayı üreteci:
pseudorandom number generator (PRNG)
mod 9
Sayılar ve kriptografi
Von Neumann sözde rastgele sayı üreteci: (PRNG)
x0  8765
EXORshift sözde rastgele
sayı üreteci: (PRNG)
xk 1  xk  ( xk  2)
10011001 : xk
1001100100 : xk  2
1011111101 : xk 1
Kriptografi
Sayılar ve kriptografi
Şifreleme algoritmaları
1-Caesar şifresi
y  ( x  k ) mod 26
x  ( y  k  26) mod 26
f ( x)  ( x  k ) mod 255
x  ( f ( x)  k  255) mod 255
ANKARA
DRNDUD
Sayılar ve kriptografi
2-Polybius şifresi
1
1
2
3
4
5
a
b
c
d
e
2
f
g
h
i
j
3
k
l
m
n
o
4
p
q
r
s
t
5
u
v
w
x
y/z
ankara
11 34 31 11 43 11
Sayılar ve kriptografi
Şifreleme algoritmaları
3-Vigenera şifresi
Şifreleme algoritmaları
Kriptografi
4-Doğrusal(Affine) şifresi
f ( x)  (ax  b) mod 255
x  a ( f ( x)  b) mod 255
a : a' nın 255 göre mod ülo tersi
OBEB(a,255)  1 olmalıdır
f(x) = (5x + 8) mod 26
Kriptografi
Şifreleme algoritmaları
5-EXOR şifreleme
f ( x)  x  k
x  f ( x)  k
Sayılar ve kriptografi
6-RSA( Rivest–Shamir–Adleman) şifreleme algoritması
Download