Análise de Algoritmos - Indução Matemática

Propaganda
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.
Download