O uso da abstração para resolução de problemas – Recursividade

Imagine que seja possível, à partir de regras claras, tomar um objeto ou informação inicial e começar a construir, indefinidamente, novos objetos ou informações e que as novas cópias possam ser ou idênticas ou ligeiramente diferentes ao objeto inicial.
É fácil perceber a utilidade da construção de cópias idênticas: fábricas e linhas de montagem, por exemplo, funcionam desta forma. Mas e quanto à cópias ligeiramente diferentes? Qual a utilidade disto? Por que alguém se preocuparia em estudar casos assim?
Bom, a resposta reside em um processo chamado de recursão: no ambito geral, a recursão é um processo de repetição onde, a partir de uma informação ou objeto, uma nova informação (ou objeto) é gerada. Assim como a redutibilidade, a recursividade também é uma forma de resolução de problemas que exige grande estudo e compreensão das regras do problema tratado.
Para que possa ocorrer, geralmente precisa de uma base e os elementos gerados à partir desta base pela recursão formam uma classe de objetos (ou informações).
A recursão é bastante conhecida em sequências numéricas, como a de Fibonacci: na matemática, os Números de Fibonacci são uma sequência definida pela fórmula abaixo: F(n) = {0 se n = 0, 1 se n = 1, (F(n) – 1) + (F(n) – 2) nos demais casos}.
Na prática: você começa com 0 e 1, e então produz o próximo número de Fibonacci somando os dois anteriores para formar o próximo. Os primeiros Números de Fibonacci são 0, 1, 1, 2, 3, 5, 8, 13…
A recursão também pode ser usada para definir e resolver problemas como a Torre de Hanoi: é um quebra cabeça lógico que trata da movimentação de discos em uma base. A base é composta de três pinos. O primeiro pino (ou pino inicial) contém uma determinada quantidade de discos que devem ser movidos para o terceiro pino (pino final) de forma que fiquem na mesma ordem em que se encontram no pino inicial. O jogo conta com duas restrições: Apenas um
disco pode ser movido por vez e, um disco só pode ser colocado sobre um disco de tamanho menor a ele mesmo (não existem dois discos com o mesmo tamanho no jogo). O segundo pino pode ser utilizado para auxiliar na movimentação das peças.
A dificuldade da solução manual deste problema é gigantesca: o número mínimo de “movimentos” para conseguir transferir todos os discos da primeira estaca à terceira é 2^n-1, sendo n o número de discos. Logo:
Para solucionar um Hanói de 3 discos, são necessários 7 movimentos. Com 7 discos, são necessários 127 movimentos, com 15 discos são 32.767 movimentos.
Com a recursão e auxilio de um computador, este problema pode ser rapidamente resolvido. Sem o computador, se você tentar resolver o problema com 15 discos, levando 1 segundo para mover cada disco e não cometer nenhum erro, vai precisar de mais de 9 horas para resolve-lo.
E não apenas nós, seres humanos, utilizamos de recursão para a resolução (ou criação) de problemas. A prórpia natureza parece ter seus truques: Um artigo escrito por uma equipe de Harvard, liderada por James Bird, descreve uma série de processos que leva que bolhas de sabão sobre um fluido não desaparecem depois de estourar. Em vez disso, elas geram um anel formado por outras bolhas menores.
Isso ocorre porque a bolha estourada se retrai sobre o líquido, capturando ar.
O processo é recursivo: uma bolha gera um círculos de bolhinhas; cada uma das bolhinhas, por sua vez, gera um novo círculo de bolhinhas, e assim sucessivamente. A série de processos que leva à formação das minibolhas, descritas no artigo, permite que a presença de minibolhas seja minimizada em determinados ambientes: “Em casos em que pequenas bolhas são prejudiciais, como na produção de vidros, nossos resultados podem ajudar”, disse Bird à “BBC News”.
Sim, recursão também pode fazer com que nerds com pesquisas estranhas fiquem ricos se acharam a aplicação correta e patentearem as descobertas.

One comment

Deixe sua opinião!

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s