30
Departamento de Informática – E D L M Indução Matemática Recursão Estruturas Discretas e Lógica Matemática Dep. de Informática – UFMA Prof. Anselmo Paiva

Indução Matemática Recursão

  • Upload
    annick

  • View
    82

  • Download
    2

Embed Size (px)

DESCRIPTION

Indução Matemática Recursão. Estruturas Discretas e Lógica Matemática Dep. de Informática – UFMA Prof. Anselmo Paiva. Indução. O princípio da indução matemática é uma ferramenta muito útil para provar certas propriedades dos números naturais. - PowerPoint PPT Presentation

Citation preview

Page 1: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Indução MatemáticaRecursão

Estruturas Discretas e Lógica Matemática

Dep. de Informática – UFMA

Prof. Anselmo Paiva

Page 2: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Prof. Anselmo Paiva

Indução

• O princípio da indução matemática é uma ferramenta muito útil para provar certas propriedades dos números naturais.

• Não pode ser usada para descobrir teoremas, mas somente para prová-los.

Page 3: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Prof. Anselmo Paiva

Indução

• Seja P(n) uma função proposicioinal, e queremos provar que P(n) é verdadeiro para qualquer n natural :– Mostre que P(0) é true.

(passo básico)– Mostre que se P(n) então P(n + 1) para

qualquer nN. (passo indutivo)

– Então P(n) deve ser true para qualquer nN. (conclusão)

Page 4: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Prof. Anselmo Paiva

Indução

• Exemplo:

• Mostre que n < 2n para todo inteiro positivo n.

– Seja P(n) a proposição “n < 2n.”

1. Mostre que P(1) é true. (passo básico)• P(1) é true, porque 1 < 21 = 2.

Page 5: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Prof. Anselmo Paiva

Indução

1. Mostre que se P(n) é true, então P(n + 1) é true. ( passo indutivo)– Assuma que n < 2n é true.– Precisamos mostrar que P(n + 1) é true,

n + 1 < 2n+1– Começamos com n < 2n:

n + 1 < 2n + 1 2n + 2n = 2n+1– Assim, se n < 2n então n + 1 < 2n+1

Page 6: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Prof. Anselmo Paiva

Indução

• Então P(n) deve ser true para qualquer inteiro possitivo.(conclusão)– n < 2n é true para todo inteiro positivo.

• C.Q.D

Page 7: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Prof. Anselmo Paiva

Indução

• Outro exemplo (“Gauss”):1 + 2 + … + n = n (n + 1)/2

• Mostre que P(0) é true.(passo base)

• Para n = 0 temos 0 = 0. True.

Page 8: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Prof. Anselmo Paiva

Indução

• Mostre que se P(n) então P(n + 1) para qualquer nN. (passo indutivo)1 + 2 + … + n = n (n + 1)/2

1 + 2 + … + n + (n + 1) = n (n + 1)/2 + (n + 1)

= (2n + 2 + n (n + 1))/2

= (2n + 2 + n2 + n)/2

= (2 + 3n + n2 )/2

= (n + 1) (n + 2)/2

= (n + 1) ((n + 1) + 1)/2

Page 9: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Prof. Anselmo Paiva

Indução

• Então P(n) deve ser true para todo nN. (conclusão)

• 1 + 2 + … + n = n (n + 1)/2 é true para todo nN.

• C.Q.D.

Page 10: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Prof. Anselmo Paiva

Indução

• Existe outra técnica de prova similar ao princípio da indução matemática.

• É chamado de segundo princípio da indução matemática.

• Pode ser usado para provar que uma função proposicional P(n) é true para todo número natural.

Page 11: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Prof. Anselmo Paiva

Indução

• O segundo princípio da indução matemática:

• Mostre que P(0)é true.(passo básico)

• Mostre que se P(0) e P(1) e … e P(n),então P(n + 1) para todo nN.(passo indutivo)

• Então P(n) deve ser true para todo nN. (conclusão)

Page 12: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Prof. Anselmo Paiva

Indução

• Exemplo: Mostre que todo inteiro maior que 1 pode ser escrito como um produto de número primos.

• Mostre que P(2) é true. (passo básico)

• 2 é o produto de um primo: ele mesmo.

Page 13: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Prof. Anselmo Paiva

indução

• mostre que se P(2) e P(3) e … e P(n),então P(n + 1) para qualquer nN. (passo indutivo)– Dois casos possíveis:

• Se (n + 1) é primo, então P(n + 1) é true.• Se (n + 1) não é primo, ele pode se escrito como

produto de dois inteiros a e b tal que2 a b < n + 1.

• Pwla hipótese de indução, a e b podems er escritos como produtos de primos.

– Então, n + 1 = ab pode ser escrito como um produto de primor.

Page 14: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Prof. Anselmo Paiva

Indução

• Assim, P(n) deve ser true para qualquer nN. (conclusão)

• C.Q.D.

• Provamos que todo inteiro maior que 1 pode ser escrito como um produto de números primos.

Page 15: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Prof. Anselmo Paiva

Definições Recursivas

• recursão é um princípio relacionado à indução matemática.

• Numa definição recursiva um objeto é descrito em função de sim mesmo.

• Podemos definir recursivamente sequências, funções e conjuntos.

Page 16: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Prof. Anselmo Paiva

Sequências Recursivamente Definidas

• Exemplo:

• A sequência {an} de pontências de 2 é dada por an = 2n para n = 0, 1, 2, … .

• A mesma sequência pode ser definida recursivamente:

a0 = 1

an+1 = 2an para n = 0, 1, 2, …

• Obviamente indução e recursão são similares.

Page 17: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Prof. Anselmo Paiva

Funções Definidas Recursivamente

• Podemos usar o seguinte método para definir uma função com domínio nos números naturais:– Especifique o valor da função para zero.– Dê uma regra para encontraro valor da

função para um inteiro qualquer, a partir dos inteiros menores que ele.

• Um definição assim é denominada recursiva.

Page 18: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Prof. Anselmo Paiva

• Exemplo:

• f(0) = 3• f(n + 1) = 2f(n) + 3

• f(0) = 3• f(1) = 2f(0) + 3 = 23 + 3 = 9• f(2) = 2f(1) + 3 = 29 + 3 = 21• f(3) = 2f(2) + 3 = 221 + 3 = 45• f(4) = 2f(3) + 3 = 245 + 3 = 93

Funções Definidas Recursivamente

Page 19: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Prof. Anselmo Paiva

• Como definir a função fatorial (f(n) = n!) recursivamente ?

• f(0) = 1• f(n + 1) = (n + 1)f(n)

• f(0) = 1• f(1) = 1f(0) = 11 = 1• f(2) = 2f(1) = 21 = 2• f(3) = 3f(2) = 32 = 6• f(4) = 4f(3) = 46 = 24

Funções Definidas Recursivamente

Page 20: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Prof. Anselmo Paiva

• Exemplo: Números de Fibonacci• f(0) = 0, f(1) = 1• f(n) = f(n – 1) + f(n - 2)

• f(0) = 0• f(1) = 1• f(2) = f(1) + f(0) = 1 + 0 = 1• f(3) = f(2) + f(1) = 1 + 1 = 2• f(4) = f(3) + f(2) = 2 + 1 = 3• f(5) = f(4) + f(3) = 3 + 2 = 5• f(6) = f(5) + f(4) = 5 + 3 = 8

Funções Definidas Recursivamente

Page 21: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Prof. Anselmo Paiva

• Se queremos definir um conjunt recursivamente:– Um conjunto inicial de elementos,– Regras para construção des demais elementos

a apartir do conjunto incial.

• Exemplo: Seja S definido recursivamente por:– 3 S– (x + y) S if (x S) e (y S)

• S é o conjunto dos inteiros positivos divisíveis por 3.

Conjuntos Definidos Recursivamente

Page 22: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Prof. Anselmo Paiva

• Prova:

• Seja A o conjunto de todos os inteiros positivos divisíveis por 3.

• Para mostrar que A = S,(A S e S A).

• Parte I: Prove que A S– Mostrar que todo inteiro positivo divisível

por 3 está em S.

• Indução matemática.

Conjuntos Definidos Recursivamente

Page 23: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Prof. Anselmo Paiva

• Seja P(n) a afirmativa “3n pertence a S”.• Passo básico: P(1) é true, porque 3 está

em S.• Passo Indutivo: • Se P(n) é true, então P(n + 1) é true.

– Assuma que 3n está em S. – Como 3n está em S e 3 está em S– Da definição recursiva de S temos que

• 3n + 3 = 3(n + 1) também está em S.

• Conclusãon da Parte I: A S.

Conjuntos Definidos Recursivamente

Page 24: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Prof. Anselmo Paiva

• Part II: Mostrar que : S A.• Passo básico:

– Todos os elementos iniciais de S estão em A– 3 está em A. True.

• Passo Indutivo: – (x + y) está em A se x e y estão em S.– Se x e y estão em A,

• Então 3 | x e 3 | y. • Do Teorema Isegue que 3 | (x + y).

• Conclusão da Parte II: S A.• Logo: A = S.

Conjuntos Definidos Recursivamente

Page 25: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Prof. Anselmo Paiva

• Exemplo:

• Fórmulas bem formadas de variáveis, numeria s e operadores de {+, -, *, /, ^} são definidas por:– x é uma fórmula bem formada se x é um

numeral ou uma variável.– (f + g), (f – g), (f * g), (f / g), (f ^ g) são

fórmulas bem formadas.

Conjuntos Definidos Recursivamente

Page 26: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Prof. Anselmo Paiva

• Com esta definição, podemos construir fórmulas como::– (x – y)– ((z / 3) – y)– ((z / 3) – (6 + 5))– ((z / (2 * 4)) – (6 + 5))

Conjuntos Definidos Recursivamente

Page 27: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Prof. Anselmo Paiva

Algoritmos Recursivos

• Um algoritmo é denominado recursivo se resolve um problema reduzindo-o a uma instância do mesmo problema com tamanho menor.

• Exemplo I: Algoritmo Recursivo de Fibonacci

procedure fibo(n: nonnegative integer)if n = 0 then fibo(0) := 0else if n = 1 then fibo(1) := 1else fibo(n) := fibo(n – 1) + fibo(n – 2)

Page 28: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Prof. Anselmo Paiva

Algoritmos Recursivos

• Avaliação Recursiva de Fibonacci:

f(4)f(4)

f(3)f(3)

f(2)f(2)

f(1)f(1) f(0)f(0)

f(1)f(1)

f(2)f(2)

f(1)f(1) f(0)f(0)

Page 29: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Prof. Anselmo Paiva

Algoritmos Recursivos

procedure iterative_fibo(n: nonnegative integer)if n = 0 then

y := 0else

x := 0y := 1for i := 1 to n-1

z := x + yx : = yy := z

endend {y is the n-th Fibonacci number}

Page 30: Indução Matemática Recursão

Dep

art

am

en

to d

e In

form

áti

ca –

E D

L

M

Prof. Anselmo Paiva

Algoritmos Recursivos

• Para cada algoritmo recursivo, existe um equivalente iterativo.

• Algoritmos recursivos são menores, mais elegantes e fáceis de entender

• Algoritmos iterativos são em geral mais eficientes em tempo e memória.