martes, 1 de marzo de 2011

Loterias

Hace ya algún tiempo vengo desafiando las leyes de la probabilidad con los boletos semanales del Euromillon y Primitiva. Harto de leer “BOLETO NO PREMIADO” dediqué un tiempo a comprobar si la probabilidad de ocurrencia de los números en los sorteos era parecida y llegué a la conclusión de que no era así.

Hay páginas de estadísticas de la lotería en las que se puede consultar el número de ocurrencias de los números, el número de ausencias, la probabilidad con la que aparece un número, probabilidad que aparezcan números seguidos, etc..Todo esta información esta disponible para los N últimos sorteos.

Con todas estas cartas sobre la mesa comencé a implementar un programa en Java para generar los números más probables para un sorteo de lotería con X bolas de combinación ganadora e Y números posibles. 

Lo primero que hace el programa es construir un fichero de entrada de datos a partir de los datos de los sorteos anteriores:






Un parser procesa este fichero y genera otro fichero con información relevante sobre los números de las combinaciones ganadoras como el número de ausencias, el número de ocurrencias en los 20, 50 y 100 últimos sorteos y la definición de los anillos del sorteo. Los anillos son una agrupación lógica de números en el boleto impreso en papel para poder asignar posteriormente probabilidades de figuras de números en una combinación ganadora. Por ejemplo, es mucho más probable que en el sorteo de la Lotería Primitiva salga la figura de 3 números en el anillo externo, dos en el anillo medio y uno en el anillo interno que la de 6 números en el anillo medio. 


Toda esta información se utiliza para asignar pesos a los posibles números de la combinación ganadora. Se pueden ampliar las variables para el cálculo de pesos como el número de pares e impares, distancias entre números, altos y bajos, números seguidos... pero en principio sólo tendremos en cuenta las ausencias, ocurrencias y anillos.

Además de esta información para calcular los pesos,  también se pueden filtrar los números que se desea para una determinada combinación ganadora. Se puede filtrar por probabilidad de ocurrencia en los 20, 50 y 100 últimos sorteos, por probabilidad de ausencias y por simple aparición en los 20, 50 y 100 últimos sorteos. Por ejemplo podemos filtrar que sólo aparezcan en la combinación los números que hayan aparecido en los 20, 50 y 100 últimos sorteos con una probabilidad mayor al 2% de aparición. La probabilidad de aparición de un número determinado para los N últimos sorteos en un sorteo con B posibles bolas sería:

P(OcurrenciaNumeroBUltimosSorteos) = (Nº apariciones / N * B) * 100

Por último tenemos que calcular la probabilidad de cada número de entre los que hayan pasado las restricciones de los filtros configurados. Para calcular esto hacemos lo siguiente:

P(Numero) = W1 * P(O100) + W2 * P(050) + W3 * P(O20) + W4 * P(A)

donde:

P(Numero). Probabilidad del número de aparecer en la combinación ganadora.

W1, W2, W3, W4. Número entre 0 y 1 que indica el peso que le damos a cada factor. Podría ser ajustable por el usuario pero de momento lo he dejado fijo.

P(O100). Probabilidad de ocurrencia del número en los 100 últimos sorteos.

P(O50). Probabilidad de ocurrencia del número en los 50 últimos sorteos.

P(O20). Probabilidad de ocurrencia del número en los 20 últimos sorteos.

P(A). Probabilidad de ausencia de un número.

Como hemos dicho antes, se pueden aplicar más variables para el cálculo de la probabilidad pero en esta primera versión es así.

En el programa te aparecen ordenados de mayor a menor peso los números de los sorteos y a qué anillo pertenecen y tú puedes seleccionar los que desees. Lo lógico sería elegir números en las primeras posiciones.



Mi idea es realizar una interfaz con Android para que el usuario pueda realizar simulaciones configurándolas como desee y de paso aprender a desarrollar aplicaciones con este tecnología emergente.

Desde que lo hago con el programa, he acertado dos veces 3 números en la Primitiva, así qué de momento no me hecho rico. A ver si esta semana hay suerte.



1 comentario:

  1. Segun lo que yo tengo entendido, la mejor estadistica para loterias es jugar el mismo billete todas las semanas: persevera y triunfaras!

    ResponderEliminar