Indução Matemática Análise de Algoritmos Indução Matemática Profa. Sheila Morais de Almeida DAINF-UTFPR-PG março - 2016 Indução Matemática Indução Matemática Suponha que desejamos provar um Teorema T que possui um parâmetro n cujo valor pode ser qualquer número natural. Em vez de provar diretamente que T é verdade para todos os números naturais n, podemos provar que T é verdade execuntando os seguintes passos: 1 Provar que T é verdade quando n = 1. 2 Mostrar que para todo n ≥ 1, se T vale para n, então T vale para n + 1. Indução Matemática Indução Matemática 1 Provar que T é verdade quando n = 1. 2 Mostrar que para todo n ≥ 1, se T vale para n, então T vale para n + 1. Dessa forma, se provarmos o item (1), a afirmação T (1) é verdade. Indução Matemática Indução Matemática 1 Provar que T é verdade quando n = 1. 2 Mostrar que para todo n ≥ 1, se T vale para n, então T vale para n + 1. Se provarmos o item (2), garantimos que se T (1) é verdade, então T (2) é verdade. Portanto, se provamos que T (1) é verdade e provamos (2), então T (2) é verdade. Indução Matemática Indução Matemática 1 Provar que T é verdade quando n = 1. 2 Mostrar que para todo n ≥ 1, se T vale para n, então T vale para n + 1. Já que T (2) é verdade, pelo item 2, T (3) é verdade. Já que T (3) é verdade, então T (4) é verdade. E assim sucessivamente! Consequentemente, pelas provas (1) e (2), T (n) é verdade para todo inteiro n ≥ 1. Indução Matemática Indução Matemática Passos para uma prova por indução matemática: 1 Base: provar que o teorema vale para o menor inteiro considerado. 2 Hipótese de indução: considerar que o teorema é verdadeiro para algum inteiro k. 3 Passo da indução: provar que quando o teorema é verdade para k, ele também é verdade para k + 1. Indução Matemática Exemplo 1 Provar que Pn i=1 i = 1 + 2 + 3...n = n(n+1) . 2 Base: Note que o primeiro número na sequência a ser somada é o número 1. Então, precisamos provar que a fórmula vale para n = 1, ou seja: P1 i=1 i precisa ser igual ao valor que a fórmula quando n = 1. • n(n+1) 2 apresenta P1 i=1 i é a soma dos valores de i, variando de 1 até 1, então o resultado é 1. • Na fórmula, com n = 1, temos: n(n+1) = 1(1+1) = 1. 2 2 Indução Matemática Exemplo 1 Hipótese de indução: Suponha que k X i = 1 + 2 + 3...k = i=1 k(k + 1) , 2 para algum inteiro k. Com essa suposição, vamos tentar provar o passo, ou seja, que a fórmula também vai responder corretamente se somarmos todos os números de 1 até k + 1. Indução Matemática Exemplo 1 Passo: Queremos saber quanto vale (k+1) X i = 1 + 2 + 3 . . . k + (k + 1). i=1 Precisamos provar que o resultado desse somatório é igual ao resultado da fórmula n(n + 1) 2 quando n = k + 1. Indução Matemática Exemplo 1 Vamos manipular o somatório 1 + 2 + 3 . . . k + (k + 1) para tentar chegar à mesma fórmula que nos foi dada no enunciado. Vamos usar a suposição de que a hipótese de indução é verdadeira e tentar provar o passo, ou seja, provar que a fórmula é a mesma para o somatório de 1 até k + 1. Indução Matemática Exemplo 1 Por hipótese de indução: 1 + 2 + 3 . . . + k+(k + 1) = k(k + 1) +(k + 1) = 2 k(k + 1) + 2(k + 1) (k + 2)(k + 1) = 2 2 Indução Matemática Exemplo 1 Veja que o resultado do somatório dos números de 1 até k +1, obtido no slide anterior, é o mesmo que obtemos quando substituı́mos n por k + 1 na fórmula do enunciado: Pn i=1 i = n(n+1) 2 = (k+1)(k+2) . 2 Como provamos que a fórmula vale para n = 1 e que, se for verdade para um inteiro n = k, então é verdade para n = k + 1, a indução está completa. Indução Matemática Exemplo 2 Encontre uma fórmula para a soma T (n) = 8 + 13 + 18 + 23 + . . . (3 + 5n). Observe que cada elemento desse somatório é um pouco mais que 5 vezes o valor do elemento no exemplo anterior. Parece razoável supor que essa função também é quadrática. Suponha que T (n) = 8 + 13 + 18 + 23 + . . . (3 + 5n) = c1 n2 + c2 n + c3 . Indução Matemática Exemplo 2 Suponha que T (n) = 8 + 13 + 18 + 23 + . . . (3 + 5n) = c1 n2 + c2 n + c3 . Observe que o primeiro termo (8) foi calculado considerando n = 1: 3 + 5n = 3 + 5 × 1 = 8. Então, quando n = 0, tem-se T (0) = 0. Então, quando n = 0, c3 deve ser 0. Se n = 1, temos: 1c1 + 1c2 = T (1) = 8. Se n = 2, temos: 4c1 + 2c2 = T (2) = 8 + 13. Indução Matemática Exemplo 2 Para saber os valores de c1 e c2 , basta resolver o seguinte sistema de equações lineares: 1c1 +1c2 = 8 4c1 +2c2 = 8 + 13 c1 = 2, 5 e c2 = 5, 5 Então, acreditamos que T (n) = 2, 5n2 + 5, 5n + 0. Vamos provar! Indução Matemática Exemplo 2 Base: Já mostramos que a fórmula funciona para os casos n = 0, n = 1 e n = 2. Hipótese de indução: Suponha que 8 + 13 + 18 + . . . + (3 + 5k) = 2, 5k 2 + 5, 5k para um inteiro k. Indução Matemática Exemplo 2 Passo: Vamos provar que se a hipótese é verdadeira, então o resultado do somatório quando n = k + 1: 8 + 13 + 18 + . . . + (3 + 5k) + (3 + 5(k + 1)) também é igual ao da fórmula 2, 5n2 + 5, 5n quando n = k + 1. Indução Matemática Exemplo 2 Passo: 8 + 13 + 18 + . . . + (3 + 5k) + (3 + 5(k + 1)) pela hipótese de indução, é igual a: 2, 5k 2 + 5, 5k + (3 + 5(k + 1)) = 2, 5k 2 + 5, 5k + 5k + 8 = 2, 5k 2 + 5k + 2, 5 + 5, 5k + 5, 5 = 2, 5(k 2 + 2k + 1) + 5, 5(k + 1) = 2, 5(k + 1)2 + 5, 5(k + 1) Indução Matemática Exemplo 2 Veja que o resultado obtido no slide anterior é o mesmo que obtemos quando substituı́mos n por k + 1 na fórmula do enunciado: 8 + 13 + 18 + . . . + (3 + 5(k + 1)) = 2, 5(k + 1)2 + 5, 5(k + 1) Então a fórmula está correta para o caso n = k + 1. Como provamos que a fórmula vale para n = 1 e provamos que, se for verdade para um inteiro n = k, então é verdade para n = k + 1, a indução está completa. Indução Matemática Exemplo 3 Prove que para qualquer par de números naturais, x e n, x n − 1 é divisı́vel por x − 1 A indução é em n. Base: n = 1 Quando n = 1, tem-se x n − 1 = x 1 − 1 = x − 1, que é divisı́vel por x − 1. Portanto, o Teorema vale quando n = 1. Indução Matemática Exemplo 3 Hipótese de indução: Suponha que é verdade que x k − 1 é divisı́vel por x − 1, para qualquer k natural. Então, x k − 1 = a(x − 1), para algum valor a inteiro. Indução Matemática Exemplo 3 Passo: Vamos provar que, se a hipótese é verdadeira, então x (k+1) − 1 é divisı́vel por x − 1. x (k+1) − 1 = x(x k ) − 1 = x(x k ) − x + x − 1 = x(x k − 1) + x − 1 = Pela hipótese de indução: x(x k −1)+x−1 = x[a(x−1)]+x−1 = ax(x−1)+(x−1) = (ax+1)(x−1) Portanto, x (k+1) − 1 = (ax + 1)(x − 1) é divisı́vel por (x − 1). Indução Matemática Exemplo 4 Prove que se n é um número natural e 1 + x > 0, então (1 + x)n ≥ 1 + nx. A prova é por indução em n. Base: n = 1 (1 + x)1 ≥ 1 + 1x 1+x ≥1+x Indução Matemática Exemplo 4 Hipótese de indução: Considere n = k, um número natural. Suponha que (1 + x)k ≥ 1 + k. Indução Matemática Exemplo 4 Passo: Vamos verificar se (1 + x)k+1 ≥ 1 + (k + 1). (1 + x)k+1 = (1 + x)(1 + x)k Pela hipótese de indução: (1 + x)(1 + x)k ≥ (1 + x)(1 + k) ≥ x(k + 1) + (k + 1) Como k é natural e x > 1, x(k + 1) ≥ 1. Então, x(k + 1) + (k + 1) ≥ 1 + (k + 1) Indução Matemática Referências U. MAMBER, Introduction to Algorithms: a Creative Approach, Addison Wesley, 1st ed., 1989.