Usando a técnica das metades para resolver problemas do cotidiano

Antes, um famoso enigma: Você tem 8 bolas idênticas na cor e no tamanho, porém somente uma delas tem o peso ligeiramente maior, totalmente imperceptivel para a sensibilidade humana. Com uma balança de comparação de pesos, como você pode encontrar com certeza qual a bola mais pesada usando a balança somente 2 vezes? (pense um pouco na solução antes de continuar a ler o texto)

Quando eu trabalhava na faculdade, tinha um problema que me fazia arrancar os cabelos: quando algum professor ou aluno resolvia configurar o IP do micro do laboratório sem consultar o administrador da rede. Resultado: sempre aparecia algum conflito de IP.

Como bater de porta em porta era inviável – pelo tamanho do prédio e porque todo mundo sempre falava “eu não fiz nada” – acabei sendo apresentado para “a técnica das metades” (conhecido ciêntificamente como busca binária) e como ela poderia resolver nossos problemas.

A idéia é simples e genial: Se você tem 500 pontos nos switches para verificar e resolver testar um por um, se tiver sorte você poderá achar o problema na primeira, na segunda ou na terceira tentativa. Mas como Murphy impera no mundo, provavelmente você irá achar na última tentativa. (ou não achará, já que o problema vai ser naquele ponto que você pulou sem querer).

Usando a técnica das metades, você separa uma das metades e vê se o problema aparece. Se aparecer, está nessa metade. se não aparecer, estará na outra. Ai basta dividir a parte problemática novamente em 2 partes e assim vai. Em 9 tentativas dava para achar o ponto com o IP igual!!!

Você pode usar essa solução em diversos casos. Eu usava bastante para resolver problema no Word. Muitas vezes o arquivo não salvava, ou travava depois de algum tempo. Usando a teoria das metades eu achava a parte com problemas (normalmente um gráfico exportado do Excel), retirava a parte problemática e pronto.

Hoje eu resolvi testar o Zoundry (sugestão da Nospheratt durante o Campus Party) mas ele simplesmente não importava todos os posts do infoblog, apresentando um erro que não tinha como depurar… Como eu desconfiava que era problema com algum post, criei um “blog teste” e fui importanto “as metades” dos posts até chegar praticamente no post defeituoso (um problema com a acentuação).

erro

Agora, imagine se eu tivesse que apagar texto por texto, verificando um por um para tentar achar o problema… Perderia o dia todo!!! Usando a busca binária perdi somente uns 30 minutos para achar o post defeituoso!

(foto: Cybervida – Cabos, muitos cabos, muitos cabos MESMO)

Ps1- esse é o meu 1º post via Zoundry. Se você acha que ele não é tão bom, sugiro este post do Cardoso: O Melhor editor de blogs do Universo.

Ps2: a resposta do enigma? Depois desse texto fica fácil!!!

Technorati :

11 thoughts on “Usando a técnica das metades para resolver problemas do cotidiano

  • 28/02/2008 at 3:00 am
    Permalink

    uia, JK! Será que vc matou o mistério da importação dos posts que não rola??? eu preciso disso para ajeitar meus permalinks no ladybug… lá se foi o fim de semana…
    (de qualquer jeito, vc merece o meu MUITO OBRIGADA!)

  • 28/02/2008 at 5:09 am
    Permalink

    Ou eu não captei algo, ou tem alguma coisa errada na charada.

    Usando a balança 2x, eu acabo com 2 bolas.

    1 vez: 4 de cada lado, identifico o lado mais pesado.

    2 vez: Pego as 4 bolas do lado mais pesado, divido em 2 de cada lado, identifico o lado mais pesado e fico com 2 bolas ainda.

    E depois?

  • 28/02/2008 at 8:57 am
    Permalink

    O Highlander tem razão, usando busca binária preciso usar a balança 3 vezes.

    A não ser que tenha outra técnica ninja escondida por ai.

  • 28/02/2008 at 9:19 am
    Permalink

    Cheguei à mesma conclusao do Highlander

  • 28/02/2008 at 10:40 am
    Permalink

    A solução é a seguinte: 3 bolas de cada lado. Se os dois lados tiverem o mesmo peso, beleza, só sobraram duas bolas. Se não, o lado mais pesado tem 3 bolas, lembra? Compare duas das três, e caso o peso for igual, é a que sobrou! Então a solução não é isolar o problema por metades, Jonny, e sim por partes(pelo menos neste exemplo).

  • 28/02/2008 at 11:43 am
    Permalink

    Isso mesmo Thiago!!!

    A solução é essa! Não é usando busca binária, mas sim uma “trinária” :p

    Mas a idéia é mostrar que usando matemática podemos resolver problemas em menos passo do que contar com a estatística.

    A estatística (pesar uma por uma) pode até ser mais rápida, já que você pode achar de primeira, mas nem sempre acontece isso.

  • 28/02/2008 at 11:45 am
    Permalink

    onde eu escrevi “estatistica” quis dizer “propabilidade ou sorte”

  • 28/02/2008 at 11:56 am
    Permalink

    Engraçado que essa brincadeira funciona também com 9 bolinhas, mas todo mundo sempre fala que é com 8…

    A única explicação que eu vejo é que com 9 o cérebro já separa em 3 trios, e a solução fica muito fácil 😛

    Ou provavelmente porque não dá para ter absoluta certeza que uma das bolinhas é mais pesada.

  • 28/02/2008 at 12:03 pm
    Permalink

    E depois dizem que você não aprende nada lendo blogs.

    Bah.

    Vou usar essa técnica em um problema futuro.

  • 29/02/2008 at 8:12 am
    Permalink

    Jonny, o Twitter caiu, lá se vai o seu plano de se tornar um ProTwitter. Falando nisso, quando vai ser o TwitterCamp? Poderíamos ter uma mesa redonda sobre monetização no Twitter…

  • 04/03/2008 at 12:26 pm
    Permalink

    Essa é realmente boa Jonny, creio que a pergunta é com 8 exatamente pq o cérebro tenta primeiro dividir em duas partes de 4 o que leva ao erro.

    Engraçado que quando eu digo que exatas só a elite intelectual entende minha namorada fica brava, mas é impressionante como nós resolvemos melhor os problemas do cotidiano, sem generalizações, é claro…

Leave a Reply

Your email address will not be published. Required fields are marked *