Você está na página 1de 19

Teoria de Funes Recursivas

Professor Adolfo Neto DCC UDESC Junho 2008

Obs.: Estes slides so um resumo do captulo 1 do livro Modelos Clssicos de Computao, de Flvio S.C. da Silva e Ana C.V. De Melo.

Introduo/Motivao

Classe de funes de nmeros naturais Caracterizada por S. C. Kleene Representa o que possvel resolver usando o processamento de um computador Representa o conjunto de funes computveis Um problema pode ser resolvido usando o computador se e somente se puder ser traduzido na forma de uma funo de nmeros naturais pertencente a esta classe de funes

Quem foi Kleene?


Stephen Cole Kleene Matemtico americano 1909-1994 Aluno de Alonzo Church Ph.D. em Matemtica por Princeton Professor da Universidade de Wisconsin-Madison Fundador da Teoria da Recurso Serviu na Marinha Americana durante a Segunda Guerra Mundial Aposentou-se em 1979 Foi casado e teve 4 filhos. Escalava montanhas, praticava canoagem e foi um ambientalista.

Nmeros naturais

Caracterizados pelos postulados de Peano Giuseppe Peano matemtico italiano -1858 1932 Propriedades como definio dos nmeros naturais

Aritmtica de Peano

Propriedades como definio dos nmeros naturais:


0 um nmero natural Se x for natural, ento existe um natural definido a partir de x: s(x) o sucessor de x Para qq. n.nat. X, 0 s(x) Se s(x)=s(y) ento x=y Se uma propriedade Q for tal que:

0 tem a propriedade Q Se x tem a propriedade Q, ento s(x) tambm tem a propriedade Q para qq n.nat. X;

ento todos os n.nats.tm a propriedade Q

Funes

Denotaremos 0, 1, 2, 3, ... em vez de 0, s(0), s(s(0)), s(s(s(0))), ... Uma funo n-ria de nmeros naturais uma funo matemtica de n argumentos. Uma funo n-ria de nmeros naturais pode ser caracterizada por uma tabela com n+1 colunas Exemplos:

f(x)=2*x g(x,y)=x+y

Algoritmos e Funes

h(x)=um nmero arbitrariamente selecionado para cada valor de x, sem respeitar qualquer regra de regularidade ou dependncia dos valores especficos da varivel x. Para este exemplo no podemos construir um algoritmo que calcule os valores da funo para quaisquer valores dos argumentos Os valores da funo que no forem explicitamente fornecidos permanecero desconhecidos Esta funo no computvel.

A proposta de Kleene

Um conjunto de funes iniciais e Um conjunto de construtores de funes que podem ser encadeados Uma funo computvel uma funo inicial ou uma funo obtida a partir das funes iniciais por meio do encadeamento dos construtores.

Funes recursivas primitivas (FRPs)

Funes iniciais:
Ze(x)=0 Suc(x)=s(x) n Pr (x ,...,x )=x i 1 n i O conjunto das f.r.p.s o MENOR conjunto composto por: Funes iniciais Funo resultante de um nmero finito de aplicaes dos seguintes construtores sobre frps: Substituio Recurso

Funes recursivas primitivas (FRPs)

Substituio Se g(x1,...,xm), h1(x1,...,xn), ..., hm(x1,...,xn) so funes Ento construmos f(x ,...,x )=g(h (x ,...,x ), ..., h (x ,...,x )) 1 n 1 1 n m 1 n Recurso Se g(x1,...,xn) e h(x1,...,xn,y1,y2) so funes Ento construmos: f(x ,...,x ,0)=g(x ,...,x ) 1 n 1 n f(x ,...,x ,s(y))=h(x ,...,x ,y,f(x ,...,x ,y) 1 n 1 n 1 n Observe que n pode valer 0

Exemplos de FRPs

Funo constante Funo soma f(x)=k*x

Consideraes

bastante trabalhoso verificar se uma funo recursiva primitiva A dificuldade cresce ainda mais quando o resultado esperado negativo

Funes computveis que no so recursivas primitivas

Existem funes que embora sejam computveis (ou seja, sabemos construir um programa para calcular o seu valor para quaisquer nmeros naturais) no so recursivas primitivas Ex.: funo de Ackermann

Funes recursivas totais

So as FRPs estendidas com o construtor :

Seja g(x1,...,xn,y) uma funo tal que para quaisquer valores de x1,...,xn existe pelo menos um valor de y de modo que g(x1,...,xn,y)=0. Seja y[g(x1,...,xn,y)=0] o menor valor de y para que g(x1,...,xn,y)=0. Ento, apenas para as funes g(x1,...,xn,y) com esta propriedade, podemos construir a funo f(x1,...,xn)=y[g(x1,...,xn,y)=0].

Funes parciais

Programao perfeitamente factvel Tambm deveriam ser consideradas computveis

Funes recursivas parciais

So as FRPs estendidas com o construtor :


Seja g(x1,...,xn,y) uma funo de nmeros inteiros. Seja y[g(x1,...,xn,y)=0] o menor valor de y se existir - tal que g(x1,...,xn,y)=0. Ento, podemos construir a funo f(x1,...,xn)=y[g(x1,...,xn,y)=0].

Funes recursivas parciais


Generalizao do construtor de minimizao Correspondem exatamente ao conjunto de funes computveis O mesmo conjunto definido por:

Mquinas de Turing Mquinas de Post Lambda-Clculo etc.

Bibliografia

SILVA, F.S.C. Da & MELO, A.C.V de. Modelos Clssicos de Computao. So Paulo: Thomson Learning, 2006. MENDELSON, E. Introduction to mathematical logic. Fourth Edition. CRC Press, 1997. WIKIPEDIA. Stephen Cole Kleene. Disponvel em < http://en.wikipedia.org/wiki/Stephen_Cole_Kleene >. Acessado em 18 de junho de 2008.

Bibliografia

CARNIELLI, W.A. & EPSTEIN, R.L. Computabilidade, funes computveis, lgica e os fundamentos da matemtica. So Paulo: Editora UNESP, 2006.

Você também pode gostar