8

Click here to load reader

unidade_4_-_funcoes_recursivas

Embed Size (px)

DESCRIPTION

Apostila para estudo direcionado ao tema.

Citation preview

  • TEORIA DA COMPUTAO

    UNIDADE 04 FUNES RECURSIVASProfa. Joyce Martins ([email protected])

  • Funo recursiva um formalismo usado para especificar algoritmos que construdo 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 (DIVERIO; MENEZES, 2011, p. 214).4. FUNES RECURSIVAS: introduo

  • So construdas a partir de trs funes naturais e trs operaes:zerozero: N N, tal que xN , zero(x) = 0

    sucessor de um nmero naturalsucessor: N N, tal que xN , sucessor(x) = x + 1

    projeoprojeoi: Nn N, tal que projeoi (x1, x2, ... xn) = xi4. FUNES RECURSIVAS: funes recursivas de Kleene

  • So construdas a partir de trs funes naturais e trs operaes:substituio composicionalsejam as funes recursivas g: Nk N e f1, f2, ... fk: Nn N, ento h: Nn N definida por substituio composicional a partir das funes g, f1, f2, ... fk comoh(x1, x2, ... xn) = g(f1(x1, x2, ... xn), f2(x1, x2, ... xn), ... fk(x1, x2, ... xn))

    recursosejam as funes recursivas f: Nn N e g: Nn+2 N, ento h: Nn+1 N definida por recurso a partir das funes f e g comoh(x1, x2, ... xn, 0) = f(x1, x2, ... xn)h(x1, x2, ... xn, y+1) = g(x1, x2, ... xn, y, h(x1, x2, ... xn, y))

    minimizaoseja a funo recursiva f: Nn+1 N, ento h: Nn N definida por minimizao da funo f comoh(x1, x2, ... xn) = min {y | f(x1, x2, ... xn, y) = 0 }4. FUNES RECURSIVAS: funes recursivas de Kleene

  • A linguagem Lambda (ou -linguagem) o conjunto dos -termos sobre um conjunto infinito (V) de variveis.

    So - termos:variveis: vV um -termo

    -abstrao: se M um -termo e xV, ento (x.M) um -termoUma -abstrao representa uma funo que possui um parmetro.EXEMPLO: x.(x + 1)

    -aplicao: se M e N so -termos, ento (M N) tambm um -termoUma -aplicao representa a aplicao da funo M a um valor N.EXEMPLO: (x.(x + 1)) 3

    O resultado de uma aplicao calculado por substituio e reduo, que interpretada como um passo computacional na busca de um valor representativo para um -termo qualquer (DIVERIO; MENEZES, 2011, p. 229).4. FUNES RECURSIVAS: clculo Lambda linguagem

  • Existem trs tipos de redues:reduo alfa (-reduo): renomeao de variveis ligadas, isto , variveis que esto no escopo de um -termo;x.M y.M[xy]

    reduo beta (-reduo): aplicao de uma funo a um argumento, por substituio;(x.M)N M[xN]

    reduo iterada: aplicao sucessiva de qualquer das redues anteriores.4. FUNES RECURSIVAS: clculo Lambda linguagem

  • Funes recursivas possuem um poder de expresso significativo, no sentido em que uma simples funo pode representar um algoritmo consideravelmente complexo (DIVERIO; MENEZES, 2011, p. 237).

    Linguagens de programao funcionais, como Lisp e Haskell, onde programas so funes e composio de funes em vez de comandos, so baseadas no clculo Lambda.

    Alm disso, as linguagens de programao possuem recurso como um construtor bsico de programas e o Java 8 inclui -expresses, isto , expresses do Clculo-Lambda que permitem a chamada de funes sem a atribuio de nomes, isto , anonimamente.

    4. FUNES RECURSIVAS: importncia

  • DOCUMENTOS CONSULTADOS / RECOMENDADOSDIVERIO, T. A.; MENEZES, P. B. Teoria da computao: mquinas universais e computabilidade. 3.ed.Porto Alegre: Bookman, 2011.

    ********