sistemas dinâmicos

algoritmo de Heron


Um problema prático, natural nas sociedades baseadas na agricultura, como os Babilónios ou os Egípcios, é:

construir um quadrado dada a sua área.


''Construir'' um quadrado quer dizer determinar a medida do seu lado. Assim, se A denota a área do quadrado, o lado L será o comprimento tal que L×L=A, ou seja, a ''raiz quadrada'' de A.


"Algoritmo'' dos Babilónios ou de Heron. A tábua YBC 7289, da Coleção da Babilónia de Yale (New Heaven), é uma das tábuas matemáticas dos Babilónios (1700 a.C.) mais conhecidas. O valor 1;24,51,10 (em notação sexagesimal) aparece nessa tábua como aproximação para a raiz quadrada de 2. É possível que os Babilónios tenham usado o seguinte procedimento iterativo. Uma primeira aproximação é 3/2=1;30. Porque este número é superior ao valor desejado e é, portanto, inferior a 2/(1;30)=1;20, uma segunda aproximação será a média entre estes dois valores, ou seja, 1;25. Repetindo o processo, uma terceira e melhor aproximação será a média entre 1;25 e 2/(1;25)=1;24,42,21, ou seja, 1;24,51,10. Este processo é matematicamente equivalente ao chamado Método de Heron de extração da raiz quadrada que pode ser encontrado em "Metrica" I 8, onde Heron (10 d.C. -70 d.C.) calcula uma aproximação da raiz quadrada de 720. Heron descreve como encontrar a área de um triângulo de lados 7, 8 e 9, depois de ter deduzido a fórmula

área = raiz quadrada de s(s-a)(s-b)(s-c),

onde s=(a+b+c)/2 e a, b e c são as medidas dos lados.





                                                                                                       




Interpretação geométrica e algoritmo. Se b1 é uma primeira conjectura para o lado do quadrado, construímos o retângulo de base b1 e área A.
A sua altura deve ser a1=A/b1.
Se b1 é diferente de a1, o rectângulo não é um quadrado!, e somos obrigados a melhorar a nossa estimativa.
Uma segunda e melhor conjetura pode ser uma base b2 igual à média aritmética (b1+ a1)/2 .
A nova altura será então a2=A/b2.
Acontece que também estes dois números, b2 e a2, são diferentes, e de facto aproximam o valor desejado por excesso e por defeito, respetivamente.
Iterando o procedimento, a sequência de estimativas para a base procurada é definida pela equação recursiva

bn+1 = (bn + A / bn) / 2

que supostamente fornecem aproximações cada vez melhores do lado do quadrado.






Experiência. Aqui podem experimentar a receita. A conjetura inicial para a raiz quadrada de 2 é um número aleatório entre 0 e 2,


 


ou um número entre 1/4 e 4 que podem escolher mexendo a bolinha vermelha. Como podem ver, poucas iterações são suficientes para que o resultado seja estabilizado.







Controlo dos erros. As sequências de bases e alturas são determinadas, respetivamente, pelas equações recursivas

bn+1 = (bn + an) / 2

1 / an+1 = (1/bn + 1/an) / 2



Ou seja, as novas bases e alturas são a média aritmética e a média harmónica, respectivamente, das anteriores.

 obs. Pode ser interessante fazer uma digressão e investigar os significados (e a relação de dualidade) da média aritmética e da média harmónica.


Um cálculo elementar mostra que a diferença

bn+1-an+1 é positiva, pois é igual a (bn-an)2/2(bn+an), e portanto a distribuição das bases e alturas na recta é

a2   <   a3   <   ...   <   an   <   an+1  <   ...   <   bn+1   <   bn   <   ...   <   b3   <   b2

Consequentemente, quer geometricamente quer algebricamente, é claro que o lado procurado L está algures entre as bases e as alturas obtidas em cada iteração.

Por outras palavras, a diferença bn-an é uma medida da precisão da conjectura bn ∼ L.

 ex. Escreva um programa que implementa o algorítmo de Héron para calcular raizes quadradas com uma precisão determinada.






Controlo apriori. A desigualdade elementar

bn-an < bn+an

implica que

bn+1 - an+1 < (bn - an) / 2


Mas isto quer dizer que a precisão da estimativa bn ∼ L diminui, pelo menos, de um fator 1/2 em cada iteração!


 ex. Determine quantas iterações são suficientes para estimar a raiz quadrada de A com um erro inferior a 10-n, a partir da conjectura inicial ingénua b1=A.






Convergência do algorítmo. Dada uma conjetura inicial b1, e dada uma precisão arbitrária ε, existe um número de passos n tal que |bn-L| < ε, i.e.,

''a sequência (bn) converge, e tem limite L''.

O único ingrediente não trivial da demonstração é algo que os Babilónios não suspeitavam ser um problema, ... a ''existência'' do número L !


 ex. Mostre que se a primeira conjectura b1 não é a resposta do problema, então nenhum dos outros bn tem quadrado igual a A.


O problema dos números irracionais. O teorema de Pitágoras, que os Babilónios conheciam, implica que a diagonal de um quadrado de lado unitário tem quadrado igual a 2. O facto é que, pelo menos aparentemente, os Babilónios apenas tratavam frações entre números inteiros. A descoberta da incomensurabilidade entre a diagonal e o lado de um quadrado (ou seja, da "irracionalidade" da raiz quadrada de 2) é atribuída aos Pitagóricos.

 ex. Mostre que a raiz quadrada de 2 não pode ser igual ao quociente p/q entre dois números inteiros.



bibliografia

Carl B. Boyer, A history of mathematics, John Wiley & Sons, 1968.

O. Neugebauer, The exact sciences in antiquity, Dover, 1969.

B.L. Van der Waerden, Science awakening, Oxford University Press, 1961.