05_310_2008_primitivno_rekurzivne_funkcije
Download
Report
Transcript 05_310_2008_primitivno_rekurzivne_funkcije
student: Miloš Savić
profesor: Zoran Ognjanović
Prilikom definisanja aritmetičkih funkcija često se javlja
induktivni postupak kojim se uvodi, recimo, funkcija
faktorijel pomoću funkcije množenja:
def
0! 1
def
(n 1)! (n!) (n 1)
U opštem slučaju, postupak definisanja funkcije f na
osnovu funkcije g je oblika:
f (0) m
f (n 1) g ( f (n), n)
f (0) m
f (1) g ( f (0),0) g (m,0)
f (2) g ( f (1),1) g ( g (m,0),1)
f (n 1) g ( f (n), n) g ( g (...(g (m),0),...,n 1), n)
Klasa primitivno rekurzivnih funkcija sadrži:
nula funkciju, Z (n) 0 za svako n N
funkciju naslednika S (n) prirodnog broja n u
nizu prirodnih brojeva i
i
funkcije projekcije Pk ( x1,...,xk ) xi ,1 i k
kompoziciju prethodnih funkcija, tako da ako
m
k
su definisane g : N N i h1,...,hm : N N
k
onda je definisana i f : N N
f (x1,...,xk ) g(h1(x1,...,xk ),...,hm (x1 ,...,xk ))
primitivnu
rekurziju, tako da ako su definisane
m
g : N N i h : N m2 N onda je
m1
N i važi:
definisana i f : N
f (0, x1,...,xm ) g( x1,...,xm )
f (n 1, x1,...,xm ) h( f (n, x1,...,xm ), n, x1,...,xm )
Pri tome je funkcija f definisana primitivnom
rekurzijom nad h sa bazom g.
U slučaju kada je funkcija f unarna, operacija
primitivne rekurzije svodi se na induktivnu
definiciju i funkcija g je konstanta:
f (0) d
f (n 1) h( f (n), n)
Primitivno
rekurzivne funkcije su totalne.
Da bi se za neku funkciju pokazalo da je primitivno
rekurzivna (PR), potrebno je naći njen opis u smislu
prethodne definicije, tj. pokazati da se iz inicijalnih
funkcija može dobiti konačnim nizom primena operacija
kompozicije i primitivne rekurzije.
Primer
1:
j
k
Konstantne funkcije Kk : N N za koje je
Kkj ( x1,...,xk ) j za sve ( x1,...,xk ) N k su PR.
k 1: K1j : N j, j N K1j ( x) S j (Z ( x))
k 1: definišemo funkciju Kkj1 primitivnom
rekurzijom nad projekcijom Pk12 sa bazom Kkj
Kkj1 (0, x1,...,xk ) Kkj ( x1,...,xk )
Kkj1 (n 1, x1,...,xk ) Pk12 ( Kkj1 (n, x1,...,xk ), n, x1,...,xk )
Primer
2:
Funkcija sabiranja f (n, x) n x je PR.
f (0, x) x P11 ( x)
f (n 1, x) n x 1 S ( P31 ( f (n, x), n, x))
Funkcija f je definisana primitivnom rekurzijom
nad S (P31 ()) sa bazom P11 () .
Primer
3:
Funkcija prethodnik je PR.
0, x 0
preth( x)
prethodnik_ od _ x _ u _ nizu _ N , x 0
preth(0) 0
preth(n 1) P22 ( preth(n), n)
Neku operaciju nazvaćemo primitivno rekurzivnom ako
primenjena na primitivno rekurzivne funkcije daje
primitivno rekurzivnu funkciju, tj. ako se može simulirati
korišćenjem kompozicije, primitivne rekurzije i osnovnih
primitivno rekurzivnih funkcija. Primitivno rekurzivne
operacije omogućiće nešto jednostavnije definisanje
primitivno rekurzivnih funkcija.
EKSPLICITNA TRANSFORMACIJA
k
g
:
N
N k-arna funkcija i neka su
Neka je
h1,...,hk : N l N l-arne funkcije od kojih je svaka ili
projekcija ili konstantna funkcija. Funkcija f definisana sa:
f ( x1,...,xl ) g(h1 ( x1,...,xl ),...,hk ( x1,...,xl ))
je dobijena iz g eksplicitnom transformacijom, odnosno
dupliranjem i/ili permutovanjem argumenata i zamenom
argumenata konstantama.
Eksplicitna transformacija predstavlja jednu vrstu
kompozicije, pa važi:
Teorema:
Ako je funkcija g primitivno rekurzivna, primitivno
rekurzivne su i sve funkcije dobijene iz nje eksplicitnom
transformacijom.
Primer 1:
Neka je funkcija g : N N primitivno rekurzivna.
Tada je i funkcija f ( x, y, z) g ( z, x) primitivno
rekurzivna jer je dobijena eksplicitnom transformacijom iz
primitivno rekurzivne funkcije g.
Primer 2:
Funkcija monus (ograničeno oduzimanje)
2
0, x n
(n, x)
x n, x n
je PR jer se dobija operacijom primitivne rekurzije:
(0, x) P11 ( x)
(n 1, x) h((n, x), n, x)
gde je f-ja h definisana sa h( x, y, z) preth(P31 ( x, y, z))
tj. kao prethodnik prve projekcije, pa je PR jer je dobijena
eksplicitnom transformacijom iz primitivno rekurzivne
funkcije preth.
Ograničena suma je funkcijan oblika f 0 ( x) ... f n ( x)
za koju se uvodi oznaka
f ( x) .
i 0 i
Teorema:
Neka su funkcije f 0 ,..., f n primitivno rekurzivne. Tada
je i ograničena suma primitivno rekurzivna.
Dokaz:
n 0, i0 fi ( x) f0 ( x)
0
je trivijalno PR funkcija.
Pretpostavimo da je za sve k m tvrđenje dokazano.
Tada je
m
f ( x) (i0 fi ( x), fm ( x))
m1
i 0 i
primitivno rekurzivna funkcija kao kompozicija
primitivno rekurzivnih funkcija.
f
(
x
)
...
f
(
x
)
Ograničeni proizvod je funkcija
oblika
0
n
n
f ( x) .
za koju se uvodi oznaka
i 0 i
Teorema:
Neka su funkcije f 0 ,..., f n primitivno rekurzivne. Tada
je i ograničeni proizvod primitivno rekurzivan.
Dokaz:
n 0, i0 fi ( x) f0 ( x)
0
je trivijalno PR funkcija.
Pretpostavimo da je za sve k m tvrđenje dokazano.
Tada je
m
f ( x) (i0 fi (x), fm ( x))
m1
i 0 i
primitivno rekurzivna funkcija kao kompozicija
primitivno rekurzivnih funkcija.
k
Predikat je relacija, odnosno neki podskup skupa N
za neki prirodan broj k 0 . Unarni predikat R je PR
ako je primitivno rekurzivna njegova karakteristična f-ja
1, ako važi R(n)
CR (n)
0, ako ne važi R(n)
Primer 1:
Predikat =, tj. relacija jednakosti, je primitivno rekurzivan
jer je primitivno rekurzivna njegova karakteristična f-ja:
C ( x, y) (sign(( x, y) ( y, x)),1)
Primer 2:
Predikat <, tj. relacija biti manji, je primitivno
rekurzivan jer je primitivno rekurzivna njegova
karakteristična funkcija C ( x, y) sign(( x, y)) .
Neka su P i Q dva unarna predikata. Konjunkcija
predikata P i Q je unarni predikat sa karakterističnom
funkcijom:
1, ako važi P(n) i Q(n)
CPQ (n)
0, ako ne važi P(n) i Q(n).
Disjunkcija predikata P i Q je unarni predikat sa
karakterističnom funkcijom:
1, ako važi P(n) ili Q(n)
CPQ (n) ako ne važi P(n) ili Q(n)
0,
Negacija predikata P je unarni predikat sa
karakterističnom funkcijom:
1, ako ne važi P(n)
CP (n)
0, ako važi P(n)
Teorema:
Ako su P i Q dva primitivno rekurzivna predikata, tada
su primitivno rekurzivni i predikati P Q, P Q, P.
Dokaz:
Neka su predikati P i Q unarni. Predikati
P Q, P Q, P su primitivno rekurzivni jer su im
takve karakteristične funkcije:
CPQ (n) CP (n) CQ (n)
CPQ (n) sign(CP (n) CQ (n))
CP (n) (CP (n),1)