terça-feira, 19 de julho de 2011

Algoritmos genéticos para loteria

Para explicar melhor a técnica utilizada para obter os jogos informados no post anterior, segue uma explicação resumida sobre Algoritmos Genéticos.

Antes de entrar no detalhamento técnico desta solução é preciso entender com mais clareza qual é o problema a ser resolvido. Nesse caso, pretende-se descobrir o jogo (conjunto de X dezenas) em que se teriam mais acertos nos últimos 100 sorteios por exemplo. A quantidade de dezenas no jogo pode variar, assim como a abrangência dos sorteios a serem verificados.

Observa-se que este não é um problema de encontrar associações mais freqüentes de dezenas (Ex.: “Quais dezenas que mais se repetem?” ou “Quais são as dezenas mais sorteadas?”). Este é um problema mais complexo, no qual se busca um jogo (conjunto de dezenas) que teria mais acertos.

A melhor forma de encontrar a solução para esse problema seria testar todas as possibilidades de jogos verificando quantas quadras, quinas ou senas serão computadas em cada sorteio já realizado.
Exemplo: Considerando um jogo de 06 dezenas, seria testado desde o jogo [01 – 02 – 03 – 04 – 05 – 06] até o jogo [55 – 56 – 57 – 58 – 59 – 60], ou seja, 50.063.860 (50 milhões) possibilidades de jogos. Criar uma rotina computacional para este processamento pode se tornar inviável pelo fato do tempo necessário para processar cada possibilidade. Ao aumentar a quantidade de dezenas nos jogos, as possibilidades aumentam de forma exponencial conforme segue:
06 dezenas: 50.063.860 possibilidades
07 dezenas: 386.206.920 possibilidades
08 dezenas: 2.558.620.845 possibilidades
09 dezenas: 14.783.142.660 possibilidades
10 dezenas: 75.394.027.566 possibilidades
11 dezenas: 342.700.125.300 possibilidades
12 dezenas: 1.399.358.844.975 possibilidades
13 dezenas: 5.166.863.427.600 possibilidades
14 dezenas: 17.345.898.649.800 possibilidades
15 dezenas: 53.194.089.192.720 possibilidades

Pode ser observado que se torna inviável um processamento para testar cada possibilidade de jogo.

Uma alternativa para resolver este problema lotérico é o uso de algoritmos genéticos. Esta técnica consiste em uma heurística de otimização para encontrar um resultado que seja ideal. Nesse caso não há garantias de que o resultado encontrado é o melhor, mas sim que é um resultado teve melhor adaptação ao problema.

Em resumo, seu processamento consiste em gerar uma população inicial de resultados. Cada componente da população (indivíduo) faz referência a um jogo de loteria por exemplo. No decorrer do processo, de forma controlada e aleatória, podem acontecer duas operações básicas.
1 – Cruzamento: Dois ou mais indivíduos são cruzados para gerarem dois ou mais filhos a partir de um ponto de corte.
Exemplo:
Indivíduo 1: 01 – 02 – 03 – 04 – 05 – 06
Indivíduo 2: 55 – 56 – 57 – 58 – 59 – 60
Ponto de Corte: 2 (posição aleatória onde ocorrerá o cruzamento)

Após o cruzamento
Filho 1: 01 – 0257 – 58 – 59 – 60
Filho 2: 55 – 5603 – 04 – 05 – 06

2 – Mutação: Uma posição (gene) do indivíduo sofre mutação, mudando de valor.
Exemplo:
Índice para mutação: 4 (posição aleatória para ocorrer a mutação)
Novo valor: 47 (escolhido aleatoriamente)
Indivíduo: 01 – 02 – 03 – 04 – 05 – 06
Novo Indivíduo: 01 – 02 – 03 – 04 – 47 – 06

A cada fase do processo, os indivíduos que melhor se adaptam são cruzados para gerarem novos indivíduos. Os indivíduos que melhor se adaptam têm maiores chances de sobreviver enquanto os que pouco se adaptam têm grandes chances de serem substituídos.

Desta forma é possível encontrar resultados que tenham uma boa aptidão ao problema, porém sem ter a certeza de que são os melhores resultados. Para quem se interessar, existem disponíveis na Internet vários materiais que explicam de forma mais detalhada essa técnica.

Acredito que esta técnica possa auxiliar a escolher as melhores dezenas para se jogar em loterias, descobrindo o jogo ideal por este ponto de vista. Mas com certeza ainda está longe de responder questões que giram em torno das dezenas mágicas, dezenas da sorte, método infalível para loterias, etc. Para descobrir as tão sonhadas dezenas é preciso uma imensa parceria com a sorte!

Abraços,

Um comentário: