Professional Documents
Culture Documents
Logika, Skupovi I Diskretna Matematika
Logika, Skupovi I Diskretna Matematika
LOGIKA, SKUPOVI
I
DISKRETNA MATEMATIKA
SKRIPTA
ANDREJ NOVAK
ANDRIJA TAJDUHAR
Dubrovnik, 2013.
Predgovor
Ova skripta je pisana za kolegij Logika, skupovi i diskretna matematika
2+2
Skripta je
Tekst je pisan tako da od studenata oekuje poznavanje osnova matematike analize i linearne algebre. Osim teorijskih rezultata, tekst sadri puno
primjera koji mogu doprinijeti razumijevanju izloene materije.
zahvaljuju recenzentima prof.dr.sc.
Autori se
Mladenu
Sadraj
1
Logika
1.1
Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2
Propozicionalna logika . . . . . . . . . . . . . . . . . . . . . .
1.2.1
1.2.2
Interpretacije . . . . . . . . . . . . . . . . . . . . . . .
Predikatna logika . . . . . . . . . . . . . . . . . . . . . . . . .
1.3
1.3.2
Kvantikatori . . . . . . . . . . . . . . . . . . . . . . .
10
1.3.3
Poredak i negacije
12
. . . . . . . . . . . . . . . . . . . .
Skupovi i funkcije
2.1
1.3.1
15
Osnovni pojmovi
. . . . . . . . . . . . . . . . . . . . . . . . .
15
2.1.1
Skupovi
. . . . . . . . . . . . . . . . . . . . . . . . . .
15
2.1.2
Relacije
. . . . . . . . . . . . . . . . . . . . . . . . . .
17
2.1.3
Funkcije . . . . . . . . . . . . . . . . . . . . . . . . . .
20
2.2
23
2.3
Neprebrojivi skupovi . . . . . . . . . . . . . . . . . . . . . . .
25
2.4
28
Prebrojavanja
33
3.1
Osnovna naela . . . . . . . . . . . . . . . . . . . . . . . . . .
33
3.2
Dirichletovo naelo . . . . . . . . . . . . . . . . . . . . . . . .
35
3.3
Permutacije . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
3.4
Kombinacije . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
3.5
44
3.6
Formula ukljuivanja-iskljuivanja . . . . . . . . . . . . . . . .
47
55
4.1.2
. . . . . . . . . .
. . . . . . . . . . . . . . . .
55
56
. . . . . . . . . . .
60
4.2
Rekurzivne relacije . . . . . . . . . . . . . . . . . . . . . . . .
63
4.3
Catalanovi brojevi
69
. . . . . . . . . . . . . . . . . . . . . . . .
i
ii
SADRAJ
Sloenost algoritama
75
5.1
Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
75
5.1.1
Osnovni pojmovi . . . . . . . . . . . . . . . . . . . . .
76
5.1.2
5.2
Algoritmi
. . . . . . . . . . . .
78
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
81
5.2.1
Pretraivanje
. . . . . . . . . . . . . . . . . . . . . . .
82
5.2.2
Sortiranje . . . . . . . . . . . . . . . . . . . . . . . . .
84
Kriptograja
6.1
6.2
6.3
6.4
91
Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
91
6.1.1
Osnovni pojmovi . . . . . . . . . . . . . . . . . . . . .
91
6.1.2
93
6.1.3
Jednokratna biljenica . . . . . . . . . . . . . . . . . .
Blokovni kriptosustavi
96
. . . . . . . . . . . . . . . . . . . . . .
98
. . . . . . . . . . . . . . . . . . . . .
98
6.2.1
Osnovni principi
6.2.2
6.2.3
6.3.2
Die-Hellmanov protokol
Primjena kriptograje
. . . . . . . . . . . . . . . . 110
. . . . . . . . . . . . . . . . . . . . . . 111
6.4.1
Cryptocat . . . . . . . . . . . . . . . . . . . . . . . . . 111
6.4.2
Tor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
6.4.3
TrueCrypt . . . . . . . . . . . . . . . . . . . . . . . . . 112
Literatura
114
Poglavlje 1
Logika
Tradicionalno kroz povijest matematiari i lozo razvijali su i prouavali
znanstvenu disciplinu nazvanu matematika logika. Posebice su to bili oni
koje su zanimala fundamentalna pitanja u brojnim znanostima.
Logika je
1.1 Uvod
Matematika se razlikuje od drugih znanstvenih disciplina u tome to rezultati poivaju na preciznom zakljuivanju, dok drugdje u znanosti do njih
dolazimo iskustvom i paljivim promatranjem svijeta. Matematika logika
bavi se formaliziranjem i analizom tih procesa kojima u matematici dolazimo
do rezultata.
Temelji logike postavljeni su u antikoj Grkoj. Prvim logiarima smatraju se Parmenid, Zenon, Sokrat, Platon, Euklid iz Megare, a vrhunac stvaranja u tom razdoblju postie Aristotel. On je prvi uspio sistematizirati do
tada poznate metode rasuivanja te pokuao sustavno opisati sva logika
rasuivanja pomou nevelikog broja pravila. Mogli bismo rei da je otkrio
formalnu prirodu logikog zakljuivanja.
sljedei:
Ako pada kia, ulice su mokre. Danas pada kia.
Prema tome ulice su mokre.
Primijetimo da prilikom zakljuivanja nije potrebno razumijevati pojmove
kia, mokre i pada. Zapis ovakvog zakljuivanja moemo izvesti i koristei simbole
Ako A onda B. Vrijedi A.
Prema tome vrijedi B.
1
POGLAVLJE 1.
LOGIKA
Ako se element
nalazi u skupu
a A.
N = {1, 2, 3, . . .};
Z = {. . . , 2, 1, 0, 1, 2, . . .};
Q = { ab : a Z, b N};
, e, 2, ...
C = {z = x + iy : x, y R},
i2 = 1.
pri emu je
Odmah moemo primijetiti da smo u prethodnim primjerima skupove zadali na dva naina:
skupa
P (x)
piui sljedee
B = {x A : vrijedi P (x)}.
B sastoji od svih elemenata x koji su u skupu
P (x). O detaljima ovakve karakterizacije bavimo
se u ovom poglavlju.
Skup koji sadri sve elemente skupova
i
B.
Tako je skup
AiB
Q i I.
1.2.
PROPOZICIONALNA LOGIKA
{P0 , P1 , P2 , . . .}
{, , , , }
{(, )}
Moemo zamisliti da se propozicionalnim varijablama predstavljaju sudovi, no mogu posojati i druge interpretacije, npr.
elektronikih logikih
konjunkcija (i),
kondicional
disjunkcija (ili),
(ako i samo ako).
negacija (ne),
bi-
kondicional (ako-onda) i
Ne zanimaju nas sve rijei deniranog alfabeta, ve samo one koje nazivamo formule.
Denicija 1.2. Atomarna formula je svaka propozicionalna varijabla. Pojam formule deniramo rekurzivno:
1. svaka atomarna formula je formula;
2. ako su
i
3. rije alfabeta propozicionalne logike je formula ako je nastala primjenom konano mnogo koraka pravila 1. i 2.
POGLAVLJE 1.
Primijetimo da u deniciji
AiB
LOGIKA
(A, B, C, . . .)
P, Q i R,
to
AB
umjesto
Tako emo na
(A B).
A B .
pa emo formulu
((A) B)
ima
manjeg je
U isti redak su stavljeni simboli koji imaju isti prioritet.
ABC
je skraeni zapis za
, , , , grupiramo
(A (B C))
A(P, Q, R)
ih udesno,
P Q Q R,
no ponekad je bolje zbog preglednosti pisati (barem neke) zagrade.
Propozicionalne varijable koristimo kao pomo prilikom zakljuivanja,
ba kao to su ih koristili i prvi logiari. One pojednostavljuju zapis i doputaju nam da prouavamo odnose meu njima bez optereenja s razumijevanjem pojmova koje one predstavljaju. Kao atomarne formule zapisujemo
sudove koje ne moemo dodatno rastaviti koristei logike veznike i druge
atomarne formule.
Primjer 1.1. Diplomatskom ataeu dodijeljen je zadatak organizacije veleposlanskog bala. Zbog vrlo sloenih dravnikih odnosa, nastupili su sljedei
zahtjevi:
1. Ambasador nalae da se pozove Peru ili da se ne pozove Qatar.
2. Konzul eli pozvati Qatar ili Rumunjsku ili oboje.
3. Zbog nedavnog diplomatskog incidenta ne bi bilo primjereno pozvati istovremeno i Peru i Rumunjsku.
1.2.
PROPOZICIONALNA LOGIKA
P Q
2.
QR
3.
(P R)
Svaki od ovih uvjeta treba biti zadovoljen istovremeno. To znai njihovu konjunkciju, odnosno da sve uvjete koji su postavljeni moemo zapisati jednom
formulom
(P Q) (Q R) ((P R)).
No kako emo provjeriti za koju kombinaciju pozivanja i nepozivanja drava
e ova formula biti ispunjena? Vidimo da istinitost formule ovisi o interpre-
1.2.2 Interpretacije
Denicija 1.3. Svako preslikavanje sa skupa svih propozicionalnih varijabli
u skup
{0, 1},
tj.
I : {P0 , P1 , . . .} {0, 1}
nazivamo interpretacijom.
I(A) = 1
I(A) = 0;
I(A B) = 1
I(A) = 1
I(A B) = 1
I(A) = 1
ili
I(B) = 1;
I(A B) = 1
I(A) = 0
ili
I(B) = 1;
I(A B) = 1
I(A) = I(B);
I(B) = 1;
A A
(A (B C)) ((A B) (A C))
(A (B A)) A
(A B) (A B)
(A B) (A B)
(A B) ((A B) (A B))
POGLAVLJE 1.
istinita za interpretaciju
0,
LOGIKA
P Q istinita je za interpretaciju I1 (P ) = 1, I1 (P ) =
I1 (P ) = 0, I1 (P ) = 0.
a neistinita za interpretaciju
takva da vrijedi
I(F ) = 1,
odnosno
I(F ) = 0.
A A
za tautologiju i
A A
za antitautologiju.
(P Q) P Q
(P Q) P Q
Ove formule nazivamo De Morganov princip.
Nije teko vidjeti da za proizvoljne formule
AiB
vrijedi
A B
AB
valjana formula.
A = B
AB
valjana formula.
A B , odnosno A = B
A B , odnosno A B valjana.
dovoljno
P
0
0
1
1
Q
0
1
0
1
Q P Q P Q P Q P Q
1
0
0
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1
1
1
deni-
istovremeno istinite.
P Q
te dodati uvjet da
nisu
1.3.
PREDIKATNA LOGIKA
P
0
0
1
1
Q
0
1
0
1
P Q (P Q) (P Q) (P Q)
0
1
0
1
1
1
1
1
1
1
0
0
(P Q) (Q R) ((P R)),
koju sada zapisujemo u semantikoj tablici i ispitujemo istinitost za sve interpretacije.
P
0
0
0
0
1
1
1
1
Q R
0 0
0 1
1 0
1 1
0 0
0 1
1 0
1 1
P Q Q R (P R) (P Q) (Q R) ((P R))
1
0
1
0
1
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
1
0
0
svaki i postoji. Predikatna logika, ponekad nazivana i logika prvog reda uvodi
te kvantikatore i dovoljna je za veinu zakljuivanja u matematici.
Prije formalnosti koje nas oekuju kao i prilikom deniranja propozicionalne logike, dajemo neformalni uvod u predikatnu logiku. U matematici
esto koristimo strukture koje se sastoje od skupa elemenata, kao i nekih
operacija na njima ili odnosa meu njima. Na primjer, grupa je skup elemenata s binarnom operacijom deniranom na tim elementima koja zadovoljava
POGLAVLJE 1.
LOGIKA
(G, )
grupa,
xyz x (y z) = (x y) z,
gdje pretpostavljamo da su
x, y
{x0 , x1 , x2 , . . .}
{, , , , , , }
{(, )}
{ck : k N}
{Rknk : k N}
nk
cijskog simbola;
{fkmk : k N}
mk
cijskog simbola;
Individualne varijable poprimaju vrijednosti nekih objekata, to mogu
biti brojevi, vektori, pravci, rijei nekog alfabeta... Logike simbole nazivamo
isto kao i u propozicionalnoj logici, uz dodatak univerzalnog kvantikatora
i egzistencijalnog kvantikatora
1.3.
PREDIKATNA LOGIKA
2. ako je
nelogikih simbola i
3. rije je term ako i samo ako je nastala s pomou konano mnogo primjena pravila 1. i 2.
Sada dajemo deniciju formule.
neki
n-mjesni
R(t1 , . . . , tn )
nazivamo atomarnom
formulom
A i B formule, tada
(A B) takoer formule;
2. ako su
su
(xA)
xA
takoer
formule;
4. rije je formula ako i samo ako je nastala primjenom konano mnogo
puta pravila 1., 2. i 3.
U uvjetu 3.
ne zahtijevamo da formula
sadri
x.
Na primjer, rije
je formula.
U isti redak su stavljeni simboli koji imaju isti prioritet. Zagrade emo koristiti u svrhu preglednosti i izbjegavanja zabuna. Kod formula oblika
xA
jabla
formulu
ili
x,
x,
odnosno
x.
xA
Ako vari-
A,
yA
yA,
gdje je
varijabla razliita od
x.
Za neku varijablu
kaemo
10
POGLAVLJE 1.
P (x, y) Q(x)
xiy
je otvorena formula, a
x(Q(x, y) R(y)), x
je vezana varijabla, a
LOGIKA
su slobodne varijable.
je slobodna.
je zatvorena formula, a
x, y
su vezane
varijable.
Nakon to smo dali potrebne denicije za opis predikatne logike, istaknimo glavne razlike izmeu propozicionalne i predikane logike. U propozicionalnoj logici prouavamo sudove, koji su ili istiniti ili lani. U predikatnoj
logici prouavamo objekte i relacije meu njima. Promatramo formule koje
se sastoje od relacija izmeu objekata, a formule koje su reenice mogu biti
istinite ili lane.
Veznike koristimo kako bismo dobili sloenije formule i pritom semantika odgovara onoj propozicionalne logike.
Realan(1 + i).
1.3.2 Kvantikatori
Kao jedna od kljunih ideja u predikatnoj logici, kvantikatori nam omoguavaju da govorimo ne samo o pojedinanim objektima, nego o skupinama
objekata i time pruaju vie mogunosti nego to smo imali u predikatnoj
logici. Kad varijabla
x.
x N.
Poz(2) Poz(3) . . . ,
x i itamo
P (x) istinita za sve
xP (x).
x.
x,
to bismo zapisali sa
1.3.
PREDIKATNA LOGIKA
Neka je
xP (x)
{x1 , x2 , . . . , xn }
11
opseg varijable
x.
ekvivalentan s
zapiite
x(Ptica(x) NeseJaja(x)).
Budui da znamo da svaka ptica nese jaja, vidimo da je prethodna reenica
istinita.
Primijetimo da ako za
x(Ptica(x) NeseJaja(x)).
Prethodna formula znai Svaka ivotinja je ptica i nese jaja.
Primijetimo da kako bismo pokazali da je reenica koja sadri univerzalni
skup
P (x)
{1, 2, 3, 4}.
reenicu x
2 je manje od
10
te neka je
xP (x).
Rjeenje. Ova formula nije istinita, a kao protuprimjer navodimo broj
4.
P (x, 25)
te neka je opseg
mou njega izraavamo da barem jedan objekt u opsegu neke varijable ima
odreeno svojstvo. Piemo
za koju je
formula
da je tada zapis
12
POGLAVLJE 1.
LOGIKA
Primjer 1.7. Reenicu Postoji ivotinja koja je sisavac i nese jaja zapiite
koristei formule predikatne logike i odredite njenu istinitost.
Danu reenicu zapisujemo kao
x(Sisavac(x) NeseJaja(x)).
Vidimo da je ona istinita (prisjetimo se udnovatog kljunaa). esta greka
prilikom prevoenja prirodnog jezika koristei egzistenicijalni kvantikator
je na primjer
x(Sisavac(x) NeseJaja(x)).
Ova reenica prevedena u prirodni jezik glasi Postoji ivotinja koja ako je
sisavac nese jaja.. Ona je ekvivalentna reenici Postoji ivotinja koja nije
sisavac ili koja nese jaja.
Da bismo pokazali da je reenica koja sadri egzistencijalni kvantikator
xP (x)
P (x) istinita.
da je P (x) lana
xP (x)
za koju je
pokazati
lana, treba
x.
xP (x) xP (x),
no ne i obratno. Prethodna formula nam govori da ako neko svojstvo vrijedi
za sve
x,
tada postoji
xiy
skup
R.
y takav da je x + y = 5 i neka
P (x, y) relaciju x + y = 5. Tada
postoji broj
Oznaimo s
piemo
moemo uzeti
x + 5).
Primijetimo
trebalo vrijediti
Tada bi za svaki
protuprimjera.
Neka je
varijabla i
xP (x) xP (x)
P (x)
relacija.
1.3.
PREDIKATNA LOGIKA
13
xP (x) xP (x)
x vrijedi P (x), to moemo izrei
P (x) nije istinita. Slino, ako elimo
takav da
rei da ne postoji
da za svaki
(x R)P (x)
oznaava formulu
x(x R P (x)),
( > 0)Q()
oznaava formulu
( > 0 Q()).
(an )
u tom
, negiramo desnu stranu i konano dobivamo
laan ako je lijeva strana istina i desna la. Prema tome veznik
izrazu zamjenjujemo veznikom
zapisivanja.
14
POGLAVLJE 1.
LOGIKA
Poglavlje 2
Skupovi i funkcije
Poglavlje pred nama ima tri cilja.
ili intuitivnog
2.1.1 Skupovi
Moemo primijetiti da su svi elementi skupa
podskup skupa
15
16
POGLAVLJE 2.
SKUPOVI I FUNKCIJE
Skup koji ne sadri niti jedan element nazivamo prazan skup i oznaavamo
ga s
vrijedi
A,
uniju skupova
AiB
u oznaci
AB
kao skup
A B = {x : x A x B};
presjek skupova
AiB
u oznaci
AB
kao skup
A B = {x : x A x B};
razlika skupova
AiB
u oznaci
A\B
kao skup
A\B = {x : x A x 6 B};
AiB
u oznaci
A4B
kao skup
R = Q4I.
pak
Za dva skupa
tj.
A B = .
C = {2, 3}.
emu je jednako
A = {x R : |x 1| < 1} i B = {0, 1, 2, 3}
A B , B N, B\C i B4N?
A (B C) = (A B) C.
2.
A (B C) = (A B) (A C).
3.
A \ (B C) = (A \ B) (A \ C).
x proizvoljan.
1. Tada je x A (B C)
x A ili (x B ili x C)
x A ili x B ili x C
Rjeenje. Neka je
a skup
je
te
2.1.
OSNOVNI POJMOVI
17
(x A ili x B) ili x C
x A B ili x C
x (A B) C.
2. Tada je x A (B C)
x A i (x B C)
x A i (x B ili x C)
(x A i x B) ili (x A i x C)
x A B ili x A C
x (A B) (A C).
3. Tada je x A \ (B C)
x A i x 6 B C
x A i ne (x B ili x C)
x A i (x 6 B i x 6 C )
x A i x 6 B i x 6 C
x A i x 6 B i x A i x 6 C
x A \ B i x A \ C
x (A \ B) (A \ C).
u skupu
kao
A = X\A.
onda
X,
Vano je pri-
onda
A = A.
X = A A.
I,
Q = I.
Ako je zadan skup, moemo li koristei njega konstuirati nove skupove? Mogli bismo, primjerice, uzeti neki njegov podskup ili sve njegove podskupove.
Za dani skup
A i oznaavamo s P(A).
A = {a, b, c}. Partitivni skup skupa A
{{}, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}}.
Za neprazne skupove
A1 , A2 , . . . , An
je
P(A) =
A1 A2 An = {(a1 , a2 , . . . , an ) : ak Ak , k = 1, 2, . . . , n}.
Qn
Prethodni skup moemo krae oznaiti s
k=1 Ak .
2.1.2 Relacije
Osim svih elemenata Kartezijevog produkta skupova, moe nas zanimati
samo neki njegov podskup.
18
POGLAVLJE 2.
SKUPOVI I FUNKCIJE
A B.
Ako je
(a, b)
gdje je
majka od
b.
2.
R = {(0, 0), (1, 0), (2, 1)} je binarna relacija izmeu skupova A = {0, 1, 2}
B = {0, 1}.
3. Vee od
>
<
R.
4. Neka je
ako
5. Neka je
relacija na
P(A).
a/b,
a Z i b N. Meutim, racionalni broj q bismo mogli poistovje(a, b), gdje je a Z i b N za koji vrijedi q = a/b.
A = {(a, b) : a Z, b N}, moemo denirati relaciju Q na A
je ((a1 , b1 ), (a2 , b2 )) Q ako je a1 b2 = a2 b1 . Ova relacija ima tri
gdje je
zanimljiva svojstva:
Vrijedi
Ako je
(a1 , b1 ), (a2 , b2 ) Q
Ako je
za svaki
(a, b) A.
tada je i
((a2 , b2 ), (a1 , b1 )) Q.
R.
Iz primjera je jasno da je postoje neka vana svojstva relacija.
aA
vrijedi
a, b A
(a, a) R.
za koje vrijedi
(a, b) R
(b, a) R.
A.
(b, c) R
vrijedi
(a, c) R.
a, b, c A
za koje vrijedi
(a, b)
2.1.
OSNOVNI POJMOVI
19
(a, b) R ako je a b je
(a, b) S ako je a < b, nije
Z
Z
reeksivna.
Relacija
A = {1, 2, 3}.
nije reeksivna.
Relacija
tivna.
Relacija
ne simetrina.
Promotrimo jo jedan primjer.
3.
tako da je
(a, b) T
ako je broj
ab
a Z, a a = 0 to je oito djeljivo s 3.
a, b Z. Ako je (a, b) T tada je a b
djeljivo s 3 odnosno a b = 3k , za neki k Z. No, onda je i b a = 3(k),
iz ega je oito da je i b a djeljivo s 3 pa je (b, a) T .
Tranzitivnost. Pretpostavimo sada da su a, b, c Z. Ako su (a, b), (b, c) T
tada su a b i b c djeljivi s 3. Odnosno a b = 3k te b c = 3m za neke
k, m Z , zbrajanjem tih jednakosti dobivamo da je a c = 3(k + m). Sad
je oito da je a c djeljivo s 3, pa je (a, c) T .
Reeksivnost. Za svaki
Simetrinost. Pretpostavimo da su
T,
{. . . , 9, 6, 3, 03, 6, 9, . . .} u relaciji
ali nisu u relaciji ni s jednim drugim cijelim brojem izvan tog skupa. Isto
{. . . , 8, 5, 2, 1, 4, 7, . . .} i
{. . . , 7, 4, 1, 2, 5, 8, . . .}. Relacija T je razdijelila
vrijedi i za skupove
skup
na tri disjunk-
particija skupa
A 6= proizvoljan
A ako vrijedi:
1. Za svaki
XF
je
X A.
2. Za svaki
XF
je
X 6= .
X, Y F , X 6= Y
[
Vrijedi
X = A.
3. Za sve
4.
XF
vrijedi
skup.
X Y = .
Kaemo da je familija
20
POGLAVLJE 2.
SKUPOVI I FUNKCIJE
obratno.
T.
2.1.3 Funkcije
Za binarnu relaciju
postoji tono jedan
ako za svaki
aA
(a A)((a, b1 ) R (a, b2 ) R b1 = b2 ).
Osim u smislu posebnog sluaja relacije u nastavka emo vrlo brzo uoiti daje
ponekad puno praktinije o funkcijama razmiljati kao o preslikavanjima.
Preslikavanje
f :AB
se denira
A preslikava u elemente od B ,
posao?
f :AB
yB
postoji
xA
takav da je
y = f (x).
f : A B kaemo da je injekcija ako za svaki x1 , x2 A za koji
je f (x1 ) = f (x2 ) slijedi x1 = x2 .
Za funkciju f : A B koja je istovremeno surjekcija i injekcija kaemo da je
1 : B A na
bijekcija. U tom sluaju moemo denirati inverznu funkciju f
1
sljedei nain: f
(y) = x onda i samo onda ako vrijedi f (x) = y . Inverzna
Za funkciju
f :AB
rastua na skupu
kaemo da je:
ako vrijedi
2.1.
OSNOVNI POJMOVI
21
ako vrijedi
padajua na skupu
ako vrijedi
ako vrijedi
N0 = N {0}.
Deniramo funkciju
f : N0 Z
formulom
, x
f (x) = x2+ 1
,
2
Dokaite da je
Rjeenje.
x, y N0 .
paran
(2.1)
x neparan.
bijekcija.
Neka je
x
y
dobivamo
=
, odnosno x = y , ako pretpostavimo da su neparni
2
2
x+1
y+1
=
, odnosno x = y .
dobivamo
2
2
Preostalo je pokazati surjektivnost. Neka je x Z, x 1 proizvoljan, tada
(2x 1) + 1
je 2x 1 N0 i f (2x 1) =
= x.
2
(2x)
= x.
Neka je x Z, x 0 proizvoljan, tada je 2x N0 i f (2x) =
2
funkcija bijekcija.
= e2x+1
Kaemo da je skup
f : R h0, +i zadana
f 1 (x) =
ekvipotentan sa skupom
f : A B.
broj i piemo
|A| = |B|.
A ekvipotentan sa skupom B
oznakom
A B.
22
POGLAVLJE 2.
Reeksivnost. Vrijedi da je
id : A A
za svaki skup
A. Naime, identiteta,
A u samog sebe.
Simetrinost. Ako je
je
A A
SKUPOVI I FUNKCIJE
f : A B
A B,
onda je i
B A.
f 1 : B A
takoer
bijekcija.
Tranzitivnost. Ako je
cije
Iako smo prethodna svojstva nazvali reeksivnost, simetrinost i tranzitivnost to ne znai da je ekvipotentnost relacija ekvivalencije! Razmislite zato.
Da bismo pokazali da je
Primjer jedne takve
f :AB
je dana s
i skupa
2N = {2, 4, 6, . . .}.
Jedna
f (n) = 2n.
f : Z N je
2x
f (x) = 1
2x + 1
N0
dana s
,
,
,
x<0
x=0.
x>0
ekvipotentni.
Jedna bijekcija je
Primjer 2.11. Pokaimo da su svi zatvoreni segmenti realnih brojeva meusobno ekvipotentni.
duina koja
Jedna bijekcija
h 2 , 2 i
ekvipotentni.
Jedna bijekcija
f : h 2 , 2 i R
je dana s
f (x) = tg(x).
(an )n .
Ako nizu
ureeni par
sn
je
n-ta
parcijalna suma.
2.2.
23
A kaemo da je konaan ako postoji prirodan broj n i bif : {1, 2, . . . , n} A. Broj n zovemo kardinalni broj skupa A i oznaavamo ga s |A|. U sluaju konanih skupova kaemo da A ima n elemenata.
Zato to je A konaan skup moemo ga zapisati kao A = {a1 , a2 , . . . , an },
gdje je ak := f (k), k = 1, 2, . . . , n. Prazan skup smatramo konanim skupom
i deniramo || = 0.
Za neprazan skup
jekcija
Za skup
A kaemo da je beskonaan
A kaemo da je prebrojiv
ako je ekvipotentan s
N.
Pret-
hodnu tvrdnju moemo izrei i na sljedei nain: skup je prebrojiv ako njegove elemente moemo poredati u niz.
Zato to je kompozicija bijekcija takoer bijekcija, dovoljno je konstruirati
bijekciju izmeu
brojivost.
Kardinalni broj skupa prirodnih brojeva oznaavamo s
prema prvom slovu
hebrejskog pisma.
2N, 2N 1
prebrojiv. U prethodnoj
ekvipotentni s
pa su zato i oni
prebrojivi.
za svaki
kN
n N,
ali ako je
a 6= a1 , a2 , . . . , ak
a A takav da f (n) 6= a
a > f (k) k za svaki
onda je
to je nemogue.
A N.
24
POGLAVLJE 2.
SKUPOVI I FUNKCIJE
Propozicija 3. Neka je
konaan, a
AB
prebrojiv.
Funkcija
je oito bijekcija.
Propozicija 4. Unija prebrojivo mnogo prebrojivih skupova takoer je prebrojiv skup. Odnosno
i=1 Ai
je prebrojiva ako su
A1 , A2 , . . .
prebrojivi.
Dokaz. Za svaki
Posljedica 5. Skup
Dokaz. Za svaki
skupova
Tada je
je prebrojiv.
k N
Qk = { k1 , k2 , k3 , . . .}. Svaki od
f : N Qk je dana s f (n) = nk .
deniramo skup
prebrojiv skup.
Q {0} Q+ ,
skupova, pa je i sama
Q =
prebrojiv skup.
.
.
.
.
.
.
..
prvo uzmemo
itd.
(a1 , b1 ),
(a1 , b2 ), (a2 , b1 )
pa
2.3.
NEPREBROJIVI SKUPOVI
25
N Z, N Q Z
N N, N N . . . N,
{(p, q) : p, q Q}.
Pokazali samo da je
QQ =
Zadatak 2.5. Pokaimo da je skup svih konanih nizova cijelih brojeva prebrojiv skup.
Rjeenje. Traeni skup moemo zapisati kao
k.
k=1 Ak ,
gdje je
Ak
skup
pokazati da je svaki
od pre-
brojive.
Propozicija 8. Neka je
vrijedi
beskonaan i
BA
A A\B .
Dokaz : Neka je
B = {b1 , b2 , . . . , bn }.
Primijetimo da je skup
A\B
be-
C = {c1 , c2 , . . .}
A\B . Na slici
A i A\B koju emo konstruirati.
funkciju f : A A\B :
ako je x = bi ;
ci ,
f (x) = cn+i , ako je x = ci ;
x,
ako je x A\(B C).
prebrojiv podskup od
je ilustracija
Tada je funkcija
A A\B .
26
POGLAVLJE 2.
SKUPOVI I FUNKCIJE
b,
takve da je
a < b,
A i A\B .
vrijedi:
x 0.5
f (x) =
x(x 1)
f : h0, 1i R
R.
denirana s
Znamo da je skup
h0, 1]
je neprebrojiv.
je ekvipotentan s
u niz.
ekvipotentan s intervalom
ove brojeve u decimalnom zapisu. Taj prikaz nije jednoznaan, jer se npr.
0.31 moe napisati i u obliku besko0.309999 . . . Za svaki broj iz h0, 1] koristit emo,
aij
znamenke izmeu
na dijagonali
bn
iz skupa
0 i 9.
{1, . . . , 9}
b1
odaberemo tako da
2.3.
NEPREBROJIVI SKUPOVI
b1 6= a11 , b2 6= a22 ,
27
neprebrojiv skup i
BA
A A\B .
Dokaz. Zato to je
je skup
A\B
B A
A = (A\B) B . Iz
bismo imali da je A unija
vrijedi
neprebrojiv (inae
toga slijedi da
dva prebrojiva
prebrojiv,
A\B
C A\B
f : A A\B
c2i ,
f (x) = c2i+1 ,
x,
Oito je funkcija
C = {c1 , c2 , c3 , . . .}.
B = {b1 , b2 , b3 , . . .} prebrojiv
skup.
ovako:
ako je
ako je
ako je
bijekcija, pa imamo
Radi
x = bi ;
x = ci ;
x A\(B C).
A A\B .
Primjer 2.16. Skup iracionalnih brojeva je neprebrojiv. Naime, skup iracionalnih brojeva moemo zapisati kao
prema prethodnoj propoziciji
I = R\Q,
no
je prebrojiv, pa je
neprebrojiv.
vrijedi:
B,
ne-
prebrojiv skup.
Rjeenje.
je da
da je prebrojiv.
Jasno
Neka su
xii = 1.
nemogue.
a = (a1 , a2 , . . .).
a B te
Oito je
tako da je
ai = 1
ako je
xii = 0 te ai = 0 ako
xi , no ai =
6 xii , a to je
2
28
POGLAVLJE 2.
SKUPOVI I FUNKCIJE
P(N)
Za dani podskup
ai = 1
ako je
i A,
neprebrojiv.
nizova.
opasan
su svi lanovi niza prosti brojevi. Meutim to nije istina, jer je primjerice
a40 = 1681 = 412 .
Ako smo sumnjali da je prethodna tvrdnja neistinita mogli smo je uzastopno
provjeravati za sve vei i vei
n.
esto biti
ili
za koji je
1.
n + 1.
1 + 2 + 3 + ... + n =
n(n + 1)
2
n.
2.4.
29
n.
1 + 2 + 3 + ... + n =
Pretposta-
n(n + 1)
.
2
n + 1,
1 + 2 + 3 + ... + n + n + 1 =
(1 + 2 + 3 + . . . + n) + n + 1 =
n(n + 1)
+n+1=
2
n(n + 1) + 2(n + 1)
(n + 1)(n + 2)
=
.
2
2
Prema naelu matematike indukcije zakljuujemo da tvrdnja vrijedi za svaki
n N.
Zadatak 2.9. Dokaite da je
R
0
xn ex dx = n!,
za svaki
n N.
parcijalne integracije
n+1 x
nN
n + 1.
Z
n+1 x
dx = x
e
|0 +
(n + 1)xn ex dx
0
Z
= 0 + (n + 1)
xex dx = (n + 1)n! = (n + 1)!.
0
broj.
5n + 5 n2
n 6.
n = 6. Vrijedi da je 5 6 + 5 62 .
2
Pretpostavimo da za neki prirodni broj n 6 vrijedi 5n + 5 n i pokaimo
2
da je 5(n + 1) + 5 (n + 1) .
Rjeenje. Provjerimo bazu indukcije,
Vrijedi
5 2n + 1
za svaki
n 2.
Prema
30
POGLAVLJE 2.
SKUPOVI I FUNKCIJE
1
vrhova je 2 n(n 3)
n 4.
n = 4.
Rjeenje. Neka je
1
2 4(4 3) = 2. Pretpostavimo da
1
konveksni nterokut ima n(n 3) dijagonala, pri emu je n 4. Pokaimo
2
1
da tada (n + 1)terokut, ima (n + 1)(n 2) dijagonale.
2
tverokut ima dvije dijagonale. Vrijedi da je
Kada
n-terokutu
1
2 n(n3).
n2 dijagonala iz dodanog vrha i jo jednu dijan-tog vrha koja je prije bila stranica. Ukupno imamo
1
2 n(n 3) + (n 2) + 1 dijagonala. No,
1
1
n(n 3) + (n 2) + 1 = [n(n 3) + 2n 2]
2
2
1
= (n2 n 2)
2
1
= (n + 1)(n 2)
2
1
= (n + 1)[(n + 1) 3].
2
Prema naelu matematike indukcije zakljuujemo da tvrdnja vrijedi za svaki
n 4.
za koju je denirana.
2) Korak indukcije.
n+1
n + 1.
n.
Ovu
varijantu matematike indukcije nazivamo naelo jake matematike indukcije. Ovo naelo je ekivalentno naelu slabe indukcije, koje smo iskazali na
poetku ove toke.
ai + aj
i, j N.
prirodan broj n.
za svaki
za svaki
Dokaite da je tada
n = 1 tvrdnja se
k < n + 1 vrijedi tvrdnja.
Rjeenje. Za
za sve
(an )n
svodi na
a1 a1 .
Neka je
nN
takav da
2.4.
n + 1.
31
Zbrajajui nejednakosti,
a1 a1
a2
a1 +
a2
2
a2 a3
a1 +
+
a3
2
3
.
.
.
a1 +
a2
an
+ ... +
an ,
2
n
dobivamo
an
a2
+ ... +
nan+1 .
(n + 1) a1 +
2
n
Dodajmo sada s obje strane nejednakosti
an+1 ,
a2
an
an+1
(n + 1) a1 +
+ ... +
+
(n + 1)an+1 .
2
n
n+1
Poslije dijeljenja s
n+1
elemenata ima
2n
podskupova.
njegovih podskupova.
Oito je
32
POGLAVLJE 2.
SKUPOVI I FUNKCIJE
Poglavlje 3
Prebrojavanja
U ovom poglavlju upoznat emo se s osnovnim rezultatima iz kombinatorike.
To je velika grana matematike koja se neprekidno ispreplee s raunarstvom.
Zapoinjemo s intuitivno jasnim i oekivanim naelima, a onda postupno
iz njih gradimo put prema matematikom alatu ija primjena e nam dati
odgovore na mnoga netrivijalna pitanja postavljena u ovom poglavlju.
Naelo sume. Broj elemenata unije meusobno disjunktnih skupova jednak je sumi broja elemenata skupova.
Preciznije, neka su
za
i 6= j ,
A1 , A2 , . . . , An
Ai Aj =
tada vrijedi
n
n
[ X
A
=
|Ai | .
i
i=1
i=1
A1 , A2 , . . . , An
konaan skup i
S X,
onda je
|X\S| =
|X| |S|.
Naelo dvostrukog prebrojavanja. Ukoliko isti skup prebrojimo na dva
naina, dobit emo jednake odgovore.
U nastavku dajemo primjenu prethodnih naela na primjerima.
33
34
POGLAVLJE 3.
PREBROJAVANJA
Primjer 3.1. Metu moemo gaati orujima koja su podjeljena u dvije kategorije: puke i pitolji. Ako imamo 3 puke i 4 pitolja, na koliko naina
moemo gaati metu razliitim orujem?
Odgovor na ovo pitanje smo ve dali, ali ponudimo sada i malo formalniji
odgovor. Neka je
ZG
GS
skup svih
X}.
Odredite
S = {(a, b) : a < b, a, b
|S|.
zbog uvjeta
99
X
a=1
(100 a) =
99
X
a=
a=1
99 100
= 4950.
2
n = 99
2
za koji
a2 .
a N takav da je b =
Kraim raunom zakljuujemo da je
1822500000 = 25 36 57 . Svaki djelitelj zadanog broja je oblika 2i 3j 5k gdje
su i {0, 1, . . . , 5}, j {0, 1, . . . , 6}, k {0, 1, . . . , 7}. Da bi djelitelj bio
savren kvadrat oito je da i, j, k moraju biti parni brojevi. Tada imamo
tri mogunosti za izbor potencije i te po 4 mogunosti za izbor j i k . U
konanici, broj djeljitelja koji su savreni kvadrati je 3 4 4 = 48.
2
postoji
10n
3.2.
DIRICHLETOVO NAELO
35
znamenku 4, a onda taj broj oduzeti od broja svih prirodnih brojeva manjih
10n .
Oznaimo sa
menku. Brojevi iz
se mogu sastojati od
Ako se u nekom drutvu nalazi 13 ljudi, tada njih barem dvoje moraju biti
roeni u istom mjesecu. Prethodna tvrdnja je naravno istinita, a nain razmiljanja koji nas dovodi to potvrdnog odgovora formalizira sljedei teorem.
n+1
objekt stavimo u
kutija, tada
Xi
Y konani skupovi takvi da je |X| > |Y | te neka je dana funkcija f : X Y .
Tada f ne moe biti injekcija. Iako je samo naelo vrlo jednostavno, u ovom
Dirichletovo naelo moemo zapisati i matematikim rjenikom. Neka su
Primjer 3.3. Pokaimo da u skupu od etiri cijela broja postoje barem dva
broja ija je razlika djeljiva s tri.
Kada cijeli broj dijelimo s tri mogui ostaci pri dijeljenju su
0, 1
ili
2.
Prema
Dirichletovom naelu dva od etiri broja pri dijeljenju s tri moraju imati isti
ostatak pri dijeljenju. Ta dva broja moemo zapisati kao
a = 3p + r
b = 3q + r.
a b = (3p + r) (3q + r)
= 3(p q),
a to je broj djeljiv s tri.
Istim razmiljanjem moemo pokazati i openitiju tvrdnju: Ako je dano
n+1
ljudi,
n.
n 2,
postoje
36
POGLAVLJE 3.
pretpostavljamo da je i
PREBROJAVANJA
prijatelj s
2
danog kruga je 9m
28.16m2
<
29m2 .
Povrina
3m.
S = {1, 2, . . . , 171}
odaberemo
87
brojeva, do-
87.
86,
Zadatak 3.7. Dokaite da postoji prirodna potencija broja tri koja zavrava
001,
001.
s
odnosno da postoji
tako da broj
3n
3p
nN
i
3.3 Permutacije
Zamislimo da
3.3.
PERMUTACIJE
37
a neki imaju neku treu taktiku. Koliko postoji razliitih redoslijeda na koje
profesor moe pitati studente?
Profesor ima
7 preostalih, zatim
8 7 . . . 1 = 8!.
moe
je bilo koja
X.
koliko
pitanje.
nlanog
skupa je n!.
Prisjetimo se da je dogovorno 0! = 1.
Primjer 3.4. Koliko razliitih rijei od est slova moemo napraviti koristei slova iz rijei logika?
Pitanje je zapravo: Koliko ima permutacija
6lanog
rijei koju slaemo moemo odabrati bilo koje od est slova iz skupa
{l, o, g, i, k, a},
za drugo slovo je preostalo pet slova, za tree etiri, itd. U konanici dobivamo
6 5 4 3 2 1 = 6! = 720.
6 5 4 = 120 mogunosti.
Ovaj
neki
P (n, k).
k -permutacija nlanog
skupa je
n!
.
(n k)!
38
POGLAVLJE 3.
Dokaz. Postoji
k -tog
n 1 mogunosti
n k + 1 mogunosti za
PREBROJAVANJA
kpermutacija
jednak
n (n 1) . . . (n k + 1) =
n (n 1) . . . (n k + 1) (n k)!
n!
=
.
(n k)!
(n k)!
Iz prethodnog razmiljanja nije teko vidjeti da je pitanje koliko ima
permutacija
u
nlani
k-
skup.
Zadatak 3.8. Na maturalnoj zabavi nalaze se dva smjera neke kole. Kako
bi istaknuli koji su smjer pohaali, uenici su odluili nositi bijeli odnosno
plavi al. Na zabavi je 20 uenika s bijelim alom te 15 s plavim alom. Dolo
je vrijeme za zajedniku fotograju. Na koliko naina se mogu posloiti u red
tako da
a) se uenici s bijelim alom nalaze prvi;
b) uenici s bijelim alom ine jedan blok;
c) uenici s bijelim alom se nalaze na prvom i posljednjem mjestu u redu te
u redu nema uenika s plavim alom koji stoje jedan do drugog.
20! naina, a
20! 15! naina.
b) Uenike s plavim alom moemo posloiti u red na 15! naina, a blok
uenika s bijelim alom tada moemo staviti na jedno od 16 mjesta izmeu,
Rjeenje. a) Uenici s bijelim alom mogu stati u red na
15!
naina. Ukupno je to
na poetak ili na kraj reda uenika s plavim alom. Uenike s bijelim alom
unutar bloka moemo rasporediti na
20!
naina. Ukupno je to
16 15! 20!
naina.
c) Uenike s bijelim alom moemo rasporediti na
20!
prvog uenika s plavim alom moemo staviti izmeu prvog i drugog uenika
s bijelim alom ili drugog i treeg uenika s plavim alom itd.
Ukupno
Rjeenje je
elemenata od
k+1
mogunosti to
3.4.
KOMBINACIJE
39
Primjer 3.6. Ispred zgrade Sveuilita vrtlar eli u nizu posaditi tri ljubiice, pet rua i etiri orhideje. Na koliko naina to moe uiniti?
Ovaj problem je razliit od prethodnih utoliko to razlikujemo, primjerice,
rue i ljubiice, ali ljubiice meusobno ne. Na raspolaganju imamo dvanaest cvjetova koje moemo posaditi na
12!
razliite poretke istih cvjetova koje ne razlikujemo, pa taj broj moramo podi-
3!4!5!, koliko iznosi broj jednakih rasporeda unutar iste vrste cvijea.
12!
Konaan rezultat je tada 3!4!5! .
jeliti s
Prilikom uvoenja pojma skupa napomenuli smo da ne brojimo kratnost njegovih elemenata, u tom sluaju bismo u prethodnom primjeru u skupovnoj
notaciji izgubili informaciju o tome koliko primjeraka pojedine vrste cvijea
imamo. Motivirani time uvodimo pojam multiskupa kao poopenje pojma
skupa. Jednostavno govorei, multiskup je skup u kojem je ponavljanje ele-
M = {lj 3 , r5 , o4 },
gdje lj, r, o, redom oznaava ljubiice, rue i orhideje, a brojevi 3, 5 i 4 njihove
menata dozvoljeno. U prethodnom primjeru bismo imali
kratnosti. Navodimo i preciznu deniciju.
M =
jedinice i
15
tono jednom.
Rjeenje. Radi se permutaciji multiskupa
15!
Rjeenje je dano s
3!2!5! .
M = {03 , 12 , 2, 3, 4, 5, 6, 75 }.
3.4 Kombinacije
U dosadanjim problemima osim samih elemenata koji se pojavljuju vaan je
bio i poredak kojim se ti elementi pojavljuju. Preciznije govorei, brojali smo
koliko ima ureenih
k -lanih
podskupova
40
POGLAVLJE 3.
38 itd.
Ukupno je to
3938. . .33 =
PREBROJAVANJA
39!
(397)! . Meutim, u prethodnom raunu
7!
7!.
39!
(397)!7! .
k -lanih
podskupova skupa
Dokaz. Postoji
pova, poredak kojim smo birali pripadne elemente je nevaan, zato smo i
stavljali navodnike na rijei prvi, drugi, itd. Stoga je potrebno dobiveni broj
podijeliti s brojem razliitih rasporeda
elemenata, a to je
k!.
Time smo
n
k itamo n povrh k, a nazivamo binomni koecijent. Prvi put s njima
Pn
n
k=0 k
xnk y k .
Kada
2n
puta. Kada iz
zagrada odaberemo
nk y k . Za ksni
preostalih x, dobit emo izraz obilka x
n
nk
yk .
biti
k to je upravo koecijent od x
2n
n N0
Pn
n
k=0 k
vrijedi
y,
a iz
takvih lanova e
= 2n .
(1 + 1)n =
n-lanog
skupa ima
2n
elemenata.
elemenata je jednak.
Dokaz. Pretpostavimo da je n paran. Broj podskupova s parnim brojem
n n
n
n
elemenata ima P =
s neparnim
0 + 2 + 4 +. . . + n , a broj podskupova
n
n
n
n
brojem elemenata ima N =
+
+
+
.
.
.
+
. Da bismo dokazali
1
3
5
n1
P N = 0.
Prema binomnom
n
+. . . n1
+ nn = (11)n = 0.
Za vjebu, prilagodite prethodni dokaz za sluaj kada je n neparan.
Pn
n
n1 .
Posljedica 21. Za sve n N vrijedi
k=1 k k = n2
da ih je jednako dovoljno je pokazati da je
teoremu slijedi da je
n
0
n
1
n
2
n
2
3.4.
KOMBINACIJE
41
Dokaz. Ovaj dokaz je posebno interesantan jer daje naznake da je ponekad diskretne probleme mogue rijeiti metodama koje primjenjujemo na
kontinuirane objekte. Ukoliko u binomnom teoremu uvrstimo
y =1
dobi-
vamo
(x + 1) =
n
X
n
k=1
xk .
(3.1)
n(x + 1)
n1
x
=
x=1
jasno je da e one
slijedi
n
X
k=1
Uvrtavanjem
n k1
k
x .
k
(3.2)
1
6
tica,
7
0
student i
studentice te
6 1 studen7 6
1 + 1 2 +
2
studenta i
studentice. Ukupno je to
= 251.
7
2
Propozicija
Neka su
22.
a)
b)
c)
d)
n, k N,
n
n
=
,
n k
k
n
n1
k
=n
,
k
k1
n+1
n
n
=
+
.
k
k1
k
n
X
m
n+1
=
.
k
m+1
takvi da je
k n.
Tada vrijedi:
m=k
Dokaz.
n
k je broj svih odabira
n
nk
42
POGLAVLJE 3.
PREBROJAVANJA
n ljudi.
progra-
nk
a0 )
od
k lanu
odabrati voditelja grupe. To je lijeva strana jednakosti. S druge strane, moemo prvo odabrati voditelja grupe, a onda jo
n 1.
k 1 strunjaka od preostalih
c) U DBit je doao mladi pripravnik. Upravitelji ele da i on bude ukljuen u program za izbor
n+1
strunjaka njih
n biramo k 1 strunjaka
ili da ne ukljuimo pripravnika gdje od n strunjaka biramo njih k . To je
desna strana jednakosti. Lijeva strana je trivijalna - od n + 1 zaposlenika
biramo njih k .
d) Desna strana je broj (m + 1)-lanih podskupova skupa S = {1, 2, . . . , n +
1}. Kako bismo kombinatorno interpretirali lijevu stranu podijelimo S na
podskupove s obzirom na najvei broj u danom podskupu. Podskup s k + 1
m
elemenata s najveim elementom m + 1 se moe nainiti na
k naina. Budui da m + 1 ne moe biti manji od k + 1, a ni vei od n + 1, slijedi da se
k
k+1
podskup moe nainiti na
+ k+2
+ . . . + nk naina.
k +
k
k
Zadatak 3.11. Koliko ima najkraih putova kroz cjelobrojnu mreu od isho-
dita do toke
a ne prolaze
(9, 8)
na preostalih
(9, 8)
imati
kretanja u desno te
9+8
9
naina.
Da bismo odgovorili na drugo pitanje morat emo dosljedno primijeniti prethodnu taktiku i naelo komplementa. Naime, ako od ukupnog broja putova
koji prolaze kroz zadani segment oduzmemo broj putova koji prolaze kroz zadani segment i toku dobit emo traeni rezultat. Od ishodita do toke
ima
3+3
3
(3, 3)
3.4.
KOMBINACIJE
43
94+83
pu94 najkraih
6
10
teva. Putova koji prolaze zadanim segmentom ima ukupno
3 1 5 = 5040.
na jedan nain, a od toke
Kako bismo izraunali broj putova koji prolaze zadanim segmentom i zadanom tokom morat emo gledati sve putove koji kreu od ishodita te idu
do traenog segmenta, a tih ima kao i prije
a takvih putova ima
74+83
3+3
3 , zatim od toke
(8, 8),
toke (7, 8)
74
(9, 8), a takvih putova ima 97+88
.
To je ukupno
97
74+83
6
1 = 1120. Prema naelu komplementa puteva koji prolaze za3 1
74
danim segmentom i ne prolaze zadanom tokom ima 50401400 = 3920. 2
do zavrne toke
Primjer 3.8. Ako konveksni mnogokut ima 44 dijagonale, koliko ima stranica?
Pretpostavimo da mnogokut ima
n
n = 44
2
n(n 1)
n = 44
2
n2 3n 88 = 0.
Rjeenja te jednadbe su
n = 11 i n = 8,
kao sumu
nenegativnih cijelih
n = 3 i k = 2 traeni naini
3 = 0 + 3, 3 = 1 + 2, 3 = 2 + 1 i 3 = 3 + 0. Drugim rijeima, elimo
odrediti broj ureenih k -torki (x1 , . . . , xk ) nenegativnih cijelih brojeva koji
zadovoljavaju jednadbu
x1 + x2 + . . . + xk = n.
Odgovor na to pitanje je
sljedeu situaciju. Dano je
n+k1
k1
Ako
kuglice sloimo jednu pored druge, izmeu njih moemo stavljati tapie,
pa u tom sluaju svaki razmjetaj kuglica i tapia oznaava jedno rjeenje
prethodne jednadbe. Primjerice za
n = 7 i k = 6 rjeenju 0+1+3+1+0+2 =
| | | ||
44
POGLAVLJE 3.
Imamo
n+k1
PREBROJAVANJA
mjesta na koja emo staviti tapie implicitno smo odabrali i mjesta na koja
emo staviti kuglice. Takvih razmjetaja ima
n+k1
k1
n+k1
n
x1 + x2 + x3 + x4 = 16,
uz uvjete
x1 3, x2 0, x3 > 3
2 x4 6.
x3 > 3
x3 4. Prethodnu jednadbu
xi 0, i = 1, 2, 3, 4. Za prve tri neuvoenjem supstitucija y1 = x1 + 3, y2 = x2 ,
ekivalentan uvjetu
y3 = x 3 4 i y4 = x 4 2 .
y1 + y2 + y3 + y4 = 10,
uz uvjete
y1 , y2 , y3 0 i 0 y4 4.
y4 4
y4 ,
to ako umjesto
pak
po jedan lan iz svake od tri zagrade i pomnoiti ih, taj postupak ponavljamo
33 = 27 puta. Lako je uoiti da e svih 27 umnoaka biti treeg stupnja.
2
Promotrimo kako jedan od umnoaka moe biti b c. To se dogaa kada iz
dvije zagrade odaberemo
b,
a iz preostale zagrade
c.
3.5.
45
biramo iz proizvoljne
jednakosti.
Cilj nam je formalizirati prethodni zakljuak, ali prije toga uvodimo pogodne oznake.
Pk
i=1 ai
= n.
a1 , a2 , . . . , ak
n
a1 , a2 , . . . , ak
=
n!
.
a1 ! a2 ! . . . ak !
k = 2
multinomni koecijenti
vrijedi
(x1 + x2 + . . . + xk ) =
a1 +a2 +...+ak =n
n
xa1 xa22 . . . xakk .
a1 , a2 , . . . , ak 1
k = 1.
k.
k.
Za
k+1
dobivamo
(x1 + x2 + . . . + xk + xk+1 )n =
(x1 + x2 + . . . + (xk + xk+1 ))n =
X
n
a1 +a2 +...+ak1 +K=n
a1 , a2 , . . . , ak1 , K
k1
xa11 xa22 . . . xk1
(xk + xk+1 )K .
46
POGLAVLJE 3.
PREBROJAVANJA
n
xa1 xa22 . . .
a1 , a2 , . . . , ak1 , K 1
a1 +a2 +...+ak1 +K=n
X
K
ak1
am+1
=
xam xm+1
. . . xk1
km , km+1 m
am +am+1 =K
X
n
ak+1
ak1
.
xakk xk+1
xa11 xa22 . . . xk1
a
,
a
,
.
.
.
,
a
,
a
,
a
1
2
k1
k
k+1
+...+a
+a +a
=n
X
a1 +a2
k1
k+1
n
a1 , a2 , . . . , ak1 , K
K
ak , ak+1
n
a1 , a2 , . . . , ak1 , ak , ak+1
x14
u polinomu
(1 + x3 + x4 )13 .
4 13
(1 + x + x )
X
i+j+k=13
13
1i x3j x4k =
i, j, k
i+j+k=13
13
x3j+4k .
i, j, k
j, k je 3j + 4k = 14. Lako
j = k = 2. Izraunajmo
vidimo da je jednakost
multinomni koecijent
Do jo jedne generalizacije binomnog teorema moemo doi ukoliko postavimo pitanje: koliko je
(x + y)m
gdje
cijeli broj? U narednim poglavljima bit e nam potrebno raunati izraze kao
npr.
(1 + x) 5 .
koecijenata.
Takoer je
m
0
broj, tada je
= 1.
n, k N.
n
(n)(n 1) . . . (n k + 1)
=
k
k!
k
(1) (n)(n + 1) . . . (n + k 1)
=
k!
n
+
k
1
= (1)k
.
k
n
k
= (1)k
n+k1
k
3.6.
FORMULA UKLJUIVANJA-ISKLJUIVANJA
47
2
(1 + x)m oko x = 0. U tom sluaju n-ta
m!
m!
mn to poprima vrijednosti
(mn)! (1 + x)
(mn)!
(1 + x)m
x = 0.
je
(1 + x)m =
X m
xn .
n
n0
m
n
= 0
za
n > m
Ako je
n 0
m+1
1 2x.
1 2x = (1 2x) 2 =
X 1
2 (2x)n .
n
n0
koecijente
1
2
1
2
1
2
3
2
...
n!
2n+3
2
gdje smo s
jedan do
1 2x =
= (1)n1
(2n 3)!!
,
2n n!
X 2n (2n 3)!!
n0
n!
xn .
A = {1, 2, 3}
B = {2, 3, 4, 5},
A B?
i sve elemente od
B , meA i B
48
POGLAVLJE 3.
PREBROJAVANJA
|A B| =
3 + 4 2 = 5.
Slinim razmiljanjem u sluaju kada su dana tri skupa
A, B
dolazimo
do formule
(3.3)
P
Sk =
1i1 <...<ik n |Ai1 . . . Aik |. Tako je na primjer za
k = 1, S1 = |A1 | + |A2 | + . . . + |An | a za k = n je Sn = |A1 A2 . . . An |.
Koristei uvedene oznake formulu (3.3) moemo zapisati kao |A1 A2 A3 | =
S1 S2 + S3 .
Deniramo
A1 , . . . , A n
ko-
|A1 . . . An | = S1 S2 + S3 + . . . + (1)n1 Sn .
Dokaz. Neka je
x A1 . . . An .
Element
x nalazi u skupovima
Aj1 , . . . , Ajm , 1 m n, ali ne i u preosta
m
lim skupovima. Postoji
k skupova za koje
P vrijedi da je x Ai1 . . . Aik .
m
Prema tome x je brojen
puta u sumi
1 . . . Aik |. Iz
n |Ai
k
m 1i1 <...<ikm1
m
m
tog slijedi da je element x brojen
m puta
1 2 +. . .+(1)
na desnoj
m
m
m m = (1 1)m
strani. Prema posljedici 20 slijedi 1
+
+
.
.
.
.(1)
1
2
m
m
m
m m = 1, to pokazuje da je x brojen jednom i
pa je
1 2 + . . . .(1)
m
na desnoj strani. Ako x nije A1 . . . An oito nije brojen ni u lijevoj ni u
desnoj strani.
vimo da se
Primjer 3.12. Na nekom sveuilitu u zimskom semestru druge godine predaju se tri kolegija: linearna algebra, kombinatorika i programiranje. Barem
jedan od tri navedena kolegija upisalo je 55 studenata. Njih 28 upisalo je linearnu algebru, 24 programiranje, a 30 kombinatoriku. Nadalje, 8 studenata
je upisalo linearnu algebru i kombinatoriku, 16 kombinatoriku i programiranje te 5 linearnu algebru i programiranje. Odredimo koliko je studenata
upisalo sva tri kolegija.
Oznaimo redom s
L, K, P
L K P,
studenti koji
3.6.
FORMULA UKLJUIVANJA-ISKLJUIVANJA
49
L K , oni koji
K P , oni studenti
koji su upisali linearnu algebru i programiranje pripadaju skupu L P . U
konanici oni koji su upisali sva tri kolegija nalaze se u skupu L K P .
Primijenit emo formulu ukljuivanja-iskljuivanja za n = 3,
su upisali linearnu algebru i kombinatoriku pripadaju skupu
|L K P | = |L| + |K| + |P | |L K| |K P | |L P | + |L K P |.
Poznato je
55 = 28 + 30 + 24 8 16 5 + |L K P |.
Iz ega lako izraunamo da je sva tri kolegija upisalo samo dva studenta.
Neka je
oznaku
Ako uvedemo
S = A A,
a zato to su
AiA
disjunktni vrijedi
A = A1 . . . An = A1 . . . An .
Sada formulu ukljuivanja-iskljuivanja moemo zapisati i kao
|A1 . . . An | = S| |A1 . . . An |
= |S| + S1 S2 + S3 + . . . + (1)n1 Sn .
Zadatak 3.14. Odredite koliko cjelobrojnih rjeenja ima jednadba
50
POGLAVLJE 3.
PREBROJAVANJA
x1 + x2 + x3 + x4 = 16
koji zadovoljavaju uvjete
2 x1 6, 2 x2 1, 0 x3 6, 3 x4 8.
Rjeenje. Sa slinim problemom, s manjim brojem uvjeta, susreli smo
se u odjeljku o kombinacijama.
x3 , y4 = x4 3
y1 = x1 2, y2 = x2 + 2, y3 =
y1 + y2 + y3 + y4 = 13
(3.4)
uz uvjete
0 y1 4,
0 y2 3,
0 y3 6,
0 y4 5.
Denirajmo skupove
A1
uvjet
y1 5 ,
A2
y2 4,
A3
y3 7,
A4
y4 6 .
elimo odrediti
|A1 A2 A3 A4 |.
4 + 13 1
16
|S| =
=
= 560.
13
13
Slino,
4+81
11
|A1 | =
=
= 165,
8
8
4+91
12
|A2 | =
=
= 220,
9
9
4+61
9
|A3 | =
=
= 84,
6
6
4+71
10
|A4 | =
=
= 120.
7
7
3.6.
FORMULA UKLJUIVANJA-ISKLJUIVANJA
51
Nadalje imamo
4+41
7
|A1 A2 | =
=
= 35,
4
4
4+11
4
|A1 A3 | =
=
= 4,
1
1
4+21
5
|A1 A4 | =
=
= 10,
2
2
4+21
5
|A2 A3 | =
=
= 10,
2
2
4+31
6
|A2 A4 | =
=
= 20,
3
3
4+01
3
|A3 A4 | =
=
= 1.
0
0
Za presjeke triju ili vie skupova
oznaimo skup koji sadri sve naine podijela poklona, tako da svaki
i-ta
Ai
i-ti i j -ti
7!
i-toj
naina, tj.
|Ai | = 7!.
Skup
Ai Aj
|Ai Aj | = 6!.
(8 k)!
U sluaju kada
Tada je
8
8
8
|A1 A2 . . . A8 | = 8!
7! +
6! . . . +
8! = 14833.
1
2
8
8
Pritom pribrojnik
1 7! interpretiramo; od osam ljudi odaberemo jednog i
njemu vratimo njegov polon, a onda na 7! podijelimo preostale poklone. 2
to moemo rei o openitom sluaju kada je na zabavu dolo n ljudi?
52
POGLAVLJE 3.
PREBROJAVANJA
nlanog
skupa A.
Ai
Deniramo skup
i-ti
element ksan.
n
n
n
n1 n
n!
(n 1)! +
(n 2)!
(n 3)! + . . . + (1)
(n n)! =
1
2
3
n
n
X
1
1
1
(1)k
n1 1
n! 1 + + . . . + (1)
= n!
.
1! 2! 3!
n!
k!
k=0
p =
Dn
n! .
Zamislimo da je
limn
Dn
n!
1
e
= 0.3679 . . .
Tada je
vjerojatnost da domain nee niti jednoj osobi dati kaput s kojim dola na
zabavu iznenaujue velika,
p 1/e,
pa ak i za mali
n.
n-lanog
skupa u
p-lani
p n?
Rjeenje. Neka je
A = {1, 2, . . . , n}
B = {1, 2, . . . , p}.
Bez smanjenja
f :AB
surjekcija?
dan s
pn .
Prebrojat emo sve funkcije, a onda tom broju oduzeti broj funkcija s
A u B koje nije surjekcija ima svojstvo da postoji eleB u koji se nije preslikao niti jedan element iz A. Deniramo
Ai = {f : A B : i nije u slici od f } Kako bimo prebrojali koliko postoji nesurjektivnih funkcija s A u B moramo odrediti |A1 A2 . . . Ap |.
Svaka funkcija s
ment iz
p1
X
k1 p
|A1 A2 . . . Ap | =
(1)
(p k)n ,
k
k=1
3.6.
FORMULA UKLJUIVANJA-ISKLJUIVANJA
53
pa je broj surjekcija
Sn,p = pn |A1 A2 . . . Ap |
p1
X
n
k1 p
(p k)n
=p
(1)
k
k=1
p
p
p
n
n
n
p1
=p
(p 1) +
(p 2) + . . . + (1)
.
1
2
p1
2
54
POGLAVLJE 3.
PREBROJAVANJA
Poglavlje 4
kuna? S obzirom na to
5=1+1+1+2
5 = 1 + 2 + 2.
Prethodni problem moemo opisati i na drugi nain.
polinoma
p(x) = 1 + x + x2 + x3 + x4 i q(x) = 1 + x2 + x4 ,
njihov umnoak
je
p(x)q(x) = (1 + x + x2 + x3 + x4 )(1 + x2 + x4 )
= x8 + x7 + 2x6 + 2x5 + 3x4 + 2x3 + 2x2 + x + 1.
Kada bi nas zanimao samo koecijent uz
x5 ,
x3 iz prve zagrade s
x5
x iz prve zagrade s x4
2.
kuna s danim
56
POGLAVLJE 4.
P (an )nnpridruena
n0 an x .
P
n
f (x) =
n0 an x
ak = hxk if (x).
Ako je
k
izvodnica, koecijent uz x oznaavat emo s
f (x) = 1 + x + x2 + . . . + xn + . . . =
b) Obina funkcija izvodnica niza
an = (1)n
funkcija
an = 1
je
1
1x
je
f (x) = 1 x + x2 . . . + (1)n xn + . . . =
1
1+x
f (x) = 1 + x2 + x4 . . . + x2n + . . . =
1
.
1 x2
P
P
f (x) = n0 an xn i g(x) = n0 bn xn
f = g ako vrijedi an = bn , za svaki n 0.
funkcije
izvodnice. Kaemo da je
Takoer
deniramo
1. f (x) g(x) =
an xn
n0
cn =
an xn
ak bnk
X
d
f (x) =
nan xn1
dx
n1
Z
X an
4.
f (x)dx =
xn+1 .
n+1
n0
(an + bn )xn
bn xn =
n0
n
X
k=0
3.
n0
n0
gdje je
bn xn =
n0
2. f (x) g(x) =
za svaki
X
n0
n0
cn xn ,
4.1.
57
Jednostavnim raunom itatelj se moe uvjeriti koliko su prethodne operacije prirodno denirane. Komentirajmo mnoenje funkcija izvodnica
n0 nx
x
.
(1x)2
Uoimo da vrijedi
1
d
=
(1 x)2
dx
1
1x
=
d
dx
xn =
n0
nxn1 .
n0
dobivamo tra-
X
x
=
nxn .
(1 x)2
n0
an = n.
f (x) =
Pm
n0 an x
k=0 ak .
Uzmimo jo jednu funkciju izvodnicu g(x) =
P
n
dukt f (x) g(x) =
n0 cn x , pri emu je
vrijedilo da je
bk = 1
za svaki
cm =
n
n x te promotrimo pron0 bP
m
cm = k=0 ak bmk . Kada bi
0, dobili bismo
m
X
ak 1 =
k=0
m
X
m
X
ak = cm
ak ,
k=0
k 0,
onda
= hx i (f (x) g(x)) = hx i f (x)
m
k=0
ima zatvorenu
1
1x
.
Pm
k=0 k
2.
58
POGLAVLJE 4.
X
k0
x dobit
k0 kx
x
. Ukoliko tu jedna(1x)2
emo
X
x
x(1 + x)
d
k 2 xk = x
k 2 xk1 = x
=
.
dx (1 x)2
(1 x)3
k0
hxm i
x(1+x)
(1x)3
1
1x .
Rastavljanjem brojnika i
hx i
x + x2
(1 x)4
1
1
m2
= hx
i
+ hx
i
(1 x)4
(1 x)4
m1+41
m2+41
=
+
m1
m2
m(m 1)(2m + 1)
=
.
6
m1
izvodnica. Neka je
S k -lani
podskup od
(1 + x) (1 + x) . . . (1 + x) = (1 + x)n .
Primjenom binomnog teorema vidimo da je
f (x) = (1 + x)n =
n
X
n
k=0
funkcija izvodnica za broj kombinacija
odgovara broju
k -kombinacija n-lanog
n-lanog
xk
skupa.
Koecijent uz
skupa.
kovanice od
kune,
xk
kovanica od
kune te
kovanice
10 kn, ako
od 5 kuna.
puta, kovanicu
puta te kovanicu od
kuna
moemo ne uzeti ili uzeti najvie tri puta. Pripadna funkcija izvodnica je
4.1.
S?
S = {s
1 , s2 , . . . , sn },
koliko ima
k -lanih
59
pod-
f (x) = (1 + x + x2 + . . .) (1 + x + x2 + . . .) . . . (1 + x + x2 + . . .)
1
1
1
=
...
1x 1x
1x
n
1
=
1x
= (1 x)n .
Primjenom generaliziranog binomnog teorema i pravila inverzije dobivamo,
f (x) = (1 x)n
X n
(x)k
=
k
k0
X
k n+k1
(1)k xk
=
(1)
k
k0
X n + k 1
xk .
=
k
k0
Vidimo da koecijent uz
ljanjem multiskupa
S.
xk
odgovara broju
k -lanih
kombinacija s ponav-
x1 + x2 + . . . + xk = n?
f (x) = (1 + x + x2 + . . .)(1 + x + x2 + . . .) . . . (1 + x + x2 + . . .)
1
1
1
=
...
1x 1x
1x
X k
X k + r 1
1
k
r
=
= (1 x) =
(x) =
xr .
r
r
(1 x)k
r0
Tada je
hxn if (x) =
k+r1
r
10
r0
Rjeenje.
x1 + x2 + . . . + x10 = 100,
60
POGLAVLJE 4.
uz uvjete
0 xi 20, i = 1, . . . , 10.
20
X
!10
k=1
1 x21
1x
10
=
1 x21
1x
x100
od
10
1 x21
1x
10
=
!
10
X
X
10
+
k
1
10
(x)k .
(x21 )k (1)k
k
k
k0
k=0
+
.
0
100
1
79
2
58
3
37
4
16
342237634221.
ak = P (n, k) =
Iz ega dobivamo da je
ak
k!
(aP
n )n
n
k
n-lanog
skupa dana s
n
k!
k
f (x) =
X an
n0
n!
xn =
X 1
xn = e x
n!
n0
f (x) =
X an
n0
n!
xn =
X n!
n0
n!
f (x) =
X an
n0
n!
an = n!
xn =
xn =
n0
1
1x
an = an
X an
n!
je
je
xn = eax
=1
4.1.
d) Za ksan
kN
an =
n
k
61
je
X xn X n xn
an
f (x) =
=
n!
k n!
n0
n0
X
1
=
xn
k!(n k)!
=
n0
xk X
k!
nk
1
xnk
(n k)!
xk x
=
e .
k!
Kao i za obine funkcije izvodnice, analogno deniramo osnovne operacije
za eksponencijalne funkcije izvodnice.
an n
n0 n! x i
cijalne funkcije izvodnice. Deniramo,
f (x) =
1. f (x) g(x) =
an xn
n0
cn =
xn .
bn xn =
n0
cn xn ,
n0
n ak bnk
,
n!
k
k=0
n!
n0
an xn
n
X
bn n
n0 n! x eksponen-
X an + bn
n0
gdje je
bn xn =
n0
2. f (x) g(x) =
g(x) =
za svaki
n 0.
X an
d
f (x) =
xn1 .
dx
(n 1)!
n1
Z
X an
an xn+1 .
4.
f (x)dx =
(n + 1)!
3.
n0
4permutacija
tika .
Radi se od 4-permutaciji multiskupa
S = {m2 , a3 , t2 , e, i, k}.
jednom, dvaput ili tri puta, slino razmiljamo i za preostala slova. S obzirom na to da se radi o permutacijama konstuiramo eksponencijalnu funkciju
izvodnicu
x2
x2 x3
x2
)(1 + x +
+ )(1 + x + )(1 + x)(1 + x)(1 + x)
2!
2!
3!
2!
x10 5x9 25x8 27x7 371x6 155x5 379x4 83x3 33x2
=
+
+
+
+
+
+
+
+
+ 6x + 1.
24
12
12
4
24
6
12
3
2
f (x) = (1 + x +
Traeni koecijent je
hx4 if (x) =
a4
4!
379
12 pa je
a4 = 758.
62
POGLAVLJE 4.
Prisjetimo se da je,
ex = 1 + x +
x2 x3
+
+ ...
2!
3!
ex = 1 x +
x2 x3
+ ...
2!
3!
ex + ex
x2 x4
=1+
+
+ ...
2
2!
4!
ex ex
x3 x5
chx =
=x+
+
+ ...
2
3!
5!
shx
Upravo nainjeni zakljuci e nam pomoi u rjeavanju sljedeeg netrivijalnog kombinatornog problema.
n-torke
x3 x5
x2
x2 x4
+
+ . . .) (x +
+
+ . . .) (1 + x +
+ . . .)
2!
4!
3!
5!
2!
ex + ex ex ex x
=
e
2
2
1
= (e3x ex )
4
1 X (3x)k X (x)k
=
4
k!
k!
f (x) = (1 +
k0
k0
X 1 3k (1)k
=
xk
4
k!
k0
Traeni broj je
hxn if (x) =
an
n!
n (1)n
= 14 3
n!
, odnosno
an =
3n (1)n
. 2
4
11 kvadrate na 1n ploi
crvenom,bijelom i plavom bojom, ako broj crvenih kvadrata mora biti paran
i barem jedan kvadrat je plave boje?
Rjeenje. Za
4.2.
REKURZIVNE RELACIJE
63
n-torke
funkciju izvodnicu.
x2 x4
x2 x3
x2 x3
+
+ . . .) (1 + x +
+
+ . . .) (x +
+
+ . . .)
2!
4!
2!
3!
2!
3!
ex + ex x
=
e (ex 1)
2
1
= (e3x ex )
4
1 X 3n 2n + 1 (x)n
= +
.
2
2
n!
f (x) = (1 +
n0
Slijedi da je
an =
3n 2n + 1
, n 1.
2
Za tu funkciju vrijedi da je
an1 = (n 1)!
te
an = n an1 , n 2
a1 = 1.
Zapis opeg lana u obliku
an = n!,
esto emo nazivati zatvorena forma ili rjeenje rekurzije. Openita linearna
rekurzija reda
xn , n > k .
(4.1)
Ako su koecijenti
i = i (n)
funkcije ovisne o
(xn )
koji zadovoljava rekurziju (4.1) nazivamo rjeenje rekurzije. U ovoj toki bavit emo se iskljuivo s linearnim rekurzijama i to uglavnom s konstantnim
koecijentima.
ljene u ravnini tako da se svaki par krunica sijee u dvije razliite toke.
Dodatno pretpostavljamo da nikoje tri krunice ne prolaze kroz istu toku.
Skiciranjem lako moemo otkriti da vrijedi
a3 = 8.
a4 = 16,
a0 = 1, a1 = 2, a2 = 4,
64
POGLAVLJE 4.
uvjeriti da je
a4 = 14.
an1
podruja.
krunicu u
2(n 1)
Primijetimo da je
n-tu,
n-ta
an
podruja.
n1
an = an1 + 2(n 1)
= an2 + 2(n 1) + 2(n 2)
= an3 + 2(n 1) + 2(n 2) + 2(n 3)
.
.
.
4.2.
REKURZIVNE RELACIJE
65
an
Oznaimo s
n = 8.
kolut, onda taj kolut prebacimo na traeni tap i gotovi smo tj.
a1 = 1.
Ukoliko imamo dva koluta prvo prebacimo manji kolut na drugi tap, vei
kolut na trei tap, a onda manji kolut prebacimo na vei tj.
koliko je
an
kada je
a2 = 3.
No
najvei kolut, potreban nam je jedan prazan tap, to znai da smo svih
n1
manjih kolutova pomakli na drugi tap. Da bismo doli u ovu fazu trebamo
rijeiti problem Hanojskih tornjeva za
n1
an1
an = 2an1 + 1. S obzirom
n = 0 te nismo denirali a0 ,
n1
Iz navedenog zakljuujemo da je
an+1 = 2an + 1
a1 = 1.
Oznaimo s
funkciju izvodnicu
h(x) =
X
n0
=1+
h(x) =
X
an+1 xn = a1 +
n
n0 an+1 x . Tada je
an+1 xn
n1
(2an + 1)x = 1 +
n1
= 1 + 2x
n1
2an+1 xn+1 +
n0
n
an+1 x +
n0
n+1
xn+1
n0
= 1 + 2xh(x) +
n0
Slijedi da je
h(x) =
1
.
(1 x)(1 2x)
x
.
1x
66
POGLAVLJE 4.
h(x) =
X
1
2
(2n+1 1)xn .
=
1 2x 1 x
n0
Pa zakljuujemo da je
an = 2n 1.
2(n 1)
1
xn1 + ,
n
n
x0 = 0.
xn =
Rjeenje. Radi se linearnoj rekurziji s varijabilnim koecijentima. Openito se takvim rekurzijama neemo baviti, meutim, ponekad je mogue vjetim algebarskim manipulacijama takav problem svesti na rjeavanje linearne
rekurzije s konstantnim koecijentima. Mnoenjem rekurzije s
dobivamo
yn = nxn
yn = 2yn1 + 1,
y0 = 0.
To je rekurzija za hanojske tornjeve, za koju smo zakljuili da je
Uvravanjem u rekurziju za
xn
yn = 2n 1.
dobivamo
nxn = 2n 1,
2n 1
xn =
.
n
Neka je
f (x) =
n
n0 an x funkcija izvodnica, postupak za rjeavanje linear-
xn
i sumirati po svim
f,
f.
n 0.
f.
xn .
4.2.
REKURZIVNE RELACIJE
67
an
ako je poznato da
uz
a0 = 1.
Tada je
f (x) = a0 +
an xn
n1
=1+
(3an1 + 2n) xn
n1
= 3x
an1 xn1 + 2
nxn + 1
n1
n1
2x
= 3xf (x) +
+ 1.
(1 x)2
Rjeavanjem jednadbe po
dobivamo da je
f (x) =
1 + x2
.
(1 3x)(1 + x)2
1 + x2
5
1
1
1
1
=
.
2
(1 3x)(1 + x)
2 1 3x 2 1 x (1 x)2
to daje
3n
1
2
(n + 1) =
a0 = 0
n 2.
a1 = 6 ,
an = hxn if =
5
2
10an2 + 3
2n , za
Rjeenje.
Neka je
f (x) =
5 3n 1
(n + 1).
2
rijeite rekurziju
n0 an x
an = 3an1 +
(an ).
Tada je
f (x) = a0 + a1 x +
an xn
n2
= 6x +
(3an1 + 10an2 + 3 2n ) xn
n2
= 6x 3
an1 xn + 10
n2
= 6x 3x
X
n2
an2 xn 3
n2
an1 x
n1
+ 10x
2n xn
n2
2
n2
X
n2
12x2
1 2x
2
12x
= 6x 3xf (x) + 10x2 f (x)
.
1 2x
(2x)n2
68
POGLAVLJE 4.
Rijeavanjem jednadbe po
dobivamo
6x
12x2
+
1 + 3x 10x2 (1 2x)(1 + 3x 10x2 )
6x
12x2
=
+
.
(1 2x)(1 + 5x) (1 2x)2 (1 + 5x)
f (x) =
6x
2
1
5
1
=
+
(1 2x)(1 + 5x)
7 (1 2x) 7 1 + 5x
te
12x2
10
2
1
1
25
1
+
=
.
2
2
(1 2x) (1 + 5x)
7 (1 2x)
49 1 2x 49 1 + 5x
Tada je,
f (x) = 6x
1
5 1
2
+
7 (1 2x) 7 1 + 5x
+ 12x2
2
1
10 1
25 1
+
+
7 (1 2x)2 49 1 2x 49 1 + 5x
to daje,
X 2
X 2
5
10 n 25
n
n
2
n
n
f (x) = 6x
2 + (5) x + 12x
(n + 1)2 + 2 + (5) .
7
7
7
49
49
n0
n0
5
2 n1
n1 +12 2 (n 1)2n2 + 10 2n2 + 25 (5)n2 ,
n
2
+
(5)
Tada je an = hx if =
7
7
7
49
49
n 2.
2
n
an,m , n, m Z, n, m
0 koji zadovoljavaju rekurziju an,m = an1,m + an1,m1 za (n, m) 6= (0, 0)
uz uvjete an,0 = 1 ako je n 0 te a0,m = 1 ako je m > 0.
P
m funkcija izvodnica za niz
Rjeenje. Neka je fn (x) =
m0 an,m x
(an,m ). Tada je
X
fn (x) =
an,m xm
m0
(an1,m + an1,m1 ) xn
m0
an1,m xm +
m0
an1,m1 xm
m0
f0 (x) = 1
dobivamo da je
fn (x) = (1 + x)n
to
an,m
te
an,m = 0
za
m > n.
n
= hx if =
m
n
ako je
0m<n
2
4.3.
CATALANOVI BROJEVI
69
listova?
x1 , .., xn ,
njegovog djeteta iz slike 4.3 je jasno da se prethodno pitanje moe formulirati i na sljedei nain: Na koliko naina moemo napisati zbroj
brojeva,
Zn =
n1
X
Zk Znk , n 2.
k=1
P
Ck =P
Zk+1 dobit emo rekurziju Cn = n1
k=0 Ck Cn1k ,
n
kao Cn+1 =
C
C
.
Odredimo
sada
zatvorenu
k
nk
k=0
P
n
Neka je f (x) =
n0 Cn x funkcija izvodnica. Tada
Cn .
70
POGLAVLJE 4.
je
f (x)f (x) =
Cn x n
n0
=
=
Cn x n
n0
n
X X
!
Ck Cnk
n0
k=0
Cn+1 xn
xn
n0
1X
Cn+1 xn+1
x
n0
f (x) 1
=
.
x
x
Dobivamo jednadbu
xf (x)2 f (x) + 1 = 0.
14x
. Odluit emo se za minus predznak zato to je
f (x) = 1 2x
limx0 f (x) = 1, a za predznak plus imamo limx0 f (x) = +. Koristei
to daje
f (x) =
=
=
=
1
1 (1 4x)1/2
2x
X 1
1
2 (4x)n
1
n
2x
n0
X 1
1
2 (1)n 4n xn
11
2x
n
n1
1 X 21
(1)n+1 4n xn1
2
n
n1
1 X 21
(1)n 4n+1 xn .
2
n
n0
4.3.
CATALANOVI BROJEVI
71
1
1 1
( 1) . . . ( 12 n)
1
1
2
(1)n 4n+1 = (1)n 4n+1 2 2
Cn =
2 n+1
2
(n + 1)!
1
1
1
2n 1
1
= (1)n 4n+1
...
2
2 (n + 1)! 2
2
1
.
.
.
(2n
1)
1
1
= (1)n 4n
(1)n =
2n (2n 1)!!
n
(n + 1)!
2
(n + 1)!
2n
1
1
n (2n)!
.
=
2
=
(n + 1)! 2n n!
n+1 n
Traeni niz je dan s
Cn =
lanove niza
1
2n
.
n+1 n
(4.2)
sadran u
Rn
P.
Odredimo na koliko
njegovim dijagonalama.
n+2
n + 2 = 5.
Rn+1 =
n1
X
k=0
R0 = 1.
Rk Rnk1
72
POGLAVLJE 4.
Primjetimo da je
Cn = Rn+1 .
n-terokuta, n 3
je
Cn2 .
Ovaj primjer smo mogli rijeiti istim trikom koji smo iskoristili kako
bismo otkrili koliko ima ureenih binarnih stabala s
listova.
n + 2 = 5.
nterokuta.
x1 , x2 , . . . , xn1 .
3. Kada su oznaene dvije stranice trokuta, dijagonalu oznai zbrojem njihovih oznaka.
4. Nastavi dalje sve dok sve stranice nisu oznaene, ali uz uvoenje zagrada
kako bi se ouvao poredak, kao na slici.
U konanici vidimo da e stranica koju smo ostavili neoznaenu biti oznaena
s izrazom koji sadri oznake preostalih
n1
stranica. Imamo
Zn1 = Cn2
2n
2n = 6
ljudi.
2n = 6.
A do toke B u mrei
AB , ako su dozvoljene
4.3.
CATALANOVI BROJEVI
73
n = 3.
A(0, 0)
A(0, 0) do B(n, n) mora barem jednom
do B . Pretpostavimo da je C(k, k), 0
B(n, n).
k < n toka u kojoj je put zadnji put dotaknuo dijagonalu prije dolaska u
B . Postoji Zk mogunosti za izbor puta od A do C . Zatim, put mora doi
od toke D(k + 1, k) do toke E(n 1, n 1), ali ne smije dotaknuti liniju
DE zato to tada C ne bi bila posljednja toka u kojoj je put dotaknuo
dijagonalu AB . S obzirom na to da su D i E nasuprotni vrhovi kvadrata sa
stranicama duljine n k 1 postoji Znk1 dozvoljenih puteva od D do E .
Sumiranjem po svim k , 0 k n 1 dolazimo do rekurzije,
Zn =
n1
X
Zk Zn1k .
k=0
Ukoliko s oznaimo
Ck = Zk+1
Cn =
n1
X
Ck Cnk1 .
k=0
74
POGLAVLJE 4.
Poglavlje 5
Sloenost algoritama
Kroz itavu povijest ljudi su pokuavali rijeiti probleme na koje su nalazili
u svojoj okolini. Takoer, vano im je bilo da rjeenje bude jednostavno i
da se moe lako objasniti drugima i primjenjivati. Ponekad je to postignuto
opisivanjem konanog slijeda koraka kojima se sluimo u postupku. Taj konani slijed koraka mogli bismo nazvati algoritmom. Danas su algoritmi vrlo
raireni te primjenu nalaze u gotovo svakom segmentu ljudske djelatnosti. Ta
injenica potakla je interes za prouavanje algoritama u praksi, ali i na teorijskoj razini, ime se upravo bavimo kada prouavamo sloenost algoritama.
Sloenost nekog algoritma praktina je i korisna informacija koju veemo uz
svaki algoritam koji prouavamo.
5.1 Uvod
Algoritme esto implementiramo koritenjem raunala piui raunalne programe, koje emo uglavnom i prouavati u ovom poglavlju. Jedan od naina
mjerenja brzine rada nekog programa jest mjerenje vremena potrebnog za
njegovo izvravanje. Mjerenje moemo vriti na vie naina, na primjer pomou posebnog softvera ili pak koritenjem obine rune toperice, imajui
pritom na umu specinosti okruenja u kojemu se program izvrava. Takvom analizom izvravanja programa moemo utvrditi problematine dijelove
programa i eventualno ih ubrzati. Ipak, sloenost algoritama usporeuje i
analizira algoritme na teorijskoj razini, zanemarujui pritom detalje poput
programskog jezika u kojem je algoritam implementiran, hardverskog i softverskog okruenja i slinog.
75
76
POGLAVLJE 5.
SLOENOST ALGORITAMA
To je poeljno zato to
100 korisnika.
300.
n,
reprezentiran u ra-
for
5.1.
UVOD
77
i=0;
i<n;
0
varijabli
za
1,
i te
for
ispitipetlje
++i;
A[i]=i;
i<n;
Ove tri naredbe izvri e se tono
n,
f (n),
Budui
da imamo dvije naredbe koje se izvravaju samo jednom te tri naredbe koje
se izvravaju
n puta,
vidimo da funkcija
f : N N zadana s f (n) = 3n + 2
n.
A.
Na primjer, ako je
A = [ 2 4 0 -3 5 ],
postavljanje vrijednosti elementa u polju na
dok e se za
A = [ -2 -4 -1 -1 -5 ]
izvriti pet puta.
Iako esto ne moemo odrediti toan broj koraka, prilikom analize algoritama moemo se pitati koliko e algoritam napraviti koraka u najgorem
78
POGLAVLJE 5.
SLOENOST ALGORITAMA
for
0,
tavljamo da je
if
2n.
f : N N,
koja je dana s:
f (n) = |2n{z
+ 2} + |{z}
2n + |{z}
n = 5n + 2.
if
for
Napomena 2. U prethodnim primjerima kao ulaz za programsku implementaciju algoritma koristili smo polja duljine
raunanjem funkcije u ovisnosti o
n.
N,
gdje je
ritma
timeA (n)
timeA : N
n.
Izvoenjem funkcija kao u prethodnim primjerima dobivamo jasnu predodbu o tome koliko se brzo izvode pojedini algoritmi. No, prilikom analize algoritama neemo se baviti izvoenjem takvih funkcija.
Osim to je
takav nain izuzetno nepraktian za ak i malo sloenije programe (pogotovo npr. viedretvene), broj naredbi ovisi i o arhitekturi raunala na kojem
se program izvodi (npr.
enju (npr. MS Windows ili Linux), programskom jeziku u kojem je algoritam implementiran i drugome.
neogranieno raste.
Obino se sloenost
log2 n,
n,
n log2 n,
n2 ,
n3 , 2n
5.1.
UVOD
79
f, g : N R+
dvije funkcije.
Kaemo da je
funkcija
n,
2n
naredbi.
i umjesto da navedemo
konkretnu funkciju za broj koraka, rei emo da se algoritmi u navedenim primjerima izvravaju u linearnom vremenu, odnosno da su linearne vremenske
sloenosti.
algoritam. Kaemo da je
A:
takav da je
timeA =
O(f (n)).
da je
g takva
timeA = O(g(n)).
O(n).
kojima emo
tada je i
Dokaz. Iz
80
POGLAVLJE 5.
SLOENOST ALGORITAMA
tada je i
n n2
vrijedi
tada je i
for petlja koja ovisi o i izvriti n puta, a sloeO(n). Unutar te petlje nalazi se for petlja koja
ovisi o j koja e se izvriti 2n puta, a ija je sloenosti O(n). Unutar nje
imamo jo dvije operacije ija je sloenost konstanta, O(1). Takoer, unutar
vanjske for petlje imamo jo jednu operaciju sloenosti O(1). Primjenom
njeene. Vidimo da e se
O(n) (O(n) O(1) + O(1)) = O(n) (O(n 1) + O(1)) = O(n) (O(n + 1)) =
O(n n) = O(n2 ). Primijetimo da ovaj puta nismo uzimali u obzir konstante
koje dobivamo pri pokretanju for petlji.
Poueni prethodnim primjerom te uzimajui u obzir propozicije o raunanju asimptotskog ponaanja, moemo izvesti dva praktina zakljuka:
O(n2 ),
O(n3 )
itd.
Sloenost niza petlji i dijelova programa odreuje ona koja je ima najveu sloenost. Tako e program u kojemu se izvodi ugnjeena petlja
sloenosti
sloenost
totski dominantna.
5.2.
ALGORITMI
81
p : N R+
polinom stupnja
tada vrijedi
p(n) =
O(nk ).
p(n) = a0 + a1 nk + . . . + ak nk , gjde je ak 6= 0.
c = |a0 | + |a1 | + . . . + |ak |. Tada za svaki n N \ {0} vrijedi:
Dokaz. Neka je
Oznaimo
2.
2n + n2 = O(2n )
3.
3n + 2n = O(3n )
4.
nn + 3n + n7 = O(nn )
5.2 Algoritmi
U ovom odjeljku se bavimo primjenom dosad steenih rezultata na odabranim primjerima algoritama.
82
POGLAVLJE 5.
SLOENOST ALGORITAMA
5.2.1 Pretraivanje
Na koji god nain pohranjivali podatke, to inimo u svrhu njihovog kasnijeg koritenja.
brojeva.
Rezultat pretraivanja treba biti mjesto traenog broja u polju ili informacija
da taj broj u polju ne postoji.
Rjeenje.
proi cijelo polje da bismo utvrdili da se broj nalazi na kraju ili da se uope
ne nalazi u tom polju. Pretpostavljamo da emo u prosjeku morati izvriti
ovakvog pretraivanja
sortiranom
polju
potencija broja
2.
n/2.
postupak nastavljamo na prvoj polovici polja, a ako je manji, na drugoj (elementi su sortirani uzlazno). Pretpostavljamo da je sloenost raspolavljanja
konstantna. Ovakvo raspolavljanje polja u kojem pretraujemo kljuna je
ideja binarnog pretraivanja i znaajno ubrzava postupak. U nastavku se bavimo samo polovicom poetnog polja na kojem ponavljamo postupak. Tako
prepolavljamo duljinu polja svakom novom iteracijom, sve dok ne pronaemo traeni broj ili ustanovimo da se on ne nalazi u polju. Dakle, u svakoj
iteraciji duljina niza u kojem pretraujemo skrauje se na sljedei nain
n/2
n/4
...
n/2k
5.2.
ALGORITMI
83
O(log2 n).
Slika
60
40
20
log2 n
0
0
50
100
150
200
84
POGLAVLJE 5.
SLOENOST ALGORITAMA
5.2.2 Sortiranje
Vidjeli smo kako nam sortiranje pomae u organizaciji podataka u svrhu pretraivanja. U nastavku analiziramo neke algoritme pomou kojih sortiramo.
Prvo dajemo primjer vrlo intuitivnog algoritma sortiranja.
1.
Programska
implementacija je jednostavna:
if (i != ind_min) {
temp = x[i];
x[i] = x[ind_min];
x[ind_min] = temp;
}
5.2.
ALGORITMI
Rjeenje.
85
brojei naredbe.
for
n(n 1)
n2
2
2
je najvie
linearno
n/2 usporedbi,
n2 .
Vidjet emo da je u stvarnosti sloenost mnogo blia donjoj granici. Postoji nekoliko algoritama koji sortiraju niz od
za neku pozitivnu konstantu
elemenata u
cn log n
koraka,
c.
Mergesort
Algoritam koji je ime dobio prema engleskoj rijei merge, to znai spojiti,
odnosno stopiti, koristi poznatu paradigmu podijeli pa vladaj. Algoritam
niz od
spaja
sortirane nizove.
86
POGLAVLJE 5.
SLOENOST ALGORITAMA
postaviti oito pitanje o tome kako algoritam sortira dobivene nizove. Odgovor je jednostavan - ponovnim koritenjem algoritma na svakom od dva niza,
dakle ponovnom podijelom na dva niza, sortiranjem i spajanjem.
Drugim
m+k
a1
b1 .
Ako je
a1 < b1 ,
tada je
a1
najmanji od
a1 > b 1 ,
tada je
b1
najmanji od svih
Takoer,
ako niz ima samo dva elementa i nije sortiran, ne soritiramo ga korakom u
rekurziji ve zamjenom vrijednosti elemenata.
4 2 1 5 6 3.
1. Poni s nizom
4 2 1 5 6 3.
4 2 1 i 5 6 3.
4 2 i 1; 5 6 i 3.
2 4 i 1; 5 6 i 3.
24i1
1 2 4; 5 6 i 3
124i356
1 2 3 4 5 6.
3 5 6.
5. Kraj.
Prilikom analize algoritma Mergesort koristit emo znanje o rekurzijama
steenim u prethodnim poglavljima. Takoer, malo emo se odmaknuti od
asimptotske analize i pokuati pronai toan broj koraka, odnosno usporedbi
koje algoritam izvodi, iz ega e lako slijediti asimptotska ocjena. Oznaimo
s
M (n)
n = 2k ,
na ulazu. Tada je
M (1) = 0 i M (2) = 1.
M (2k) = 2M (k) + 2k 1,
a ako je
Tvrdimo
tada je
n = 2k + 1,
(5.1)
tada je
(5.2)
5.2.
ALGORITMI
87
Na desnoj strani
n1
n1
elemenata, to nalae da
bxc
dxe
x i najmanje cijelo
broj vei od x.
(5.3)
pri-
M (n)
Tada je
M (2k1 )
ak1 =
M (b2k /2c)
dimo u
ak = 2ak1 + 2k 1
za
k 1
a 0 = 0.
(5.4)
k
k0 ak x
a(x) =
(5.4) s
xk
i sumiranjem po
ak xk = 2
k1
Koristei
a0 = 0
k1
X
ak .
ak .
dobivamo
ak1 xk +
k1
(2x)k
k1
xk .
k1
dobivamo
ak xk = 2x
ak xk +
k0
k0
| {z }
| {z }
a(x)
(2x)k
k1
xk ,
k1
a(x)
iz ega slijedi
a(x) = 2xa(x) +
2x
x
.
1 2x 1 x
2x
x
x
=
2
(1 2x)
(1 x)(1 2x)
(1 x)(1 2x)2
2
1
1
=
+
2
(1 2x)
1 x 1 2x
a(x) =
Neka je
88
POGLAVLJE 5.
SLOENOST ALGORITAMA
Zapiimo svaki od pribrojnika pomou reda. Prema generaliziranom binomnom teoremu imamo
X 2
1
2
(2x)k
= (1 2x) =
(1 2x)2
k
k0
X
k 2+k1
(2x)k
=
(1)
k
k0
X
X k + 1
(k + 1)2k xk
2k xk =
=
k
k0
k0
X
1
=
xk
1x
k0
X
2
=2
2k xk .
1 2x
an = (k + 1)2k + 1 2 2k ,
n = 2k imamo
Prema tome
znai da za
k0
odnosno
ak = (k 1)2k + 1.
To
2,
n ne postane najblia vea po2, odnosno n1 = 2dlog2 ne . Tada moemo sortirati novi niz u
n1 (log2 n1 1) + 1 koraka. Dobiveni niz sadravat e poetnih n elemenata sortiranih na poetku niza. Konano, primijetimo da je n1 < 2n i
log2 n1 < log2 n + 1, pa prema tome algoritam nikad nee obaviti vie od
1 + 2n log2 n usporedbi.
Oito je da je asimptotska sloenost algoritma Mergesort jednaka O(n log2 n).
od svih ostalih postojeih elemenata dok
tencija broja
Zakljuujemo da
e algoritmi manje sloenosti u praksi imati krae vrijeme izvravanja. Spomenimo da na slian nain moemo promatrati i prostornu sloenost kojom
odreujemo koliko je prostora (npr. na disku) potrebno za izvravanje algoritma, to moe biti vrlo korisno. Drugi algoritmi i detaljnija analiza njihove
sloenosti dani su u [7] i [12].
ALGORITMI
89
n2
5.2.
3,000
2,000
g2
n lo
1,000
0
0
50
100
150
200
n2 i n log2 n.
90
POGLAVLJE 5.
SLOENOST ALGORITAMA
Poglavlje 6
Kriptograja
Kroz itavu povijest ljudi su eljeli meusobno djelotvorno komunicirati na
nain da poslanu poruku moe proitati samo ona osoba kojoj je poruka
namijenjena. Dravnici, generali, trgovci i ostali koji su svoje tajne eljeli
podijeliti s nekim drugim, bili su svjesni da njihove poruke putuju esto nesigurnim kanalima te da mogu biti uhvaene i proitane, a njihove namjere
otkrivene. Upravo ta potreba za onemoguavanjem protivnika da sazna znaenje poruka potakla je razvoj znanstvene discipline koju nazivamo kriptograja.
6.1 Uvod
U ovom odjeljku dajemo uvod u kriptograju kroz temeljne pojmove, denicije i koncepte vane za razumijevanje te primjere iz klasine, odnosno
predraunalne kriptograje. Vie detalja moe se pronai primjerice u [10].
goritam ili ifru i unaprijed odreeni klju. Taj postupak nazivamo ifriranje
ili enkripcija, a rezultat toga je ifrat ili kriptogram - izmijenjena poruka za
koju poiljatelj i primatelj (nazovimo te dvije osobe Alisa i Bob), vjeruju da
nee moi biti proitana od strane tree osobe (nazovimo je Eva). Primljena
poruka se deifrira koritenjem pripadnog algoritma i odgovarajueg kljua.
Primjer 6.1. Poznati rimski car i vojskovoa Gaj Julije Cezar sluio se jednostavnom, ali u to doba uinkovitom kriptografskom metodom. Jednostavno
91
92
POGLAVLJE 6.
KRIPTOGRAFIJA
bi svako slovo abecede zamijenio onim koje dolazi tri slova poslije, uz pretpostavku da se abeceda cikliki nastavlja. Tako bi, primjerice, slovo A postalo
D, B postalo E, C postalo F i tako dalje. Na taj nain, Cezarova poznata
izreka ALEA IACTA EST postaje DOHD LDFWD HVW. Ovakva metoda
jednostavno se provodi uz pregledan zapis:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Takoer, primatelj poruke moe je ponovo proitati tako da ponovi postupak, no sada u suprotnome smjeru. Pokuajte otkriti sadraj sljedee kratke
poruke:
KDQLEDO DQWH SRUWDV
(M, C, K, E, D)
gdje je
funkcija ifriranja,
funkcija deifriranja,
E : M K C ,
D : C K M,
i vrijedi
m M, k K, D(E(m, k), k) = m.
Kriptosustave dijelimo na tri naina, i to prema:
1.
Broju kljueva
Ako se isti klju koristi za ifriranje i deifriranje, tada govorimo o
6.1.
UVOD
3.
93
Primjer 6.2. Dekriptirajmo ifrat OFMCZGYTV dobiven Cezarovom ifrom s nepoznatim pomakom abecede.
Kriptoanaliza Cezarove ifre izuzetno je jednostavna, budui da je broj
naina na koji moemo pomaknuti abecedu vrlo mali.
klju kod Cezarove ifre prirodni broj
mijetimo da
Moemo rei da je
engleske abecede
26.
.
.
.
E
k = 11,
budui da je svako
u abecedi. Cezarova ifra je primjer kako mali broj kljueva dovodi do izrazite
nesigurnosti.
Meutim, ne moramo uvijek imati isti poredak slova u abecedi kojom
ifriramo. Dapae, kod supstitucijskih ifri svako slovo abecede moemo zamijeniti bilo kojim drugim, odnosno umjesto da abecedu pomiemo, moemo
uzeti bilo koju njenu permutaciju i smatrati je kljuem supstitucijske ifre.
Budui da je broj takvih kljueva
26! 288 ,
vrlo otpornom na napad ivom silom, odnosno protivnik treba uloiti mnogo
truda da isproba sve mogue kljueve. Ovakavo poboljanje Cezarove jednostavne ideje uinilo je supstitucijsku ifru prikladnom za koritenje kroz
povijest sve do pronalaska napada koji koristi svojstva jezika na kojem je napisan otvoreni tekst ime je zauvijek zavrena uporaba takve ifre. Navedimo
jo nekoliko pojmova vezanih uz kriptoanalizu.
94
POGLAVLJE 6.
KRIPTOGRAFIJA
koristi. Dakle, sigurnost ne poiva na tajnosti naina ifriranja, ve u potpunosti ovisi o kljuu. Kroz povijest kriptoanalitiari slijede nova dostignua
u kriptograji i smiljaju nove metode kojim mogu napadati kriptosustave.
Zbog toga je vano poznavati svojstva kriptosustava koje koristimo te mogunosti koje ima protivnik koji pokuava otkriti klju ili sadraj ifrata. Sigurnost ovisi o svojstvima algoritma za ifriranje te ponekad i o svojstvima
jezika na kojem je pisan otvoreni tekst. Iako ne spada strogo u kriptoanalizu nego se najee promatra zasebno, jedan od naina otkrivanja kljua je
ve spomenuti napad ivom silom, koji postaje izuzetno nepraktian ako je
prostor kljueva velik. Ipak, i danas se koristi, primjerice za otkrivanje kratkih korisnikih zaporki na internetskim raunima.
kriptografskih napada:
Samo ifrat
Kriptoanalitiar posjeduje samo jedan ili vie ifrata dobivenih na isti
nain. Zbog male koliine dostupnih informacija, od ovog napada su
sigurni mnogi kriptosustavi.
Odabrani ifrat
Kriptoanalitiar moe odabrati ifrat koji e biti deifriran. Ovaj napad
esto se koristi kod kriptosustava s javnim kljuem, a zadatak je otkriti
tajni klju.
Kada govorimo o sigurnosti kriptosustava vano je poznavati teorijske
koncepte sigurnosti.
1 ako
6.1.
UVOD
95
Zadatak kriptoanaliti-
ara je pobrojati pojavljivanje svakog slova u ifratu, te na osnovu poznavanja statistikih svojstva jezika na kojem je pisan otvoreni tekst otkriti njegov
sadraj. Pretpostavljamo da frekvencija slova u ifratu odgovara frekvenciji
slova u jeziku. Na slici (6.1) prikazujemo distribuciju slova engleske abecede
u hrvatskom jeziku kako je navedeno u [10].
120
115
98
100
90
84
frekvencija (h)
80
66
60
40
20
51
37
28
3633
31
5456
48
43
35
29
23
16
15
3
0
A B C D E F G H I J K L MN O P R S T U V Z
Slika 6.1: Frenkvencija slova engleske abecede u hrvatskom jeziku.
96
POGLAVLJE 6.
KRIPTOGRAFIJA
Najfrekventniji bigrami:
JE (2.7%), NA (1.5%), RA (1.5%), ST, AN, NI, KO, OS, TI, IJ, NO, EN,
PR (1.0 %).
Najfrekventniji trigrami:
IJE (0.6%), STA, OST, JED, KOJ, OJE, JEN (s frekvencijama izmeu 0.3%
i 0.4%).
Pobrojimo slova u danom ifratu.
O, pa je logino pretpostaviti da je
E(A) = N , E(I) = Z
E(O) = O.
E(J) = K ,
nom rijei. Klju predstavljaju kljuna rije i broj (u ovom sluaju 9) koji
oznaava poziciju na kojoj poinjemo pisati kljunu rije bez ponavljanja
slova.
6.1.
UVOD
c = mk
97
dobivamo ifrat
c C.
bitova. Formalno,
E(m, k) = m k
D(c, k) = c k.
Primjer 6.4. Koristei nain rada jednokratne biljenice, ifrirajmo otvoreni
tekst
m = 11010111
pomou kljua
k = 01101110.
Ovaj primjer vrlo lako rjeavamo raunajui rezultat operacije ekskluzivno ili - potpisujui otvoreni tekst i ifrat te primjenjujui operaciju po
bitovima.
c = 10111001.
c = mk
m = (m
imamo m =
m = c k.
Uvrtavanjem dobivamo
za operaciju
(M, C, K, E, D)
m0 , m1 M, |m0 | = |m1 |, c C,
P [E(m0 , k) = c] = P [E(m1 , k) = c], k K.
Za dani klju, bilo koji otvoreni tekst ima jednaku vjerojatnost da je ifriran
tim kljuem i proizveo ifrat koji je u posjedu kriptoanalitiara. To znai da
on ne moe odrediti je li otvoreni tekst
teksta iz
C,
m0
ili
m1 ,
kK
cC
m M koritenjem kljua
E(m, k) = c podijeljenim s
P [E(m, k) = c] =
broj
kK
takvih da je
E(m, k) = c
|K|
, m M, c C.
Za dane
98
POGLAVLJE 6.
KRIPTOGRAFIJA
c1
c2 ,
ili te izraunao
c1 c2 = m1 k m2 k
= m1 k k m2
= m1 0 m2
= m1 m2 ,
ime dobiva dvije poruke nad kojima je primjenjena operacija ekskluzivno
ili .
64
168
128, 192
ili
256
128
bitova.
R(, ki ).
6.2.
BLOKOVNI KRIPTOSUSTAVI
99
10
38
rundi.
mutacije, to omoguuje bolje razumijevanje i analizu. Uvodimo ih u nastavku, kao i pseudosluajne funkcije.
(K, X, Y ).
Funkciju
F : X K Y
nazivamo pseudosluajna funkcija ako postoji uinkoviti
2 algoritam
koji je izraunava.
(X, K).
Funkciju
E : X K X
nazivamo pseudosluajna permutacija ako za sve
kKixX
k K,
funkcija
E(, k)
vrijedi
E(x, k).
je bijekcija.
D(x, k) =
E 1 (x, k).
Kod pseudosluajnih permutacija skup
Iako je skup
100
POGLAVLJE 6.
nizova duljine
KRIPTOGRAFIJA
invertibilna,
Kao to i oekujemo kod blokovnih kriptosustava, pseudosluajna permutacija preslikava binarni niz u drugi binarni niz iste duljine.
Ponekad emo blokovne kriptosustave nazivati i pseudosluajnim permutacijama. Istraivanjem ovakve apstraktne konstrukcije istrait emo i svojstva
blokovnih kriptosustava. U nastavku komentiramo sigurnosne osobine pseudosluajnih permutacija.
Neka je
F : KX Y
X uY
te neka je
SF = {F (, k), k K}
za zadanu
k.
Prema tome,
SF
im za-
Y.
k,
|SAES | = 2128 .
K.
Oito je
SF
Funs[X, Y ].
Nadalje, vidimo da je
|Funs[X, Y ]| = |Y ||X| .
k K,
|SF | = |K|,
bu-
to je mnogo manje od
kK
i neku funkciju
F (x, k)
ili
F.
f Funs[X, Y ],
X,
on nee moi
sljedeem primjeru.
F : K X {0, 1}128
(
{0}128 ,
G(x, k) :=
F (x, k),
za
x=0
inae
takoer sigurna.
Vrlo je lako razlikovati funkciju
6.2.
BLOKOVNI KRIPTOSUSTAVI
k,
101
1/2128
da
tN
zadan. Tada je
G : K {0, 1}nt ,
zadana s
Sigurnost ovako zadanog generatora proizlazi iz sigurnosti dane pseudosluajne funkcije. Kada bi generator bio zadan s
generatora
G0
G,
ne mo-
Vrijednosti
G ne moemo
G siguran.
0
razlikovati od nizova dobivenih s G , smatramo da je generator
3 je pokrenuo natjeaj
National Bureau of Standards, danas NIST, National Institute of Standards and Tec-
hnology
102
POGLAVLJE 6.
NSA, 1976.
KRIPTOGRAFIJA
Feistelove mree
Ideja u pozadini DES-a je Feistelova mrea, u kojoj gradimo blokovni kriptosustav pomou proizvoljih funkcija
funkciju
fi invertibilne.
To pokazujemo konstrukcijom
Li+1 .
Oito
Ri
nepromijenjeno preslikala u
bismo dobili
Li ,
Li+1 ,
x,
pa moemo zakljuiti da je
Ri =Li+1 .
Da
Ri+1
fi+1 (Ri ).
Iz
Ri =Li+1
i svojstva
imamo
xx = 0
za
6.2.
BLOKOVNI KRIPTOSUSTAVI
103
fi (x) = F (x, ki ).
Prisjetimo se, DES radi s ulaznim nizovima duljine
u nizove duljine
64
64
bita, i preslikava ih
104
POGLAVLJE 6.
KRIPTOGRAFIJA
F (x, ki )
1. Ulazni argument
duljine
funkcijom proirenja
2. Izraunamo
32
48
ksnom
E.
3. Svaki od nizova
Ai
S1 , . . . , S 8 .
S-
bitova u
Si (Ai )
F (x, ki ).
112
bitova. Ipak, kako bi klju stao na tadanje ipove, ali vjerojatno i pod
56
6.2.
BLOKOVNI KRIPTOSUSTAVI
105
Iako se zbog
256
DES challenge .
napade:
1998.
EFF
Oito je nakon ovakvih napada bilo potrebno zamijeniti DES nekom sigurnijom ifrom. Jedna od najpopularnijih zamjena bio je trostruki DES - 3DES.
Kao to i samo ime sugerira, 3DES sastoji se od tri uzastopne primjene DESa, a svaka omoguuje razliiti klju (imamo jedan, ali tri puta dulji klju),
to je povealo sigurnost, budui da je duljina kljua
2168 .
Naalost, ovaj
3E : M K 3 M
s
k1
k2
ili
k2
k3
y = E(E(x, k1 ), k2 )
vrijedilo bi
D(y, k2 ) = E(x, k1 ).
Takav nain ifriranja podloan je napadu susret u sredini (eng. meet in
dan je ifrat i prva tri bajta otvorenog teksta, a zadatak je otkriti klju i deifriranjem
106
POGLAVLJE 6.
k1
(x, y).
Tada ifriramo
i spremimo ih u tablicu.
KRIPTOGRAFIJA
256
sa svih
Zatim deifriramo
mogu-
koristei
k2
2112 ,
in).
263
k1
k2 .
Spomenimo
na 3DES zahtijeva
2118
Isti napad
290
Zbog
128
15
bitova. Tijekom
RC6, RIJNDAEL, SERPENT i TWOFISH. Konano, 2. kolovoza 2000. godine objavljeno je da je kao AES izabran RIJNDAEL, kriptosustav koji su
razvili belgijskih kriptogra Joan Daemen i Vincent Rijmen. Proces izbora
doivio je brojne pohvale zbog transparentnosti i otvorenosti prilikom diskusije i odabira. U nastavku dajemo opis rada kriptosustava RIJNDAEL
(AES).
Opis algoritma
Kriptosustav AES radi s blokovima duljine
Oni se prikazuju pomou
44
128
bitova, odnosno
16
bajta.
128
koristi 10 rundi. Za razliku od DES-a, AES nije graen kao Feistelova mrea,
ve kao supstitucijsko-permutacijska mrea. U svakoj rundi, mijenjaju se svi
bitovi u bloku, za razliku od Feistelove mree u kojoj se mijenja samo pola
bitova.
GF (28 ), odnosno
7
6
polinoma oblika a7 x + a6 x + . . . + a1 x + a0 , gdje su ai {0, 1}. Operacije zbrajanja i mnoenja denirane su kao u prstenu Z2 [X], modulo ksni
8
4
3
ireducibilni polinom p(x) = x + x + x + x + 1. Takve polinome moemo
Specinost kod AES-a je koritenje konanog polja
6.2.
BLOKOVNI KRIPTOSUSTAVI
107
00110011.
x5 + x4 + x + 1
odgovarao bi
primjeru.
x6 + x4 + x2 + x + 1
x7 + x + 1
iz
8
polja GF (2 ).
Prvo polinome pomnoimo u
Z2 [X],
p(x).
Time dobivamo
x7 + x6 + 1.
Sada dajemo opis samog procesa ifriranja, kao to smo ga dali i kod
DES-a. On se sastoji od 4 operacije u svakoj rundi,
SubBytes
Ovo je jedini nelinearni dio algoritma. Koristi se S-kutija pomou koje
se bajtovi u bloku zamjenjuju. Neka je
na mjestu
Tada se bajt
stupac s preostala etiri bita. Kod AES-a vrlo je jasno navedeno kako
je generirana S-kutija te su time izbjegnute kontroverze poput onih
koje su se pojavile kod DES-a.
ShiftRows
U ovom koraku cikliki se pomiu elementi
za
mjesta u lijevo,
i-tog
i = 0, 1, 2, 3.
MixColumns
U ovom koraku dogaa se linearna transformacija u kojoj se svaki
stupac AES bloka mnoi se ksnim polinomom, a time se dobiva novi
polinom koji onda zamjenjuje stari. Ovaj korak se ne odvija u zadnjoj
rundi.
AddRoundKey
108
POGLAVLJE 6.
KRIPTOGRAFIJA
700MB/s
po aktivnoj dretvi.
Ovdje
ka-
f 1
teko.
6.3.
kljuem.
109
Naime,
smatra se da je danas praktiki nemogue rastaviti na faktore paljivo odabran prirodan broj s vie od 300 znamenaka. Opiimo sada RSA kriptosustav.
Neka je
n = pq ,
(n)
prosti s
n.
M = C = Zn .
je ed 1 (mod (n)). Ovdje je
u nizu 1, 2, . . . , n koji su relativno
p i q prosti
e i d takve da
gdje su
brojevi i neka je
x(n) 1
vrijedi
(mod n).
(mod n).
Budui da je
(mod n).
jevima. Uzmimo
p=3
110
POGLAVLJE 6.
y = 8.
KRIPTOGRAFIJA
(mod 33),
x = 17.
Godine 1967.
i njenog generatora
(zbog jednostavnosti
a
poalje Bobu broj g .
2. Bob na sluajan nain odabere prirodni broj
b
poalje Alisi broj g .
3. Alisa izrauna
4. Bob izrauna
(g b )a = g ab .
(g a )b = g ab .
k = g ab .
Die-Hellmanovog algoritma.
p = 23
s.
6.4.
PRIMJENA KRIPTOGRAFIJE
111
g b = 57 17 (mod 23)
3. Alisa izrauna
4. Bob izrauna
g a = 56 8 (mod 23)
i poalje Bobu.
i poalje Alisi.
(g a )b = 87 12 (mod 23).
a
komunikaciju, te ona zna: g , g ,
s = 12.
ili
b,
jer
g, ga
gb
mogla doi do
g ab ,
Iako se poznata
6.4.1 Cryptocat
Cryptocat je internetska aplikacija koja prua mogunost
ifriranog chat-a. Svrha aplikacije je pruiti jednostavanu
i sigurnu komunikaciju putem Interneta. Samo izvravanje
aplikacije odvija se u pregledniku, te se komunikacija odvija
izmeu dvoje ili vie osoba koje koriste aplikaciju. Komunikacija se zasniva na O-the-Record Messaging protokolu
koji posjeduje sljedea svojstva:
ifriranje
Poruke koje se razmjenjuju izmeu sudionika u razgovoru su ifrirane.
ak niti sam sustav ne moe proitati poslane poruke.
112
POGLAVLJE 6.
KRIPTOGRAFIJA
Autentikacija
Korisnik je siguran da je osoba od koje prima poruke upravo ona za
koju se predstavlja.
Mogunost poricanja
Poslane poruke ne sadre digitalni potpis koji moe provjeriti trea
strana. Mogue je kasnije krivitvoriti poruke na nain da se ini kao
da ih je poslao netko od korisnika. Ipak, tijekom razgovora korisnici
su sigurni da su poruke koje primaju autentine i nepromijenjene.
https://crypto.cat/.
6.4.2 Tor
Tor je mrea virtualnih internetskih tunela koja omoguuje korisnicima zatitu njihove privatnosti i sigurnosti na
Internetu. Tor nudi temelj za razvoj aplikacija koje omoguavaju korisnicima da dijele informacije putem javnih
mrea bez ugroavanja svoje privatnosti.
Administratori
Tor mree tvrde kako je blokada tog sustava gotovo nemogua jer im se trenutni sustav blokira, iz sigurnosnih
razloga, internetski promet se prebacuje na druge vorove i tako cijeli sustav
nastavlja neometano raditi. Napominje da je ak i njihovim najboljim strunjacima teko otkriti tko se nalazi iza pojedinog rauna te koje informacije
prolaze samim sustavom.
dodatak da se ruta mijenja s odreenom koliinom podataka, odnosno nakon odreenog vremenskog perioda kako bi se dodatno izbjegla mogunost
da se statistikom analizom prometa pokua odrediti odakle paketi dolaze i
kuda odlaze. Danas Tor esto koriste brojni novinari, aktivisti, disidenti, ali
i drugi ljudi kojima je stalo do privatnosti dok koriste Internet.
Vie o samom projektu moe se nai na slubenoj stranici,
https://www.torproject.org/
6.4.3 TrueCrypt
6.4.
PRIMJENA KRIPTOGRAFIJE
113
TrueCrypt je program namijenjen enkripciji podataka. Koristi suvremene kriptosustave kao to su AES (Rijndael), ali
i dva nalista u procesu izbora za AES, Serpent i Twosh.
Program je jednostavan za koritenje, procedura instalacije
je klasina, a moe se koristiti i bez instalacije, dovoljno je
samo raspakirati potrebne podatke na neki prijenosni medij i moe se koristiti s tog medija na drugim raunalima.
Program stvara ifrirane spremnike koje je prije koritenja potrebno montirati. Tada se oni prikazuju kao raunalne particije, te u njih moemo kopirati
podatke jednako brzo kao i u direktorije na raunalu koji nisu ifrirani.
Program se moe nai i o njemu vie proitati na
https://http://www.truecrypt.org/
Kriptograja je danas vanija nego ikad. Informacije postaju sve vrijednije, a putuju uglavnom nepoznatim komunikacijskim kanalima koji se danas
lako prislukuju, poput Interneta. Iako se na takvo neto ve godinama sumnjalo, mnogo informacija o globalnom prislukivanju otkrio je u prvoj polovici
2013. ameriki zvida Edward Snowden, pokreui time NSA leaks. Jasno
je da osim tajnih slubi i ostale organizacije pokuavaju doi do razliitih
informacija i otkriti uzorke u ponaanju ljudi. Sve vee graansko zanimanje
za kriptograju sukobljava se, meutim, s potrebama policije i nacionalne
sigurnosti. Tajne slube slue se prislukivanjem u otkrivanju kriminala, ali
razvoj iznimno snanih kriptosustava, servisa za anonimizaciju i ostalih naina za sigurno komuniciranje oteava im posao. Zato snage reda lobiraju
za ogranienje kriptograje dok borci za ljudska prava trae njenu sve veu i
slobodniju primjenu. O tome koja strana e naposlijetku prevagnuti, odluit
e hoe li nam biti vanija privatnost ili ekasna policijska sluba. U svemu
naravno, postoje kompromisi.
Ako elimo zatiti svoju privatnost, poslovanje i duge aktivnosti na Internetu, kriptograja je za to neophodna. Sreom, ona postaje i sve dostupnija,
a zatita koju prua sve bolja. Jedino je pitanje hoemo li svojim ponaanjem
odgovorno doprinijeti vlastitoj sigurnosti, ali i razvoju sigurnosti openito.
114
POGLAVLJE 6.
KRIPTOGRAFIJA
Bibliograja
[1] Donald Knuth, Concrete Mathematics - A foundation for Computer Sci-
meration and Graphy Theory. World Scientic Publ. Co. Pte. Ltd., 2nd
edition, 2006.
[3] Kenneth H. Rosen, Discrete Mathematics And Its Applications. McGrawHill, 7th edition, 2012.
[4] Herbert B. Enderton, Elements of Set Theory. Academic Press, 2009
[5] Mladen Vukovi, Teorija skupova. Prirodoslovno-matematiki fakultet,
2013.
[6] Kenneth H. Rosen, John G. Michaels, Jonathan L. Gross, Douglas R.
Shier Handbook of Discrete and Combinatorial Mathematics. CRC Press,
2000.
[7] Mladen Vukovi, Sloenost algoritama. Prirodoslovno-matematiki fakultet, 2011.
[8] Wenbo Mao, Modern cryptography:
116
BIBLIOGRAFIJA