segunda-feira, 29 de fevereiro de 2016

Pensando Sobre Matemática #51 - Somando

Somar parece uma coisa fácil, mas quando a soma fica grande, a gente passa pro computador, não é?


E essa integral que era a logo antiga não vai resolver o seu problema.

Eu sei, eu sei que estou relaxando com os posts de matemática, mas isso é difícil de escrever. Não porque não tenha uma ferramenta útil o suficiente, mas porque tornar matemática algo um pouco mais lúdico usando apenas palavras é um trabalho para gênios como Ian Stewart e Leonard Mlodinow.

Eu sou apenas um gnomo perto desses magos.

Mas eu sou teimoso pra cacete e cá estamos nós fazendo mais uma tentativa das 3 que eu estou devendo, e hoje eu vou falar um pouco sobre o algoritmo de soma. Todo mundo já deve estar acostumado ao famoso vai 1. Organizar as casas decimais e somá-las fazendo o famoso vai 1 é uma técnica realmente poderosa e dá certo.

Dá tão certo que até os computadores a usam.

Sim, os computadores também fazem o famoso vai 1, também conhecido em inglês como "carry", e daí você pode trocar todas as suas Carries por Carry e vai fazer um gigantesco algoritmo de soma fazendo diversos vai 1.

Da mesma forma que você, os computadores também fazem notação posicional. Só que eles fazem em binário e você faz em decimal. Agora veja, você faz isso a tanto tempo que provavelmente nunca deve ter parado pra pensar: Será que existe outra forma de somar?

E a resposta é: Sim! Existe. Só que ela é terrívelmente ineficiente e faria com que as pessoas ou computadores demorassem séculos para fazer qualquer cálculo. É uma forma bastante intuitiva até. Veja bem, você sabe contar, não sabe? Você sabe que os números naturais tem uma ordem(vamos nos ater a soma de naturais), e que eles possuem antecessor e sucessor, e sabe quem é o antecessor y e sucessor z de y=x-1 z=x+1 Agora pegue duas parcelas A e B: A+B=C Calcule o sucessor de A e o antecessor de B, certamente você pode dizer que por adicionar e retirar 1: A+B=(A+1)+(B-1) Agora faça isso até que B se torne 0. Quando B se tornar 0 você vai ter o valor da soma em A. A+B=(A+B)+0 Resolve seu problema? Resolve. É rápido? Não. Na verdade todas as operações possuem algoritmos para serem executadas, pois em um nível abstrato, você conseguiria todas as respostas instantaneamente, porém isso não é verdade porque mesmo as máquinas precisam executar algoritmos de cálculo para encontrar as respostas.

Somar pode ser simples, mas será que não existe outra forma de somar coisas?

2 comentários:

  1. Eu acho que eu me perdi em algum sucessor ou antecessor ali de cima, mas tah valendo.

    ResponderExcluir
  2. A brincadeira é simplesmente mostrar que você chega no mesmo resultado andando de 1 em 1. É muito menos eficiente, mas funciona.

    ResponderExcluir