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 m2  N onda je
m1
 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 Kkj1 primitivnom
rekurzijom nad projekcijom Pk12 sa bazom Kkj
Kkj1 (0, x1,...,xk )  Kkj ( x1,...,xk )
Kkj1 (n  1, x1,...,xk )  Pk12 ( Kkj1 (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, i0 fi ( x)  f0 ( x)
0
je trivijalno PR funkcija.
Pretpostavimo da je za sve k  m tvrđenje dokazano.
Tada je

m
f ( x)  (i0 fi ( x), fm ( x))
m1
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, i0 fi ( x)  f0 ( x)
0
je trivijalno PR funkcija.
Pretpostavimo da je za sve k  m tvrđenje dokazano.
Tada je

m
f ( x)  (i0 fi (x), fm ( x))
m1
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)
CPQ (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)
CPQ (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)
CP (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:
CPQ (n)  CP (n)  CQ (n)
CPQ (n)  sign(CP (n)  CQ (n))

CP (n)  (CP (n),1)