Modernizando as forças armadas com tecnologia

No próximo dia 2 de Julho completar-se-ão 69 anos da partida dos primeiros homens brasileiros para lutar na segunda guerra mundial. Apesar de serem apenas uma gota num oceano de gente que lutou na segunda guerra mundial, estes 25.334 homens deixaram suas famílias, suas casas e até o Flamengo para lutar pela liberdade. Mas voltamos a este assunto depois.

Começo aqui uma série de 4 posts, este será provavelmente o mais longo, falando da necessidade de modernizar nossas forças armadas. Começo pela maior delas o Exército.

Os últimos 10 anos produziram um enorme sucateamento do exército brasileiro, humilhado a tropa e fazendo com que poucas pessoas aspirassem à vocação militar e o desejo de servir o país (ao contrário muitos desejaram se servir do país mamando num cargo público depois de investir num concurso.). Analisando a situação do exército vemos que há várias áreas que necessitam de investimento e dou abaixo alguns exemplos.

Infantaria: “Infantaria és das armas a rainha, por ti daria a vida minha, és a eterna majestade das linhas combatentes…“, assim começa o hino da infantaria, no entanto a realidade é bem diferente. A infantaria não necessita no momento tanto de equipamentos, mas de treinamento. Um soldado precisa efetuar pelo menos 1000 disparos ao ano para manter a proficiência no uso do equipamento, precisa ter exercícios militares constantes e treinamentos em habilidades especiais. Como já se comentou em muitos locais todos os militares no campo de batalha precisam portar pistola. Do contrário os que portam pistola são facilmente identificáveis como oficiais e passam a ter um enorme x na testa para atiradores de elite inimigos.

Cavalaria: Apesar de ser uma das áreas do exército que tem menos atraso, a cavalaria precisa encontrar um substituto para os blindados Leopard e adquirir mais lançadores de foguetes Astros 2020.

Artilharia: Aqui há necessidade de modernização urgente. Principalmente no que tange a defesa anti-aérea. O Brasil precisa adquirir baterias modernas, S-300 Russo ou Patriot. Não podemos manter a política de zero defesa anti-aérea.w

Comunicações: Tecnologia e Internet. Hoje o Brasil tem capacidade zero de engajar numa guerra eletrônica. Se você entrar num quartel sentirá vontade de doar aquele Pentium IV velho que tem guardado em casa. Guerra eletrônica, rede segura de comunicações entre quarteis e instalações militares, comunicação pessoal segura são algumas das necessidades desta área.

Aviação do Exército: atualmente o exército brasileiro tem pouco mais de 80 helicópteros sendo que boa parte não está 100% em condições operacionais. Enquanto a FAB conseguiu adquirir 12 helicópteros de ataque MI-35 o exército não tem nenhum destes. Toda a parte de suporte a divisão paraquedista (que ainda é pequena) depende do apoio da FAB.

Como dizia no começo, no próximo dia 2 de Julho completar-se-ão 69 anos da partida dos primeiros homens brasileiros para lutar na segunda guerra mundial. Apesar de serem apenas uma gota num oceano de gente que lutou na segunda guerra mundial, estes 25.334 homens deixaram suas famílias, suas casas e até o Flamengo para lutar pela liberdade.

José Perácio era um centroavante, ídolo no Botafogo e depois no Flamengo. Após ser campeão carioca pelo Flamengo em 42-43 e jogar parte do campeonato de 44, Perácio foi voluntário para ir combater o Nazismo na Europa. Perácio não morreu em combate, o Flamengo foi tri-campeão e em 1945, após a guerra Perácio voltou a defender o Flamengo.

Muitos destes homens foram para a Europa cantando a canção abaixo, que me deixa arrepiado ao pensar nas circunstâncias e eu me pergunto: será que o Neymar faria o mesmo?


Estimando Pi com agulhas e linhas

Há alguns dias, assisti a um vídeo muito legal que mostrava que era possível estimar Pi pelo número de vezes que uma agulha cruzasse linhas verticais num tabuleiro no qual as linhas verticais fossem separadas por uma distância igual ao dobro do tamanho da agulha.

Para testar o que o sujeito fez no vídeo com fósforos, no lugar de agulhas, fiz um programinha em Javascript que deixo abaixo. Como o Javascript não é uma linguagem muito apropriada para isso, não esperem muita precisão nem muita performance. No final do post mostro uma solução mais elegante.

Atenção não coloque mais de 1.000.000 de agulhas ou seu browser pode travar.

Esse método de estimar Pi, é baseado no problema da agulha de Buffon, que foi proposto lá pelo século XVIII, pelo matemático francês Conde de Buffon.

A proposição diz o seguinte: Dada uma agulha com comprimento l e um assoalho com tábuas de largura t, a probabilidade de se jogar uma agulha no chão e ela cair sobre uma junção de tábuas é \frac{2l}{t\pi}.

Se l = \frac{t}{2}, então a probabilidade da agulha cair sobre uma junção é \frac{1}{\pi}

Portanto, se jogarmos N agulhas no chão e o número de agulhas que caírem sobre as junções for h, poderemos aproximar \pi pela fração \frac{N}{h}.

A demonstração dessa probabilidade você encontra aqui. Coloquei o link da Wikipedia em inglês porque essa página na Wikipedia lusófona está muito ruim.

Não satisfeito com a implementação porca que eu fiz em Javascript, o Pedro Paulo resolveu fazer uma muito mais eficiente e elegante em python, que deixo abaixo:

#!/usr/bin/env python
import math, random
 
def generateNeedles (n):
    cross = 0
    for i in xrange(n):
        x = random.random()
        theta = random.random()*(math.pi/2.0)
        if ((x + 0.25*math.cos(theta)) >= 1.0):
            cross += 1
        else:
            if ((x - 0.25*math.cos(theta)) <=0.0):
                cross += 1
    return cross
 
needleCount = 30000000
cross = generateNeedles(needleCount)
print cross,needleCount, needleCount / float(cross)

Ao executar o script acima obtive os seguintes resultados:

30.000 agulhas 3.13217790771
300.000 agulhas 3.14261171985
3.000.000 agulhas 3.14226609757
30.000.000 agulhas 3.1423348868

Esse Conde de Buffon deve ter perdido muita agulha deixando cair entre uma tábua e outra do piso de casa, só pode… 🙂

[Breaking News] – Google compra o Waze

A Apple perdeu uma grande chance de ter um sistema de mapas bom.

Hoje o Google anunciou a compra do Waze (que na minha opinião é o melhor serviço de trânsito que existe). O Waze é desenvolvido em Israel e continuará por enquanto separado do Google. Veja abaixo a nota oficial.

We’ve all been there: stuck in traffic, frustrated that you chose the wrong route on the drive to work. But imagine if you could see real-time traffic updates from friends and fellow travelers ahead of you, calling out “fender bender…totally stuck in left lane!” and showing faster routes that others are taking.

To help you outsmart traffic, today we’re excited to anno

unce we’ve closed the acquisition of Waze. This fast-growing community of traffic-obsessed drivers is working together to find the best routes from home to work, every day.

The Waze product development team will remain in Israel and operate separately for now. We’re excited about the prospect of enhancing Google Maps with some of the traffic update features provided by Waze and enhancing Waze with Google’s search capabilities.

We’ll also work closely with the vibrant Waze community, who are the DNA of this app, to ensure they have what’s needed to grow and prosper.

The Waze community and its dedicated team have created a great source of timely road corrections and updates. We welcome them to Google and look forward to working with them in our ongoing effort to make a comprehensive, accurate and useful map of the world.

Posted by Brian McClendon, Vice President, Geo

Google and Waze deal

Qual é o maior número que existe?

Suponhamos que estão reunidos quatro amigos numa mesa de bar, um médico, um advogado (os outros estão de olho nas suas carteiras…), um matemático e um engenheiro de computação. Depois de muitas cervejas, para decidir quem paga a conta eles fazem a seguinte disputa: “em quinze segundos, quem escrever o maior número não paga”.

Antes que o advogado garfasse eles escrevendo o maior número que todo mundo escreveu mais 10%, ele costumava cobrar “10 purça” nos seus negócios com o governo, o pessoal estabeleceu algumas regras: não vale escrever algo que não seja calculável (assim elimina o truque do advogado), nem escrever coisas não numéricas como infinito, \aleph_0, etc.

Cada um pegou seu guardanapo e deram a largada.

O advogado escreveu 10000000000000000000000000000 e acabou o tempo.

O médico, um pouco mais sabedor de matemática escreveu 10^{10000000000000000000000000} e acabou o tempo.

O matemático escreveu 10^{10^{10^{10^{10^{10^{10}}}}}} e acabou o tempo.

E o cara da computação escreveu A(100,100), onde A é a função de Ackerman.

Não preciso dizer quem ganhou …

A função de Ackerman é definida para números inteiros maiores ou iguais a 0 pela seguinte descrição:

A(m,n) = n + 1 se m = 0
A(m,n) = A(m-1,1) se m > 0 e n = 0
A(m,n) = A(m-1,A(m,n-1)) se m>0 e n>0

Ou em Python de forma simples:

def A(m,n):
    if m==0:
       return n+1
    if n==0:
       return A(m-1,1)
    return A(m-1,A(m,n-1))

Esta inocente função produz resultados brutalmente gigantes rapidamente. A(4,4) = 2^2^2^2^2^2^2 – 3

Se você quiser ter uma idéia do dano causado por isto vá no seu python e digite: 2**2

A seguir digite: 2**2**2

Depois digite 2**2**2**2

Se fizer isto mais uma vez vai comer toda sua memória e não vai terminar o cálculo.

A(100,100) é um número tão gigante que nós nem temos bytes suficientes no mundo para representá-lo.

Portanto o advogado, o médico e o matemático pagaram as bebidas do cara da computação. Não sabiam eles, que no próximo encontro, iriam pagar de novo, pois o cara da computação sabia uma função ainda mais brutal que a de Ackerman.

Se você quiser saber mais sobre este assunto leia o artigo: “Who Can Name the Bigger Number?.”

numbers