![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
No tienes que calcular todas las combinaciones, toma todos los datos publicados de resultados anteriores y verifica si hay algún patrón que te permita reducir el área de búsqueda.
Y en lugar de analizar combinaciones, analiza posición por posición. Por ejemplo la ley del primer dígito (Ley de Benford), si se aplica, entonces ya tienes ganada la primera parte. Si ya tienes el primer dígito, entonces puedes ir reduciendo la probabilidad que el número se repita, y así sucesivamente. Claro, dependiendo de la configuración del sorteo. Por ejemplo, si es por medio de bolas, puedes suponer que cuando sale un número este no se repone, por lo que si en un inicia hay 10 bolas de cada número (1-9), la probabilidad de que vuelva a salir se reduce, si se reponen cambia la dinámica. ¿Que otras cosas podrían afectar en este modelo? La presión y flujo del aire, tamaño de la esfera que los contiene, su material (de ello depende el rebote) y tamaño de las bolas así como su posición inicial, pero tendrías que ver si te conviene meterlos en la ecuación. Una forma de simular la trayectoria de una esfera usando Random Walks. Cuando tienes todos los datos de sorteos anteriores puedes ir realizando simulaciones que te permitan reducir los parámetros y calcular un rango de valores para cada uno. |
|
#2
|
||||
|
||||
|
Nuestro "experimento" fue hecho mediante fractales.
Luego, con ese resultado, se le pasaba el filtro de combinaciones que ya habían salido, eliminar resultados "imposibles", etc.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#3
|
||||
|
||||
|
Hola tsk, voy a investigar un poco sobre la ley de benford y como aplicarlo al programa. También quiero cargar listados csv de sorteos ya jugados y continuar a partir de ahí, pero no sé muy bien como cargar estos archivos a un listview (este componente siempre ha sido un poco hueso para mi). Buscaré casos en el foro a ver si encuentro algo.
Saludos.
__________________
La juventud pasa, la inmadurez se supera, la ignorancia se cura con la educación, y la embriaguez con la sobriedad, pero la estupidez dura para siempre. Aristofanes. |
|
#4
|
||||
|
||||
|
Cita:
Ocupa mucha memoria, hace al programa muy lento y... es innecesario.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#5
|
||||
|
||||
|
Hola casimiro, ahora mismo estoy liado con el programa.. estoy cargando archivos CVS descargados de todos los sorteos desde el 85 y claro, al no ser miles y miles de combinaciones como hacia antes, el programa acaba muy rapido. Lo que me mosquea es que 2 progressbar no avanzan según se lee del listview sino que de repente están llenos, pero claro tambien es verdad que estoy con muchas menos combinaciones que antes.
Quiero mirar como funciona la ley del primer número por una parte y como cargar todos los archivos CSV de la carpeta a la vez, porque se hace tedioso ir cargando 1 a 1. En cuanto al uso o no del listview, estoy haciendo uso de un listview virtual, aunque si es cierto que sobre otro "dibujado" se cargan los archivos. Igual estoy haciendo algo mal. Saludos.
__________________
La juventud pasa, la inmadurez se supera, la ignorancia se cura con la educación, y la embriaguez con la sobriedad, pero la estupidez dura para siempre. Aristofanes. |
|
#6
|
||||
|
||||
|
Mira este enlace http://www.clubdelphi.com/foros/show...chivos+carpeta para lo de leer varios ficheros de una carpeta y para refrescar los progresbar prueba con
después de cada iteración del ciclo. saludos
__________________
Lo importante no es llegar primero, sino saber llegar. Para que puedas llegar mejor lee la Guia de Estilo |
|
#7
|
|||
|
|||
|
Cita:
En un mundo aletorio ideal, al generar una secuencia aleatoria, tu no serías capaz obtener información de la secuencia ya que idealmente esta presenta una distribución uniforme, por lo que la aparición de un número es equiprobable a la aparición de cualquier otro, entonces no puedes inferir absolutamente nada. También existe el supuesto que cada evento es independiente. Lo que esperarías ver en una lista de números generados de forma aleatoria es es una distribución uniforme. Pero no todo es siempre así, por ejemplo el siguiente histograma lo obtuve de un generador de números aleatorios por hardware, que se encuentra dentro de un microcontrolador stm32f103c8t6. ![]() A este hardware se le conoce como TRNG (True Random Number Generator) y genera enteros de 32 bits que pueden ir de 0 a 2**32. No es ideal pero es casi ideal, ya que como puedes observar hay rangos que tienen una ligera probabilidad mayor de aparecer, pero no es suficiente para poder predecir cual va a ser el siguiente número en aparecer. La idea de usar la ley del primer dígito sobre resultados pasados, es sólo para obtener algo más de información del sistema, algo que te permita reducir el espacio de búsqueda. Por ejemplo, voy a suponer que son los 6 dígitos, pero que cada dígito sólo puede tener el valor de 1 a 9. Entonces la probabilidad de que el primer dígito sea un 1 es igual a 1/9 o aproximadamente el 11.11%, pero si de los datos de sorteos anteriores muetran que sigue la ley del primer dígito, entonces la probabilidad de que tenga un 1 como primer dígito aumenta a un ~30%. También lo que tienes que preguntarte es si realmente hay independencia en la generación de los dígitos, porque eso te puede dar algo más de información. Si son independientes, no puedes obtener información, ya que aunque tengas la información de que dígito obtuviste primero, no te incrementa la probabilidad de conocer el valor del segundo dígito y así sucesivamente. p(d2=2|d1=1) = p(d1=2)*p(d1=1) Si son independientes la igualdad de arriba se debe de cumplir, si no se cumple, entonces ya tienes información extra en la forma de probabilidad de obtener un 2 en dígito 2 dado que dígito 1 ya fue 1. p(d2=2|d1=1) != p(d1=2)*p(d1=1) Si detectas, por medio del estudio de datos anteriores, que tienes un proceso que no es del todo aleatorio, y que hay cierta tendencia, entonces a simular se ha dicho para tratar de ajustar un modelo para el sistema. Un libro muy bueno con respecto a esto es el de Probabilistic Graphical Models: Principles and Techniques de Daphne Koller y Nir Friedman. Por eso mi ejemplo de la generación de los dígitos por medio de esferas que se encuentra en un recipiente. La posición inicial de cada esfera va a determinar la probabilidad de que salga o no del contenedor, pero también le afecta el choque con otras esferas, al igual que el choque con el recipiente. Otro aspecto, es que aunque en apariencia todavía puede ser algo aleatorio, es sabido que la suma de variables aleatorias independientes con distribución uniforme, te da una distribución conocida como Irwin-Hall,tu tienes 6 variables aleatorias, que tentativamente son independientes. Última edición por tsk fecha: 24-03-2018 a las 17:54:59. |
|
#8
|
||||
|
||||
|
Hola tsk, gracias y ahora con toda humildad te digo.. que no entendí nada, esto es lo suficiente complejo como para dedicarle tiempo de estudio, así que al menos usaré toda esta información para investigar.
Saludos yusnerqui, intento implementar el código para mi caso concreto de cargar varios .csv a la vez en un listview pero no lo consigo.. sigo investigando.
__________________
La juventud pasa, la inmadurez se supera, la ignorancia se cura con la educación, y la embriaguez con la sobriedad, pero la estupidez dura para siempre. Aristofanes. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Meetup #3 - Migrar Un componente de Lazarus a Delphi Starter | egostar | La Taberna | 1 | 20-07-2017 23:11:17 |
| problemas al migrar aplicacion lazarus windows a lazarus linux | anubis | Linux | 5 | 08-11-2016 15:41:58 |
| Migrar Aplicacion Lazarus De Ubuntu A Windows | volv87 | Lazarus, FreePascal, Kylix, etc. | 4 | 26-07-2007 08:03:07 |
| Migrar aplicacion Delphi | triskel | Windows | 1 | 10-05-2005 13:26:04 |
| migrar una aplicacion | alfgonvar | Varios | 2 | 04-07-2003 18:15:24 |
|