Professional Documents
Culture Documents
30.oktobar 2014.
Example
Funkcija NZD(m, n), m, n ∈ N (najveći zajednički delilac dva prirodna
broja) je izračunljiva.
Funkcija f : N → N data sa
( √
1, ako postoji n uzastopnih cifara 5 u decimalnom zapisu 2
f (n) =
0, inače
Dakle,
kodiranje izracunavanje dekodiranje
D −→ N −→ N −→ D.
() Teorijske osnove informatike 1 30. oktobar 2014. 11 / 27
Example
Neka je !
♣ ♦ ♥ ♠
D = {♣, ♦, ♥, ♠}, g= .
3 5 7 9
Ako je (z1 , z2 , . . . , zn ) niz elemenata iz D , neka je
g (z )
ĝ(z1 , z2 , . . . , zn ) = 2g(z1 ) · 3g(z2 ) · · · · · pn n
gde je 2, 3, 5, . . . , pn niz prvih n prostih brojeva. Tada
ĝ (♣♣♥♦♣) = 23 · 33 · 57 · 75 · 113 .
Osnovni stav aritmetike(razlaganja prirodnog broja na proste činioce): Za svaki
n ∈ N postoje jedinstveno odred̄eni prosti brojevi 2 ≤ p1 < p2 < · · · < pk i
jedinstveno odred̄eni prirodni brojevi m1 , m2 , . . . , mk takvi da je
n = p1m1 · p2m2 . . . pkmk
Iz prethodne teoreme sledi da možemo ispuniti i zahtev (3), tj. da za svaki
prirodni broj možemo u konačno mnogo koraka ispitati da li je kôd nekog
elementa i, ako jeste, odrediti taj element.
Na primer,
12 = 22 · 3 nije kôd
,
864 = 25 · 33 je kod niza ♦♣.
() Teorijske osnove informatike 1 30. oktobar 2014. 12 / 27
Example
Ako su kodovi osnovnih simbola aritmetike i logike
!
0 ≤ + · ⇒ ∧ ∨ ¬ ∃ ∀ = xi
g=
1 2 3 4 5 6 7 8 9 10 11 20 + i
Na primer,
ĝ (x1 ≤ x2 → ∃x3 x1 + x3 = x2 ) = 221 32 522 75 119 1323 1721 193 2323 2911 3122 .
brojač (counter) koji u svakom trenutku sadrži prirodni broj k - redni broj
instrukcije koju IR treba da izvrši u tom trenutku.
k
IR radi na sledeći način:
unosimo program u program holder
u registre unosimo konačan niz prirodnih brojeva (ulazni podaci)
IR unosi u brojač 1 i počinje da izvršava instrukcije unetog programa
IR izvršava onu instrukciju čiji je redni broj upisan u brojaču u tom
trenutku
sa završetkom izvršavanja neke instrukcije, u brojač se upisuje redni
broj sledeće instrukcije
IR prestaje sa radom kada je u brojaču upisan broj veći od broja
instrukcija koje čine program; ako se to ne dogodi IR radi zauvek.
Example
6 1 5 8 0 ...
1
I1 : Z (3)
6 1 0 8 0 ...
2
Example
6 1 0 8 0 ...
2
I2 : S (4)
6 1 0 9 0 ...
3
Example
6 1 0 9 0 ...
3
I3 : T (4, 2)
6 9 0 9 0 ...
4
Example
6 9 0 9 0 ...
4
I4 : J (3, 5, 6)
6 9 0 9 0 ...
6
Definicija
Ako IR završi izračunavanje po programu P i u registru R1 je na kraju
upisan broj b, tada kažemo da program P konvergira za ulaz
(a1 , . . . , an ) ka izlazu b i pišemo P (a1 , . . . , an ) ↓ b.
Ukoliko se IR nikada ne zaustavi pri izvršavanju programa P za ulaz
(a1 , . . . , an ), kažemo da program P divergira za ulaz (a1 , . . . , an ) i
pišemo P (a1 , . . . , an ) ↑ .
Definicija
Funkcija f : D → N, D ⊆ N n je izračunljiva ako postoji program P koji izračunava
njene vrednosti, tj.
ako (x1 , . . . , xn ) ∈ D onda P (x1 , . . . , xn ) ↓ f (x1 , . . . , xn ),
ako (x , . . . , x ) < D onda P (x , . . . , x ) ↑.
Example
Sabiranje prirodnih brojeva je izračunljiva funkcija, jer za program
P = (I1 , I2 , I3 , I4 ),
I1 : J (3, 2, 5)
I2 : S (1)
I3 : S (3)
I4 : J (1, 1, 1)
važi
P (x , y ) ↓ x + y za svako x , y ∈ N ,
što dokazuje da je funkcija
fP2 (x , y ) = x + y (x , y ∈ N )
izračunljiva.
Njen domen je D = {(x , y , z ) ∈ N 3 |y ≥ z }
() Teorijske osnove informatike 1 30. oktobar 2014. 24 / 27
Teorema
(a) Nula funkcija z : N → N, z (x ) = 0 je izračunljiva funkcija.
(b) Funkcija sledbenik s : N → N , s (x ) = x + 1 je izračunljiva.
(c) Projekcije πni : N n → N πni (x1 , . . . , xn ) = xi , 1 ≤ i ≤ n, su izračunljive
funkcije.
Dokaz
Odgovarajuće programe koji dokazuju izračunljivost ovih funkcija čini samo
po jedna instrukcija i to:
(a) I1 : Z (1)
(b) I1 : S (1)
(c) I1 : T (i , 1).