Академический Документы
Профессиональный Документы
Культура Документы
Teoria da Computao
(ENG10395)
TEORIA DA COMPUTAO
Funes recursivas
Os formalismos usados para especificar algoritmos podem ser classificados nos seguintes tipos: Operacional: define-se uma mquina abstrata baseada em estados, em instrues primitivas e na especificao de como cada instruo modifica cada estado. Ex: MT. Axiomtico: Associam-se regras s componentes da linguagem. As regras permitem afirmar o que ser verdadeiro aps a ocorrncia de cada clusula, considerando-se o que era verdadeiro antes da ocorrncia. Ex: gramtica.
TEORIA DA COMPUTAO
Funes recursivas
Denotacional ou funcional: Trata-se de uma funo construda a partir de funes elementares de forma composicional, no sentido em que o algoritmo denotado pela funo pode ser determinado em termos de suas funes componentes. Ex: funes recursivas parciais (de Stephen C. Kleene) e clculo lambda (de Alonzo Church)
TEORIA DA COMPUTAO
TEORIA DA COMPUTAO
TEORIA DA COMPUTAO
TEORIA DA COMPUTAO
Associe
f(0) = m f(1) = g(m) f(2) = g(f(1)) ...
A partir de agora, consideramos funes que podem ser obtidas usando a induo e a composio, comeando por algumas que so obviamente computveis.
TEORIA DA COMPUTAO
TEORIA DA COMPUTAO
TEORIA DA COMPUTAO
Operaes bsicas
Composio (substituio composicional): Sejam as funes parciais: g: Nk N e f1, f2, ..., fk: Nn N. A funo parcial: h: Nn N a substituio composicional de funes, ou simplesmente substituio de funes, definida a partir de g, f1, f2, ... fk como segue:
h(x1, x2, ..., xn) = g(f1(x1, x2, ..., xn), f2(x1, x2, ..., xn), ... fk(x1, x2, ..., xn))
h dita definida para (x1, x2, ..., xn) se, e somente se: fi(x1, x2, ..., xn) definida para todo i {1,2,..., k} g(f1(x1, x2, ..., xn), f2(x1, x2, ..., xn), ... fk(x1, x2, ..., xn)) definida
TEORIA DA COMPUTAO
Operaes bsicas
Composio (substituio composicional): Exemplos: fum: sucessor(fzero) fdois: sucessor(fum) ftres: adio(fum, fdois)
OBS: Para qualquer nmero natural n a funo constante pode ser definida como a aplicao de n vezes a funo sucessor.
TEORIA DA COMPUTAO
Operaes bsicas
Recurso primitiva Sejam as funes parciais: f: Nn N e g: Nn+2 N. A funo parcial: h: Nn+1 N definida por recurso primitiva a partir de f e g como segue:
h(x1, x2, ..., xn, 0 ) = f (x1, x2, ..., xn) h(x1, x2, ..., xn, y + 1) = g(x1, x2, ..., xn, y, h(x1, x2, ..., xn, y)
A funo parcial h dita definida para (x1, x2, ..., xn, ) se, e somente se: f (x1, x2, ..., xn) definida g(x1, x2, ..., xn, i, h(x1, x2, ..., xn, i) definida para todo i {1,2,..., y}
TEORIA DA COMPUTAO
Operaes bsicas
Recurso primitiva Exemplo: A adio definida usando recurso primitiva: adio(x, 0) = id(x) adio(x, y+1) = proj33(x, y, sucessor(adio(x, y)))
adio(3,2) = proj33(3, 1, sucessor(adio(3, 1))) = sucessor(adio(3, 1)) = sucessor(proj33(3, 0, sucessor(adio(3, 0)))) = sucessor(sucessor(adio(3, 0))) = sucessor(sucessor(3)) = sucessor(4) = 5
TEORIA DA COMPUTAO
Operaes bsicas
Minimizao Seja f:Nn+1N uma funo parcial. A funo parcial: h: NnN fita definida por minimizao de f e tal que, (x1,
x2, ..., xn, y) Nn+1: h(x1, x2, ..., xn) = min{y | f(x1, x2, ..., xn, y) = 0 e, z tal que z < f(x1, x2, ..., xn, z) definida} y,
A funo h, para o valor (x1, x2, ..., xn) definida como o menor natural y tal que f(x1, x2, ..., xn, y) = 0. Adicionalmente, a condio z tal que z < y, f(x1, x2, ..., xn, z) definida garante que possvel determinar, em um tempo finito, se, para qualquer valor z menor do que y, f(x1, x2, ..., xn, z) diferente de zero
TEORIA DA COMPUTAO
Operaes bsicas
Minimizao Exemplo: funo nmero zero. Suponha a funo constante fzero. Seja constZero o n 0 nos naturais (no confundir com a funo constante zero): constZero: 1 N (funo nmero zero constZero(*)= 0) Podemos representar tambm como constZero: N Podemos defin-la por minimizao da seguinte forma: constZero = min{y | fzero(y) = 0}. De fato, o menor natural y tal que fzero(y) = 0 o 0.
TEORIA DA COMPUTAO
Funes recursivas
Funo recursiva total Como o prprio nome indica, funo recursiva total nada mais que uma funo recursiva parcial que total, ou seja, definida para todos os elementos do domnio. Como podemos ver, as seguintes classes de funes so equivalentes: funes recursivas parciais e funes turingcomputveis; funes recursivas totais e funes turing-computveis totais.
TEORIA DA COMPUTAO
Funes recursivas
Operaes limitadas Uma vez que estamos limitados aos nmeros naturais, no podemos ter algumas operaes convencionais como as operaes de subtrao e diviso. A subtrao realizada em sala de aula a subtrao limitada m n = mx{m n, 0} A funo diviso div(m, n):diviso inteira de m por n pode ser realizada convencionando que o resultado nulo quando n = 0.
TEORIA DA COMPUTAO
Funes recursivas
Predicado recursivo primitivo: uma funo recursiva parcial que assume somente os valores 0 e 1. Exemplo: funo ezero: retorna 1 para o argumento 0 e 0, caso contrrio. e_zero(0) = fum e_zero(n+1) = constZero
TEORIA DA COMPUTAO
Funes recursivas
Predicado recursivo primitivo:
Ex: funo maior_ou_igual: maior_ou_igual(m,n) = 1 quando m >= n; e 0 caso contrrio.
maior_ou_igual (m, n) = e_zero(sub(n, m)
TEORIA DA COMPUTAO
Funes recursivas
Predicado recursivo primitivo: Resumindo, se f e g so funes recursivas e p um predicado recursivo, todos os trs com o mesmo nmero de argumentos k, ento a funo definida por casos
f(n1, , nk) = g(n1, , nk), se p(n1, , nk); f(n1, , nk) = h(n1, , nk), caso contrrio;
tambm recursiva primitiva, uma vez que pode ser reescrita como:
f(n1, , nk) = p(n1, , nk) x g(n1, , nk) + (1 - p(n1, , nk)) x h(n1, , nk) ;
TEORIA DA COMPUTAO
Referncias
Diverio, T. A.; Menezes, P. B.. Teoria da Computao: Mquinas Universais e Computabilidade. Porto Alegre: Sagra Luzzato, 2000. Carnielli, W. A.; Epstein, R. L.; Computabilidade, funes computveis, lgica e os fundamentos da matemtica. 2.ed. So Paulo: Editora UNESP, 2009.