Linux, Open-source, Programação e Produtividade

O Iogurte Indutivo

Breno Franco em 17/08/2007

Como muitos de vocês devem saber, é possível fazer iogurte a partir de leite e de um pouco de iogurte. Imagine que temos tanto leite quanto for necessário. Então, se tivermos algum iogurte, podemos fazer uma leva de iogurte. Dessa leva, podemos reservar um pouco para a produção de outra leva, da qual podemos tirar um pouco para originar a terceira, e assim por diante.

De forma geral, se tivermos uma leva de iogurte, podemos produzir a próxima a partir de atividades simples, as quais temos recursos para realizar. Então conseguimos produzir qualquer número de levas de iogurte. Basta que tenhamos o iogurte original e que consigamos fazer a próxima leva a partir da anterior.

Se você conseguiu acompanhar esses iogurtes todos, você entendeu o princípio da indução finita (ainda que muito informalmente).

Na indução, temos um caso base, B, para o qual a fórmula que se quer provar verdadeira é de fato verdadeira (nos laticínios, trata-se do iogurte que deu origem aos outros). Se conseguirmos atestar que a fórmula é verdadeira para um natural N a partir da premissa de que é válida para (N-1), isto é, que conseguimos construir a próxima solução a partir da solução atual (em nossa analogia, fazer a próxima leva de iogurte), então podemos afirmar que o que queremos provar vale para todo natural maior do que B.

Da próxima vez, em O Iogurte Recursivo, a explicação será um pouco mais aprofundada e abordará recursão também.