A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

1 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

2 Departamento de Informática – 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.

3 Departamento de Informática – 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 n  N. (passo indutivo) –Então P(n) deve ser true para qualquer n  N. (conclusão)

4 Departamento de Informática – 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.

5 Departamento de Informática – 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

6 Departamento de Informática – 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

7 Departamento de Informática – E D L M Prof. Anselmo Paiva Indução Outro exemplo (“Gauss”): … + n = n (n + 1)/2 Mostre que P(0) é true.(passo base) Para n = 0 temos 0 = 0. True.

8 Departamento de Informática – E D L M Prof. Anselmo Paiva Indução Mostre que se P(n) então P(n + 1) para qualquer n  N. (passo indutivo) … + n = n (n + 1)/ … + n + (n + 1) = n (n + 1)/2 + (n + 1) = (2n n (n + 1))/2 = (2n n2 + n)/2 = (2 + 3n + n2 )/2 = (n + 1) (n + 2)/2 = (n + 1) ((n + 1) + 1)/2

9 Departamento de Informática – E D L M Prof. Anselmo Paiva Indução Então P(n) deve ser true para todo n  N. (conclusão) … + n = n (n + 1)/2 é true para todo n  N. C.Q.D.

10 Departamento de Informática – 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.

11 Departamento de Informática – 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 n  N. (passo indutivo) Então P(n) deve ser true para todo n  N. (conclusão)

12 Departamento de Informática – 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.

13 Departamento de Informática – 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 n  N. (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 que 2  a  b < n + 1. Pwla hipótese de indução, a e b podems er escritos como produtos de primos. –Então, n + 1 = a  b pode ser escrito como um produto de primor.

14 Departamento de Informática – E D L M Prof. Anselmo Paiva Indução Assim, P(n) deve ser true para qualquer n  N. (conclusão) C.Q.D. Provamos que todo inteiro maior que 1 pode ser escrito como um produto de números primos.

15 Departamento de Informática – 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.

16 Departamento de Informática – E D L M Prof. Anselmo Paiva Sequências Recursivamente Definidas Exemplo: A sequência {a n } de pontências de 2 é dada por a n = 2 n para n = 0, 1, 2, …. A mesma sequência pode ser definida recursivamente: a 0 = 1 a n+1 = 2a n para n = 0, 1, 2, … Obviamente indução e recursão são similares.

17 Departamento de Informática – 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.

18 Departamento de Informática – 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 = 2  = 9 f(2) = 2f(1) + 3 = 2  = 21 f(3) = 2f(2) + 3 = 2  = 45 f(4) = 2f(3) + 3 = 2  = 93 Funções Definidas Recursivamente

19 Departamento de Informática – 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) = 1  1 = 1 f(2) = 2f(1) = 2  1 = 2 f(3) = 3f(2) = 3  2 = 6 f(4) = 4f(3) = 4  6 = 24 Funções Definidas Recursivamente

20 Departamento de Informática – 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 f(3) = f(2) + f(1) = = 2 f(4) = f(3) + f(2) = = 3 f(5) = f(4) + f(3) = = 5 f(6) = f(5) + f(4) = = 8 Funções Definidas Recursivamente

21 Departamento de Informática – 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

22 Departamento de Informática – 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

23 Departamento de Informática – 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

24 Departamento de Informática – 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

25 Departamento de Informática – 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

26 Departamento de Informática – 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

27 Departamento de Informática – 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) := 0 else if n = 1 then fibo(1) := 1 else fibo(n) := fibo(n – 1) + fibo(n – 2)

28 Departamento de Informática – E D L M Prof. Anselmo Paiva Algoritmos Recursivos Avaliação Recursiva de Fibonacci:f(4) f(3) f(2) f(1) f(0) f(1) f(2) f(1) f(0)

29 Departamento de Informática – E D L M Prof. Anselmo Paiva Algoritmos Recursivos procedure iterative_fibo(n: nonnegative integer) if n = 0 then y := 0 else x := 0 y := 1 for i := 1 to n-1 z := x + y x : = y y := z end end {y is the n-th Fibonacci number}

30 Departamento de Informática – 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.


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google