Provável setlist do show do Pearl Jam em Porto Alegre, 11/11/2011

Pearljam

Faltando 10 dias para a segunda passagem do Pearl Jam por Porto Alegre, a análise matemágica dos últimos concertos da turnê Twenty é a único meio de se adivinhar o setlist do show. Como o próprio vocalista Eddie Vedder afirma no documentário Pearl Jam Twenty, a banda sempre decide o setlist momentos antes de cada apresentação, o que dificulta a tarefa e explica o grande número de músicas diferentes incluídas na turnê (somente nos últimos 10 shows já são 104).

Porém, nem tudo está perdido. Com uma pequena ajuda do setlist.fm, cálculos e magia negra, o provável setlist do show é o seguinte:

  1. Animal (do álbum Vs.)
  2. Hail Hail (do álbum No Code)
  3. Got Some (do álbum Backspacer)
  4. Elderly Woman Behind the Counter in a Small Town (do álbum Vs.)
  5. Given To Fly (do álbum Yield)
  6. Corduroy (do álbum Vitalogy)
  7. Setting Forth (da trilha sonora de Into the Wild, disco solo de Eddie Vedder)
  8. Not For You (do álbum Vitalogy)
  9. Even Flow (do álbum Ten)
  10. Daughter (do álbum Vs.)
  11. Wishlist (do álbum Yield)
  12. Olé (disponível para download gratuito no site oficial da banda)
  13. Do The Evolution (do álbum Yield)
  14. Unthought Known (do álbum Backspacer)
  15. Lukin (do álbum No Code)
  16. Down (do álbum Lost Dogs)
  17. Once (do álbum Ten)
  18. The Fixer (do álbum Backspacer)
  19. Why Go (do álbum Ten)
  20. Present Tense (do álbum No Code)

Primeiro bis:

  1. Just Breathe (do álbum Backspacer)
  2. Black (do álbum Ten)
  3. State Of Love And Trust (da coletânea rearviewmirror (Greatest Hits 1991-2003))
  4. Porch (do álbum Ten)
  5. Better Man (do álbum Vitalogy)

Segundo bis:

  1. Alive (do álbum Ten)
  2. Crazy Mary (cover de Victoria Williams)
  3. Search and Destroy (cover de Iggy and The Stooges)
  4. Rockin' in the Free World (cover de Neil Young)
  5. Yellow Ledbetter (do álbum Lost Dogs)

Além dessas, podem ser incluídas sem aviso prévio Last ExitSevered HandUGarden1/2 FullOff He GoesCome BackJeremyRearviewmirror. Last Kiss? Difícil, campeão.

Aos que vão, um bom show!

Média Aritmética Ponderada no desenvolvimento de aplicações

Aviso: excepcional post técnico.

Imagine uma aplicação em que as ações do usuário tornem-se mais ou menos importantes com o passar do tempo. Difícil? Eu ajudo. Digamos que você registre, por alguma razão obscura, o valor de todas as suas contas de telefone.

Mês Valor
Janeiro R$ 32,39
Fevereiro R$ 40,24
Março R$ 41,87
Abril R$ 42,66
Maio R$ 56,88
Junho R$ 57,30
Julho R$ 59,25
Agosto R$ 70,00
Setembro R$ 70,36
Outubro R$ 74,26
Novembro R$ 82,55
Dezembro ?

Você olha o ponto de interrogação em sua planilha do Excel e decide evitar surpresas em dezembro: quer antever o valor. Sua primeira suposição, obviamente, é a de que o novo valor será aproximadamente a média das faturas anteriores: R$ 57,07.

Simples, não é?

Alguma coisa, entretanto, parece não fazer sentido. A fatura de novembro totalizou R$ 82,55 e os cálculos estão lhe dizendo que haverá uma economia de R$ 25,48 no próximo mês. Você observa sua planilha com mais atenção e percebe que há mais de meio ano não gasta tão pouco com telefone.

Assim, em poucos segundos, sua mente se ilumina com uma pequena epifania econômica: a média desconsidera completamente quaisquer mudanças no seu perfil de consumo. Nesse exemplo, isso significa que o fato de você gastar cada vez mais com telefone não tem a menor influência em sua previsão de consumo.

Nas aplicações onde, como eu disse no início do post, as ações do usuário tornam-se mais ou menos importantes com o passar do tempo, você deve atribuir pesos diferentes a cada valor considerado. No modelo mais simples possível, podemos dizer que a conta de janeiro pesa 1, a de fevereiro pesa 2 e assim consecutivamente.

Peso Mês Valor
1 Janeiro R$ 32,39
2 Fevereiro R$ 40,24
3 Março R$ 41,87
4 Abril R$ 42,66
5 Maio R$ 56,88
6 Junho R$ 57,30
7 Julho R$ 59,25
8 Agosto R$ 70,00
9 Setembro R$ 70,36
10 Outubro R$ 74,26
11 Novembro R$ 82,55
Dezembro ?

Há uma técnica de Inteligência Artificial chamada Interest Confidence Value que é usada na recomendação de produtos e apresenta o mesmo princípio na forma de um atributo especial chamado drift. Sua função é medir o quão recentemente o usuário expressou interesse em um determinado produto. Quando esse valor torna-se muito pequeno, o sistema tende a reduzir a importância da recomendação e, eventualmente, a descartá-la.

Saindo do mundo acadêmico e voltando à vida real, a solução do nosso problema chama-se Média Aritmética Ponderada, uma das centenas de coisas que você aprendeu (ou deveria ter aprendido) no Ensino Fundamental e achou que nunca usaria na vida. Em inglês, aliás, esse método se chama convenientemente weighted mean, algo como "média pesada" (pesada sendo verbo pesar conjugado; não confundir com o adjetivo pesado).

13d572ad5f05b5f6bc9d80c3b603657c

Essa fórmula assustadora esconde, na verdade, um cálculo bastante simples: multiplique cada valor por seu peso, some esses resultados e divida pela soma dos pesos. Em poucos segundos, sua planilha mágica do Excel revela o novo resultado: R$ 65,09.

Em outras aplicações, no entanto, a atribuição de pesos sucessivos pode não ser suficiente. Gastos com lavanderia, por exemplo, que não têm frequência definida, podem ser "pesados" pela data em que aconteceram. Em resumo, cada aplicação deve ser analisada individualmente e receber o atributo-peso adequado.

Antes que você diga que não programa em Excel, um bônus: Média Aritmética Ponderada em MySQL e SQL Server.

SELECT
  (CASE WHEN MIN(<PESO>) >=0 AND MAX(<PESO>) > 0 THEN
    SUM(<PESO> * <VALOR>)
  ELSE
    NULL
  END) / SUM(<PESO>)
FROM <TABELA>
[<CLÁUSULAS WHERE, GROUP BY ETC>];

Os recursos estão aí. Divirtam-se :-)