You are on page 1of 64

Princip rekurzije i matematicka indukcija

N. Ikodinovic
22.02.2013.
(Teorija algoritama) 22.02.2013. 1 / 60
Pregled predavanja
1
O algoritmima
2
Neodlucivost u matematici
3
O predmetu Teorija algoritama
4
Euklidov algoritam
5
Peanova aritmetika
6
Indukcija i rekurzija u sirem kontekstu
(Teorija algoritama) 22.02.2013. 2 / 60
O algoritmima
Pregled predavanja
1
O algoritmima
2
Neodlucivost u matematici
3
O predmetu Teorija algoritama
4
Euklidov algoritam
5
Peanova aritmetika
6
Indukcija i rekurzija u sirem kontekstu
(Teorija algoritama) 22.02.2013. 3 / 60
O algoritmima
O pojmu algoritma
Primeri algoritama su poznati prakticno u svim oblastima matematike
pri cemu neki poticu jos iz antickog doba.
Rec algoritam dolazi od latinizovanog imena arapskog matematicara
Abu Dzafar Muhamed Ibn Musa Al Horezmija koji je u IX veku dao
veliki doprinos matematici svojim delom Hisab al dzabr val mukabala.
[Rec algebra dolazi od al dzabr.]
Pocetkom XII veka jedna Al Horizmijeva knjiga je prevedena na
latinski pod naslovom Algoritmi de numero indorum [prevod: Al
Horezmi o indiskoj vestini racunanja]. Tada je u Evropu stigao
savremeni pozicioni sistem zapisivanja brojeva (indijsko-arapske cifre)
koji je potpuno potisnuo grcko-rimski aditivni sistem.
(Teorija algoritama) 22.02.2013. 4 / 60
O algoritmima
Primeri algoritama
Nadji NZD dva data cela broja. [ Smatra se da je Euklidov
algoritam najstariji netrivijalni algoritam koji je ostao nepromenjen
do danasnjih dana.]
Resi datu linearnu Diofantovu jednacinu. [Nadji sva celobrojna resenja
jednacine ax +by = c (a, b, c Z).]
Odredi pribliznu vrednost kvadratnog (kubnog) korena datog
decimalnog broja na zadati broj decimala.
Resi datu linearnu (kvadratnu) jednacinu.
Nadji izvod datog polinoma.
Ispitaj da li je data iskazna formula tautologija.
Resi Rubikovu kocku.
(Teorija algoritama) 22.02.2013. 5 / 60
O algoritmima
Resi datu diofantovu jednacinu.
10. Hilbertov problem
1900. godina Da li postoji algoritam koji za svaki polinom
f (X
1
, . . . , X
n
) Z[X
1
, . . . , X
n
]
utvrdjuje da li jednacina
() f (X
1
, . . . , X
n
) = 0
ima resenja u Z
n
?
Resenje jednacine () je n-torka celih brojeva (x
1
, . . . , x
n
) Z
n
takva da je
f (x
1
, . . . , x
n
) = 0.
Problem je resen 1970. godine i odgovor je negativan: ne postoji takav
algoritam.
(Teorija algoritama) 22.02.2013. 6 / 60
O algoritmima

Sta je algoritam?
Pojam algoritma ili efektivne procedure vekovima postoji u
matematici bez precizne denicije. Neformalno, pod algoritmom se
podrazumeva mehanicki proces koji se korak po korak izvodi nad
konacnim skupom podataka, pri cemu je svaki korak nedvosmisleno
denisan, izvodi se u konacnom vremenu i u ogranicenom delu
prostora.
Iako navedena recenica dosta dobro odgovara svakodnevnoj upotrebi
ovog pojma, ona se ne moze uzeti za (strogu) matematicku deniciju!
Navedena denicija nemocna je pred problemima tipa: pokazati da
ne postoji algoritam za resavanje nekog problema.
(Teorija algoritama) 22.02.2013. 7 / 60
Neodlucivost u matematici
Pregled predavanja
1
O algoritmima
2
Neodlucivost u matematici
3
O predmetu Teorija algoritama
4
Euklidov algoritam
5
Peanova aritmetika
6
Indukcija i rekurzija u sirem kontekstu
(Teorija algoritama) 22.02.2013. 8 / 60
Neodlucivost u matematici
Matematicka logika
Odlucivost iskazne logike
Problem valjanosti (zadovoljivosti) u iskaznoj logici jeste odluciv problem.
Neodlucivost predikatske logike
Problem valjanosti (zadovoljivosti) u predikatskoj logici nije odluciv
problem.
(Teorija algoritama) 22.02.2013. 9 / 60
Neodlucivost u matematici
Postov problem
Pretpostavimo da je dato konacno mnogo (dopustivih) domina pri cemu su
na svakoj domini upisane dve reci nekog zadatog alfabeta. Na primer,
__
b
ca
_
,
_
a
ab
_
,
_
ca
a
_
,
_
abc
c
__
Zadatak je napraviti niz dopustivih domina (ponavljanja su dozvoljena)
tako da je rec dobijena nadovezivanjem reci zapisanih na gornjim stranama
domina jednaka reci koja se dobija nadovezivanjem reci sa donjih strana
domina.
Na primer, za zadati skup dopustivih domina moguce je napraviti takav niz:
_
a
ab
__
b
ca
__
ca
a
__
a
ab
__
abc
c
_
(Teorija algoritama) 22.02.2013. 10 / 60
Neodlucivost u matematici
Postov problem
Naravno, za neke skupove dopustivih domina ovakav niz nije moguce
pronaci.
Na primer, ako je skup dopustivih domina
__
abc
ab
_
,
_
ca
a
_
,
_
acc
ba
__
nije moguce forimirati odgovarajuci niz.
Da li postoji algoritam kojim se utvrdjuje moze formirati odgovarajuci niz
ili ne za bilo koji dati skup dopustivih domina?
Odgovor na ovo pitanje je takodje negativan: trazeni algoritam ne postoji.
(Teorija algoritama) 22.02.2013. 11 / 60
Neodlucivost u matematici
Problem reci
Reci zapisane engleskom abecedom mozemo transforimsati pomocu
sledecih
pravila
a ar,
ma um,
nono no,
ti te,
tima etno,
teka nost,
tema t.
Primer izvodjenja
matematika umtematika
umtimatika
umetnoteka
umetnonost
umetnost.
(Teorija algoritama) 22.02.2013. 12 / 60
Neodlucivost u matematici
Problem reci
Reci zapisane engleskom abecedom mozemo transforimsati pomocu
sledecih
pravila
a ar,
ma um,
nono no,
ti te,
tima etno,
teka nost,
tema t.
Zadatak 1.
Da li je stiknonostekno?
Da: stiknonosteknonostikno.
Zadatak 2.
Da li je matematikaart?
Ne: ???
(Teorija algoritama) 22.02.2013. 13 / 60
Neodlucivost u matematici
Opsti problem reci
Ne postoji opsti algoritam koji utvrdjuje da li su dve reci ekvivalentne ili
nisu za bilo koji zadati (konacan) alfabet i dati spisak pravila.
Neresiv problem
ah ha
oh ho
at ta
ot to
tai it
hoi ih
that ithe
R. Penrouz, Carev novi um O racunarima, umu i zakonima zike,
Informatika, Beograd, 2004.
(Teorija algoritama) 22.02.2013. 14 / 60
Neodlucivost u matematici
Poplocavanje ravni
Poznato je da se ravan moze poplocati, tj. pokriti bez preklapanja i
praznina, kvadratima, jednakostranicnim trouglovima i pravilnim
sestouglovima, a da se ne moze poplocati, na primer, pravilnim
petouglovima.
Mnogi drugi oblici mogu poplocati ravan, kao, na primer, svaki od
nepravilnih petouglova prikazanih na narednoj slici.
(Teorija algoritama) 22.02.2013. 15 / 60
Neodlucivost u matematici
Poplocavanje ravni
Razmatranje poplocavanja ravni prilicno se komplikuje povecavanjem broja
oblika.
(Teorija algoritama) 22.02.2013. 16 / 60
Neodlucivost u matematici
Poplocavanje ravni
Sva poplocavanja ravni prikazana na
prethodnim slikama su periodicna.
Grubo govoreci, to znaci da postoje bar
dva razlicita pravca u poplocanoj ravni i
na svakom od njih beskonacno mnogo
tacaka iz kojih mozemo posmatrati
poplocanu ravan a da ono sto vidimo
bude jedan te isti sablon, odnosno da
nam poplocana ravan izgleda potpuno
isto kada je posmatramo iz bilo koje od
pomenutih tacaka.
(Teorija algoritama) 22.02.2013. 17 / 60
Neodlucivost u matematici
Poplocavanje ravni
Matematickim jezikom, poplocavanje je
periodicno ako postoje dve nezavisne
translacije ravni koje uoceno
poplocavanje prevode u sebe. Za svako
periodicno poplocavanje ravni postoji
tzv. paralelogram perioda odredjen
vektorima translacija koje to
poplocavanje prevode u sebe.
(Teorija algoritama) 22.02.2013. 18 / 60
Neodlucivost u matematici
Poplocavanje ravni
Postoje plocice kojima se ravan moze poplocavati i periodicno i
neperiodicno.
(Teorija algoritama) 22.02.2013. 19 / 60
Neodlucivost u matematici
Poplocavanje ravni
Postoji li konacan skup dozvoljenih oblika koji se mogu redjati samo
neperiodicno? Postoji Robinsonov aperiodican skup plocica.
Postoji jos aperiodicnih skupova plocica: Penrouzove plocice zmaj i
strelica.
(Teorija algoritama) 22.02.2013. 20 / 60
Neodlucivost u matematici
Poplocavanje ravni
Kako i zasto su otkriveni aperiodicni skupovi plocica?
Hao Vang je 1961. godine formulisao je problem: Postoji li postupak za
resavanje problema poplocavanja, tj. postoji li neki algoritam kojim se
moze utvrditi da li dati skup mnogougaonih plocica moze poplocati ravan?
Dokazao je da ce ovakav algoritam postojati ako se dokaze da svaki skup
plocica koji poplocava ravan zaparavo je poplocava periodicno.
(U to vreme se verovalo da aperiodicni skupovi plocica ne postoje).
M. R. Robinson, Undecidability and nonperiodicity for tilings of the plane,
Invent. Math. 12, 1971.
(Teorija algoritama) 22.02.2013. 21 / 60
O predmetu Teorija algoritama
Pregled predavanja
1
O algoritmima
2
Neodlucivost u matematici
3
O predmetu Teorija algoritama
4
Euklidov algoritam
5
Peanova aritmetika
6
Indukcija i rekurzija u sirem kontekstu
(Teorija algoritama) 22.02.2013. 22 / 60
O predmetu Teorija algoritama
Predmet Teorija algoritama
1
Izracunljive funkcije
[Prirodni brojevi matematicka indukcija i teoreme rekurzije;
RAM-programi, . . . ]
2

Cercova teza
[Modeli izracunljivosti: gramatike; logicki model izracunljivosti
(logicko programiranje); -racun (funkcionalno programiranje), . . . ]
3
Univerzalni programi
[Aritmetizacija; univerzalna Tjuringova masina vs racunar, . . . ]
4
Odlucivost i neodlucivost
[Dijagonalizacija; problem zaustavljanja; Rajsova teorema; odlucivi i
neodlucivi problemi, . . . ]
5
Teorija slozenosti
[Prostorna i vremenska slozenost; Klase P i NP;
Problemi SAT, HC, . . . ]
(Teorija algoritama) 22.02.2013. 23 / 60
Euklidov algoritam
Pregled predavanja
1
O algoritmima
2
Neodlucivost u matematici
3
O predmetu Teorija algoritama
4
Euklidov algoritam
5
Peanova aritmetika
6
Indukcija i rekurzija u sirem kontekstu
(Teorija algoritama) 22.02.2013. 24 / 60
Euklidov algoritam
Euklidov algoritam
Euklidov algoritam je postupak za nalazenje najveceg zajednickog
delioca dva broja.
Primer 1.
NZD(942, 444) =?
942 = 2 444+54
NZD(942, 444) =NZD(444, 54)
444 = 8 54+12
NZD(444, 54) =NZD(54, 12)
54 = 4 12+6
NZD(54, 12) =NZD(12, 6)
12 = 2 6+0
NZD(12, 6) =NZD(6, 0) = 6
NZD(942, 444) = 6
(Teorija algoritama) 22.02.2013. 25 / 60
Euklidov algoritam
Euklidov algoritam
1
NZD(m, 0) = m, m 0
2
NZD(m, n) =NZD(n, m mod n), m 0, n > 0
[mmodn =ostatak pri deljenju m sa n]
Primer 1.
NZD(444, 942) =?
NZD(444, 942) =NZD(942, 444mod942) Pravilo 2.
=NZD(942, 444)
[jer je 444 = 0 942+444, pa je 444mod942 = 444]
=NZD(942, 444) =NZD(444, 942mod444) Pravilo 2.
=NZD(444, 54)
[jer je 942 = 2 444+54, pa je 942mod444 = 54]
=NZD(444, 54) =NZD(54, 444mod54) =NZD(54, 12) Pravilo 2.
=NZD(54, 12) =NZD(12, 54mod12) =NZD(12, 6) Pravilo 2.
=NZD(12, 6) =NZD(6, 12mod6) =NZD(6, 0) Pravilo 2.
=NZD(6, 0) = 6 Pravilo 1.
(Teorija algoritama) 22.02.2013. 26 / 60
Euklidov algoritam
Euklidov algoritam
1
NZD(m, 0) = m, m 0
2
NZD(m, n) =NZD(n, m mod n), m 0, n > 0
Jednakostima (1) i (2) potpuno je opisan postupak izracunavanja
najveceg zajednickog delioca dva broja.
Jednakostima (1) i (2) korektno je denisana funkcija
NZD: NNN
[N=0, 1, 2, . . . skup prirodnih brojeva]
E1 Podeli A sa B i zapamti
ostatak C.
E2 Ako je C = 0, zavrsi
postupak i stampaj B;
ako je C > 0, stavi da je
A := B i B := C i idi na E1.
(Teorija algoritama) 22.02.2013. 27 / 60
Euklidov algoritam
Euklidov algoritam
1
NZD(m, 0) = m, m 0
2
NZD(m, n) =NZD(n, m mod n), m 0, n > 0
Jednakostima (1) i (2) potpuno je opisan postupak izracunavanja
najveceg zajednickog delioca dva broja.
Jednakostima (1) i (2) korektno je denisana funkcija
NZD: NNN
[N=0, 1, 2, . . . skup prirodnih brojeva]
E1 Podeli A sa B i zapamti
ostatak C.
E2 Ako je C = 0, zavrsi
postupak i stampaj B;
ako je C > 0, stavi da je
A := B i B := C i idi na E1.
(Teorija algoritama) 22.02.2013. 27 / 60
Euklidov algoritam
Euklidov algoritam
1
NZD(m, 0) = m, m 0
2
NZD(m, n) =NZD(n, m mod n), m 0, n > 0
Jednakostima (1) i (2) potpuno je opisan postupak izracunavanja
najveceg zajednickog delioca dva broja.
Jednakostima (1) i (2) korektno je denisana funkcija
NZD: NNN
Denicije funkcija ovakvog tipa nazivaju se rekurzivnim (rekurentnim,
induktivnim) denicijama.
Rec rekurzija potice od latinske reci recurrere koja znaci vratiti se od
[recurrence = koji se vraca]
Dedekind je u svom radu iz 1888. godine. koristio termin denisan
indukcijom, dok je Hilbert [1904] upotrebio rec rekurrent(e), a kasnije
[1923] i rec Rekursion.
(Teorija algoritama) 22.02.2013. 28 / 60
Euklidov algoritam
Euklidov algoritam
1
NZD(m, 0) = m, m 0
2
NZD(m, n) =NZD(n, m mod n), m 0, n > 0
Jednakostima (1) i (2) potpuno je opisan postupak izracunavanja
najveceg zajednickog delioca dva broja.
Jednakostima (1) i (2) korektno je denisana funkcija
NZD: NNN
Denicije funkcija ovakvog tipa nazivaju se rekurzivnim (rekurentnim,
induktivnim) denicijama.
Rec rekurzija potice od latinske reci recurrere koja znaci vratiti se od
[recurrence = koji se vraca]
Dedekind je u svom radu iz 1888. godine. koristio termin denisan
indukcijom, dok je Hilbert [1904] upotrebio rec rekurrent(e), a kasnije
[1923] i rec Rekursion.
(Teorija algoritama) 22.02.2013. 28 / 60
Euklidov algoritam
Euklidov algoritam
1
NZD(m, 0) = m, m 0
2
NZD(m, n) =NZD(n, m mod n), m 0, n > 0
Jednakostima (1) i (2) potpuno je opisan postupak izracunavanja
najveceg zajednickog delioca dva broja.
Jednakostima (1) i (2) korektno je denisana funkcija
NZD: NNN
Denicije funkcija ovakvog tipa nazivaju se rekurzivnim (rekurentnim,
induktivnim) denicijama.
Rec rekurzija potice od latinske reci recurrere koja znaci vratiti se od
[recurrence = koji se vraca]
Dedekind je u svom radu iz 1888. godine. koristio termin denisan
indukcijom, dok je Hilbert [1904] upotrebio rec rekurrent(e), a kasnije
[1923] i rec Rekursion.
(Teorija algoritama) 22.02.2013. 28 / 60
Euklidov algoritam
Euklidov algoritam
1
NZD(m, 0) = m, m 0
2
NZD(m, n) =NZD(n, m mod n), m 0, n > 0
Jednakostima (1) i (2) potpuno je opisan postupak izracunavanja
najveceg zajednickog delioca dva broja.
Jednakostima (1) i (2) korektno je denisana funkcija
NZD: NNN
Denicije funkcija ovakvog tipa nazivaju se rekurzivnim (rekurentnim,
induktivnim) denicijama.
Rec rekurzija potice od latinske reci recurrere koja znaci vratiti se od
[recurrence = koji se vraca]
Dedekind je u svom radu iz 1888. godine. koristio termin denisan
indukcijom, dok je Hilbert [1904] upotrebio rec rekurrent(e), a kasnije
[1923] i rec Rekursion.
(Teorija algoritama) 22.02.2013. 28 / 60
Peanova aritmetika
Pregled predavanja
1
O algoritmima
2
Neodlucivost u matematici
3
O predmetu Teorija algoritama
4
Euklidov algoritam
5
Peanova aritmetika
6
Indukcija i rekurzija u sirem kontekstu
(Teorija algoritama) 22.02.2013. 29 / 60
Peanova aritmetika
Aritmetika
Zadatak sa kraja XIX veka. Srediti aritmetiku kao sto je
Euklid sredio geometriju.
Dedekind je 1888. godine objavio spisak aksioma aritmetike medju
kojima su posebno istaknuti:
matematicka indukcija i
induktivne (rekurzivne) denicije aritmetickih funkcija.
Peano je usvojio Dedekindove aksiome i formirao prvi formalni
aksiomatski sistem za aritmetiku. Peanove aksiome su objavljene
1889. godine.
(Teorija algoritama) 22.02.2013. 30 / 60
Peanova aritmetika
Peanova (a ne Dedekindova?!) aritmetika
(N, 0, s) struktura prirodnih brojeva
0 N, s : NN,
0, 1 =s(0), 2 =s(s(0)), 3 =s(s(s(0))), 4 =s(s(s(s(0)))), 5 =s(s(s(s(s(0))))). . .
Intuitivno, polazeci od elementa 0, funkcija s generise prirodne brojeve
P1 s(n) ,= 0, za svako n iz N
[0 nije sledbenik nijednog prirodnog broja; s nije na-funkcija]
P2 Ako je s(m) = s(n), onda je m = n, za sve m, n iz N
[s je 1-1-funkcija]
P3 Matematicka indukcija Ako je S N takav da je
BI 0 S,
IK iz n S, sledi da s(n) S, za svako n iz N,
onda je S =N
[N je najmanji (u smislu inkluzije) induktivni skup]
(Teorija algoritama) 22.02.2013. 31 / 60
Peanova aritmetika
Teoreme rekurzije
Najjednostavnija forma teoreme rekurzije
Za svaki skup X, svaki element x iz X i svaku funkciju g : X X,
postoji jedinstvena funkcija h : NX takva da je
(Rec)
_
h(0) = x,
h(s(n)) = g(h(n)).
(Teorija algoritama) 22.02.2013. 32 / 60
Peanova aritmetika
Nekoliko napomena
Napomena 1. Svaka funkcija h : NX naziva se i niz u skupu X. Tada
je uobicajeno da se umesto h(n) pise h
n
. Pri ovakvoj notaciji jednakosti
(Rec) postaju:
(Rec)
_
h
0
= x,
h
n+1
= g(h
n
).
Napomena 2. Pod nizovima skupa X cesto se podrazumevaju i funkcije sa
domenom N
+
=1, 2, . . . i kodomenom X. U tom slucaju rekurzivno
denisani nizovi se zadaju jednakostima:
(Rec)
_
h
1
= x,
h
n+1
= g(h
n
).
(Teorija algoritama) 22.02.2013. 33 / 60
Peanova aritmetika
Nekoliko napomena
Napomena 3. U matematici se cesto rekurzivno denisani nizovi brojeva
zadaju neformalno upotrebom tackica. Na primer,
S
n
zbir prvih n prirodnih brojeva: S
n
= 1+2+ +n. Korektna
denicija niza je naravno rekurzivna:
(Rec)
_
S
1
= 1,
S
n+1
= S
n
+(n +1).
n! proizvod prvih n prirodnih brojeva: n! = 1 2 n.
(Rec)
_
1! = 1,
(n +1)! = n! (n +1).
c
n
=
_
2+
_
2+ +

2
. .
n korena
; (Rec)
_
c
1
=

2,
c
n+1
=

2+c
n
.
(Teorija algoritama) 22.02.2013. 34 / 60
Peanova aritmetika
Nekoliko napomena
Napomena 4. Dokazati da je zbir prvih n prirodnih brojeva jednak
n(n+1)
2
.
Zbir prvih n brojeva:
S
n
= 1+2+ +n
BI 1 =
1(1+1)
2
IK
IH 1+2+ +n =
n(n+1)
2
1+2+ +n +(n +1)
=
n(n+1)
2
+(n +1)
=
(n+1)(n+2)
2
Zbir prvih n brojeva:
(Rec)
_
S
1
= 1,
S
n+1
= S
n
+(n +1).
BI S
1
= 1 =
1(1+1)
2
IK
IH S
n
=
n(n+1)
2
S
n+1
= S
n
+(n +1)
=
n(n+1)
2
+(n +1)
=
(n+1)(n+2)
2
(Teorija algoritama) 22.02.2013. 35 / 60
Peanova aritmetika
Primeri rekurzivno denisanih funkcija
Za svaki skup X, svaki element x iz X i svaku funkciju g : X X,
postoji jedinstvena funkcija h : NX takva da je
(Rec)
_
h(0) = x,
h(s(n)) = g(h(n)).
Primer 2. Neka je X =N, x = 2 i g = s =NN i h : NN funkcija
denisana jednakostima:
(Rec)
_
h(0) = 2,
h(s(n)) = s(h(n)).
1
Koliko je h(3)?
h(3) = h(s(2)) = s(h(2)) = s(h(s(1))) = s(s(h(1))) = s(s(h(s(0)))) =
s(s(s(h(0)))) = s(s(s(2))) = s(s(s(s(s(0))))) = 5
2
Koliko je h(14)?
(Teorija algoritama) 22.02.2013. 36 / 60
Peanova aritmetika
Primeri rekurzivno denisanih funkcija
Primer 2. - nastavak
Funkciju h cemo oznaciti sa 2+: h(n) = 2+n.
(Rec)
_
2+0 = 2,
2+s(n) = s(2+n).
Analogno za svaki ksirani prirodan broj m denisemo funkciju:
m+ : NN jednakostima:
(Rec)
_
m+0 = m,
m+s(n) = s(m+n).
(Teorija algoritama) 22.02.2013. 37 / 60
Peanova aritmetika
Teoreme rekurzije
Teorema primitivne rekurzije
Za proizvoljne skupove X
1
, . . . , X
k
, Y, i proizvoljne funkcije
f : X
1
X
k
Y, g : X
1
X
k
NY Y, postoji jedinstvena
funkcija h : X
1
X
k
NY takva da je
(Rec)
_
h(x
1
, . . . , x
k
, 0) = f (x
1
, . . . , x
k
),
h(x
1
, . . . , x
k
, s(n)) = g(x
1
, . . . , x
k
, n, h(n, x
1
, . . . , x
k
)).
Denicija
Za funkciju h denisanu jednakostima (Rec) kazemo da je dobijena
primitivnom rekurzijom funkcija f i g, i pisemo h = Rec(f , g).
(Teorija algoritama) 22.02.2013. 38 / 60
Peanova aritmetika
Sabiranje prirodnih brojeva
Primer 3.
U primeru 2 su denisane funkcije 0+, 1+, 2+, 3+, . . . , m+, . . . : NN
Da li dati niz funkcija odredjuje funkciju + : NNN
+(m, n) = m+n.
Prema denicijama iz primera 2 imamo da je
(Rec)
_
+(m, 0) = m,
+(m, s(n)) = s(+(m, n)).
Dakle, funkcija + : NNN se dobija primitivnom rekurzijom funkcija:
i : NN, i (x) = x, i
g : NNNN, g(x, k, y) = s(y).
(Teorija algoritama) 22.02.2013. 39 / 60
Peanova aritmetika
Sabiranje prirodnih brojeva
Denicija i osobine sabiranja
(Rec)
_
(Rec1) m+0 = m,
(Rec2) m+s(n) = s(m+n).
Lema 1 (n) 0+n = n
Dokaz.
BI 0+0 = 0 prema (Rec1).
IK
IH 0+n = n.
0+s(n) = s(0+n) [prema (Rec2)]
= s(n) [prema [IH]]
(Teorija algoritama) 22.02.2013. 40 / 60
Peanova aritmetika
Sabiranje prirodnih brojeva
Lema 2 (m, n) m+s(n) = s(m) +n
Dokaz.
Neka je m proizvoljan prirodan broj. Dokaz teoreme sprovodimo
indukcijom po n.
BI m+s(0) = s(m+0) [prema (Rec2)]
= s(m) [prema (Rec1)]
= s(m) +0 [prema (Rec1)]
IK
IH m+s(n) = s(m) +n.
m+s(s(n)) = s(m+s(n)) [prema (Rec2)]
= s(s(m) +n) [prema [IH]]
= s(m) +s(n) [prema (Rec2)].
(Teorija algoritama) 22.02.2013. 41 / 60
Peanova aritmetika
Sabiranje prirodnih brojeva
Teorema (m, n) m+n = n +m
Dokaz.
Neka je m proizvoljan prirodan broj. Dokaz teoreme sprovodimo
indukcijom po n.
BI m+0 = m [prema (Rec1)]
0+m = m [prema Lemi 1: (n) 0+n = n]
IK
IH m+n = n +m.
m+s(n) = s(m+n) [prema (Rec2)]
= s(n +m) [prema [IH]]
= n +s(m) [prema (Rec2)]
= s(n) +m [prema Lemi 2: (m, n) m+s(n) = s(m) +n]
Zadatak Dokazati (k, m, n) (k +m) +n = k +(m+n).
(Teorija algoritama) 22.02.2013. 42 / 60
Peanova aritmetika
Mnozenje prirodnih brojeva
: NNN
(Rec)
_
m 0 = 0,
m s(n) = (m n) +m.
Mnozenje : NNN se dobija primitivnom rekurzijom funkcija:
0 : NN, 0(x) = 0, i
g : NNNN, g(x, k, y) = y +x.
Zadatak
(k, m, n) (k m) n = k (m n)
(k, m, n) m n = n m
(k, m, n) k (m+n) = k m+k n
(Teorija algoritama) 22.02.2013. 43 / 60
Peanova aritmetika
Uredjenje prirodnih brojeva
NN
m n (k) m+k = n
Osobine
(n) n n
(m, n) m n n m m = n
(k, m, n) k mm n k n
(m, n) m n n m
(k, m, n) m n m+k n +k
(k, m, n) m n m k n k
(k, m, n) 0 < k m k n k m n
Princip najmanjeg elementa. Svaki neprazan podskup S od N ima
najmanji element, tj. postoji n iz S takav da je n x, za svako x iz S.
(Teorija algoritama) 22.02.2013. 44 / 60
Peanova aritmetika
Potpuna matematicka indukcija
Princip potpune matematicke indukcije
Ako je S(n) bilo koje svojstvo prirodnih brojeva. Tada je
(n)((k < n)S(k) S(n)) (n)S(n)
posledica Peanovih aksioma.
Princip potpune matematicke indukcije ekvivalentan je principu najmanjeg
elementa.
(n)((k < n)S(k) S(n)) (n)S(n)
(n)S(n) (n)((k < n)S(k) S(n))
(n)S(n) (n)((k < n)S(k) S(n))
(Teorija algoritama) 22.02.2013. 45 / 60
Peanova aritmetika
Teorema koja povezuje +, , , . . .
Teorema o ostatku
Neka je n bilo koji prirodan broj veci od 0. Za svaki prirodan broj m
postoje jedinstveni brojevi q i r iz N, takvi da je
() m = n q +r , 0 r < n.
Jedinstveno odredjeni brojevi q i r , za koje vazi () nazivaju se redom
kolicnik i ostatak pri deljenju broja m prirodnim brojem n.
Funkcije : N
+
NN i : N
+
NN denisemo sa
(n, m) = kolicnik pri deljenju broja m brojem n
i
(n, m) = ostatak pri deljenju broja m brojem n.
Umesto (n, m) cesto se pise
_
m
n
_
; a umesto (n, m) se pise m mod n.
(Teorija algoritama) 22.02.2013. 46 / 60
Peanova aritmetika
Prosirenje funkcija i ; Deljivost prirodnih brojeva
Funkcije i prosirujemo na NN jednakostima
(0, m) = 0, odnosno (0, m) = m.
[NN
m [ n (m, n) = 0.
Osobine
(n) 1 [ n
(n) n [ n
(m, n) m [ n n [ m m = n
(k, m, n) k [ mm [ n k [ n
.
.
.
(Teorija algoritama) 22.02.2013. 47 / 60
Peanova aritmetika
Prosti brojevi
Denicija
Prirodan broj p je prost ukoliko je veci od 1 i jedini brojevi kojima je deljiv
su 1 i p. Prirodan broj veci od 1 je slozen ako nije prost.
P =2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 39, 41, . . .
Teorema
Svaki prirodan broj veci od 1 deljiv je bar jednim prostim brojem.
Teorema
Prostih brojeva ima beskonacno mnogo.
Dokaz. P. S. Neka je P =p
1
, . . . , p
k
.
Broj p
1
p
n
+1 veci je od 1, ali nije deljiv ni jednim prostim brojem.
Kontradikcija!
(Teorija algoritama) 22.02.2013. 48 / 60
Peanova aritmetika
Osnovna teorema aritmetike
Teorema o rastavljanju na proste cinioce
Ako je n prirodan broj veci od 1, onda postoje jedinstveni prosti brojevi
p
1
, p
2
, . . . , p
k
takvi da je p
1
< p
2
< < p
k
i jedinstveni prirodni brojevi

1
,
2
, . . . ,
k
veci od 0 takvi da je
n = p

1
1
p

2
2
p

k
k
.
(Teorija algoritama) 22.02.2013. 49 / 60
Indukcija i rekurzija u sirem kontekstu
Pregled predavanja
1
O algoritmima
2
Neodlucivost u matematici
3
O predmetu Teorija algoritama
4
Euklidov algoritam
5
Peanova aritmetika
6
Indukcija i rekurzija u sirem kontekstu
(Teorija algoritama) 22.02.2013. 50 / 60
Indukcija i rekurzija u sirem kontekstu
Primer 1 niz reci (stringova)
Princip rekurzije
Niz reci (stringova) nad
alfabetom a, b denisan je sa:
(Rec)
_
w
0
= a,
w
n+1
= abw
n
ba.
Odrediti w
3
.
w
3
= abw
2
ba
= ababw
1
baba
= abababw
0
bababa
= ababababababa.
Princip indukcije
Dokazati da za svako n rec w
n
ima neparan broj slova.
BI [w
0
[ =[a[ = 1
IK
IH [w
n
[ = 2k +1
[w
n+1
[ =[abw
n
ba[
=[w
n
[ +4
= 2k +5
Zadatak. Dokazati da je za svako
n rec w
n
palindrom.
(Teorija algoritama) 22.02.2013. 51 / 60
Indukcija i rekurzija u sirem kontekstu
Primer 2 iskazne formule
Iskazne formule su neke od reci nad alfabetom
A =, , , , ), (, p
n
[ n N
Denicija 1.
1
Simboli , i p
n
, n N su iskazne formule.
2
Ako je iskazna formula, onda je i () iskazna formula.
3
Ako su i iskazne formule, onda su i ( ), ( ), ( )
iskazne formule.
4
Iskazne formule su reci nad A koje se mogu dobiti samo primenom
prethodna tri pravila.
Denicija 1
/
. Skup iskaznih formula For je najmanji skup reci nad
alfabetom A takav da
1
, For i p
n
[ n N For.
2
Ako For, onda () For.
3
Ako , For, onda ( ), ( ), ( ) For.
(Teorija algoritama) 22.02.2013. 52 / 60
Indukcija i rekurzija u sirem kontekstu
Primer 2 iskazne formule
Denicija 1
//
.
1
For(0) =, p
n
[ n N
2
For(n +1)
=() [ For(n)( ) [ , For(n), , ,
3
For =

nN
For(n)
Denicija 1
///
.
For ::=, p
n
[ n N [ (For) [ (For For) [ (For For) [ (For For)
Znak ::= citamo moze biti oblika, a znak [ kao ili.
(Teorija algoritama) 22.02.2013. 53 / 60
Indukcija i rekurzija u sirem kontekstu
Primer 2 iskazne formule
var() =skup iskaznih slova koja se pojavljuju u
var : For P(p
n
[ n N)
P(X) skup svih podskupova od X; partitivni skup od X
var() =var() = / 0, var(p
n
) =p
n

var(()) =var()
var(( )) =var() var()
var(((p
1
) p
2
)) =var((p
1
)) var(p
2
)
=var(p
1
) var() var(p
2
) =p
1
/ 0p
2
=p
1
, p
2
.
Pot() =skup potformula formule
Pot : For P(For)
Pot() =, Pot() =, Pot(p
n
) =p
n

Pot(()) =Pot() ()
Pot(( )) =Pot() Pot() ( )
(Teorija algoritama) 22.02.2013. 54 / 60
Indukcija i rekurzija u sirem kontekstu
Primer 2 iskazne formule
Data je valuacija iskaznih slova v : p
n
[ n N true, false.
v : For true, false
v() = true, v() = false, v(p
n
) =v(p
n
)
v(()) =v() v(( )) =v() v()
x x
true false
false true
true false
true true false
false false false
v(( )) =v() v() v(( )) =v() v()
true false
true true true
false true false
true false
true true false
false true true
(Teorija algoritama) 22.02.2013. 55 / 60
Indukcija i rekurzija u sirem kontekstu
Primer 3 aritmetika
Var =x, y, z, x
1
, . . . prebrojiv skup promenljivih
Aexp aritmeticki izrazi
Aexp ::=Z[ Var [ Aexp+Aexp [ AexpAexp [ Aexp Aexp
Bexp bulovski izrazi (formule)
Bexp ::=, [ Aexp = Aexp [ Aexp Aexp [ Bexp [ BexpBexp
Com programi
Com ::=stop [ Var := Aexp [ Com; Com[ if Bexp then Comelse Com
[ while Bexp do Com
(Teorija algoritama) 22.02.2013. 56 / 60
Indukcija i rekurzija u sirem kontekstu
Primer 3 aritmetika
: Var Z valuacija promenljivih
Izracunavanje vrednosti aritmetickih izraza za datu valuaciju
n Z: n, ) n
v Var: v, ) (v)
a
/
, ) n
/
a
//
, ) n
//
a
/
+a
//
, ) n
, n = n
/
+n
//
a
/
, ) n
/
a
//
, ) n
//
a
/
a
//
, ) n
, n = n
/
n
//
a
/
, ) n
/
a
//
, ) n
//
a
/
a
//
, ) n
, n = n
/
n
//
(Teorija algoritama) 22.02.2013. 57 / 60
Indukcija i rekurzija u sirem kontekstu
Primer 3 aritmetika
: Var Z valuacija promenljivih
Izracunavanje vrednosti bulovskih izraza za datu valuaciju
, ) true, , ) false
a
/
, ) n
/
a
//
, ) n
//
a
/
= a
//
, ) true
, ako je n
/
= n
//
a
/
, ) n
/
a
//
, ) n
//
a
/
= a
//
, ) false
, ako je n
/
,= n
//
a
/
, ) n
/
a
//
, ) n
//
a
/
a
//
, ) true
, ako je n
/
n
//
a
/
, ) n
/
a
//
, ) n
//
a
/
a
//
, ) false
, ako je n
/
> n
//
b, ) true
b, ) false
,
b, ) false
b, ) true
,
b
/
, ) true b
//
, ) true
b
/
b
//
, ) true
,
b
/
, ) true b
//
, ) false
b
/
b
//
, ) false
,
(Teorija algoritama) 22.02.2013. 58 / 60
Indukcija i rekurzija u sirem kontekstu
Primer 3 aritmetika
Ako je n Z i v Var, onda je [n/v] : Var Z valuacija data sa:
[n/v](u) =
_
n ako je u promenljiva v,
(u) inace .
Izvrsavanje komandi za datu valuaciju promenljivih
stop, ) ,
a, ) n
v := a, ) [n/v]
, v Var
c
/
, )
/
c
//
,
/
)
//
c
/
; c
//
, )
//
b, ) true c
/
, )
/
if b then c
/
else c
//
, )
/
,
b, ) false c
//
, )
/
if b then c
/
else c
//
, )
/
b, ) false
while b do c, )
b, ) true c, )
//
while b do c,
//
)
/
while b do c, )
/
(Teorija algoritama) 22.02.2013. 59 / 60
Indukcija i rekurzija u sirem kontekstu
Primer 3 aritmetika
EUKLID =if (0 X 0 Y)
then stop
else while X = Y do
if X Y
then X := X Y
else Y := Y X
(Teorija algoritama) 22.02.2013. 60 / 60

You might also like