Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-03-2018
Avatar de danielmj
danielmj danielmj is offline
Miembro
 
Registrado: jun 2011
Posts: 383
Poder: 13
danielmj Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 24-03-2018
Avatar de yusnerqui
yusnerqui yusnerqui is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuba
Posts: 679
Poder: 21
yusnerqui Va por buen camino
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

Código Delphi [-]
 Application.ProcessMessages


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

Responder Con Cita
  #3  
Antiguo 24-03-2018
tsk tsk is offline
Miembro
 
Registrado: dic 2017
Posts: 52
Poder: 7
tsk Va por buen camino
Cita:
Empezado por danielmj Ver Mensaje
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 ley del primer dígito es eso, agarras el primer dígito de todos los números (sin contar los 0 a la izquierda) y obtienes su distribución, esta debe debe de ser algo así



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.
Responder Con Cita
  #4  
Antiguo 26-03-2018
Avatar de danielmj
danielmj danielmj is offline
Miembro
 
Registrado: jun 2011
Posts: 383
Poder: 13
danielmj Va por buen camino
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.
Responder Con Cita
  #5  
Antiguo 26-03-2018
Avatar de yusnerqui
yusnerqui yusnerqui is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuba
Posts: 679
Poder: 21
yusnerqui Va por buen camino
Cita:
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.
Pues ya nos dirás que no entiendes o que error te salta para que podamos ayudarte.

saludos
__________________
Lo importante no es llegar primero, sino saber llegar.

Para que puedas llegar mejor lee la Guia de Estilo

Responder Con Cita
  #6  
Antiguo 27-03-2018
Avatar de danielmj
danielmj danielmj is offline
Miembro
 
Registrado: jun 2011
Posts: 383
Poder: 13
danielmj Va por buen camino
Buenos dias, lo de cargar archivos manualmente o todos en lote, creo que no es relevante (tal como yo lo veo) y lo digo por que los listados de sorteos anteriores, que he encontrado en la web en formato csv vienen tal que así:

27/3/2018 10:36
**************************************************************
***---- ARCHIVO GENERADO EN WWW.LaWebdelaPrimitiva.com ----***
**************************************************************
HISTORICO DE SORTEOS DE La Primitiva DE 2018

FECHA N1 N2 N3 N4 N5 N6 C R Joker Pares/Impares Decenas Bajos/Altos
24-03-2018 17 18 21 23 27 48 6 2 5736038 (2/4) '02301' (4/2)
22-03-2018 1 7 24 34 36 48 29 8 2271456 (4/2) '20121' (3/3)
17-03-2018 8 21 35 36 37 43 39 1 4497057 (2/4) '10131' (2/4)
15-03-2018 5 9 11 20 22 29 33 0 3794358 (2/4) '21300' (5/1)
10-03-2018 4 18 20 25 30 49 16 0 6041319 (4/2) '11211' (4/2)
8-03-2018 2 9 12 15 26 31 16 0 5986378 (3/3) '22110' (4/2)
3-03-2018 5 14 24 28 36 49 21 7 4052156 (4/2) '11211' (3/3)
1-03-2018 6 9 17 22 28 36 7 1 8185066 (4/2) '21210' (4/2)
24-02-2018 4 5 12 27 43 45 40 7 3544370 (2/4) '21102' (3/3)
22-02-2018 4 8 11 23 34 35 2 2 6822466 (3/3) '21120' (4/2)
17-02-2018 9 18 19 22 31 38 17 8 8034825 (3/3) '12120' (4/2)
15-02-2018 1 2 21 22 27 47 24 0 4085600 (2/4) '20301' (4/2)
10-02-2018 7 10 12 19 22 45 2 3 9104800 (3/3) '13101' (5/1)
8-02-2018 12 18 19 24 32 42 30 7 7355415 (5/1) '03111' (4/2)
3-02-2018 1 9 11 26 33 40 27 2 6229581 (2/4) '21111' (3/3)
1-02-2018 1 4 38 42 46 49 35 2 5778491 (4/2) '20013' (2/4)
27-01-2018 7 8 10 14 27 48 42 7 3129415 (4/2) '22101' (4/2)
25-01-2018 3 6 25 31 32 40 20 6 8889779 (3/3) '20121' (3/3)
20-01-2018 15 23 28 36 39 47 29 8 3031690 (2/4) '01221' (2/4)
18-01-2018 11 12 22 28 37 49 24 0 3973025 (3/3) '02211' (3/3)
13-01-2018 6 7 22 31 38 44 40 8 5053 (4/2) '20121' (3/3)
11-01-2018 15 24 29 32 36 46 44 0 4807239 (4/2) '01221' (2/4)
6-01-2018 19 28 33 40 42 48 38 0 263047 (4/2) '01113' (1/5)
4-01-2018 6 9 13 24 35 42 16 3 5207129 (3/3) '21111' (4/2)

Y al final tendre que editarlos para quedarme solo con las columnas referentes a los 6 números despreciando el resto, por lo que según lo veo, cargarlos por lote no me sirve. Lo que si hice fue abrilos todos con libreoffice y formar un solo archivo con todos los sorteos, ese es el único fichero que le paso al programa. En cuanto al otro tema (ley del primer dígito, sigo en ello)
__________________
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.
Responder Con Cita
  #7  
Antiguo 27-03-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por danielmj Ver Mensaje
Y al final tendre que editarlos para quedarme solo con las columnas referentes a los 6 números despreciando el resto, por lo que según lo veo, cargarlos por lote no me sirve. Lo que si hice fue abrilos todos con libreoffice y formar un solo archivo con todos los sorteos, ese es el único fichero que le paso al programa. En cuanto al otro tema (ley del primer dígito, sigo en ello)
Es una solución.

La otra solución es cambiar de la primitiva a la bonoloto porque el fichero csv es así:

Código:
FECHA,COMB. GANADORA,,,,,,COMP.
4/05/2017,5,7,10,23,36,41,22
3/05/2017,13,25,27,33,34,38,19
2/05/2017,2,17,25,27,35,43,37
1/05/2017,9,12,15,19,38,46,4
29/04/2017,10,19,22,24,43,44,23
28/04/2017,5,9,15,17,21,47,20
27/04/2017,11,40,42,45,46,49,27
26/04/2017,12,14,20,34,39,40,27
25/04/2017,5,9,12,13,39,41,45
24/04/2017,16,22,25,31,38,48,46
22/04/2017,12,35,37,41,47,48,17
21/04/2017,2,5,9,16,37,40,10
Responder Con Cita
  #8  
Antiguo 27-03-2018
tsk tsk is offline
Miembro
 
Registrado: dic 2017
Posts: 52
Poder: 7
tsk Va por buen camino
Realizando un análisis rápido de los números que han salido, sin tomar en cuenta su posición, observamos que existe una tendencia a que el primer dígito esté distribuido más o menos equitativamente entre los primeros 4 dígitos (1-4) Esto se explica porque los números van del 1 al 49, pero aun así no se ve que siga la gráfica de la distribución del primer dígito.



Pero no todo está perdido, ya que aun así puedes obtener otro tipo de información, por ejemplo, si observas en la siguiente gráfica, se ve que al menos, la gráfica se parece entre 2015 y 2016 y entre 2017 y 2018 está tomando la misma forma.



Con respecto a la lista de números que han aparecido de 2015-2018 vemos



Me imagino que si tomo lo totalidad de los sorteos, esto debería tender a formar una distribución uniforme.

¿Porqué vemos esa disminución que existe entre los 20-25?



Porque desde el 2015, que tomé los datos, no ha aparecido el número 25



Pero si también observas, en cada año siempre hay un número que supera, por muy poco las 20 apariciones, y también son pocos los que alcanzan a superar los 15 apariciones

Por ejemplo

2015 > 20 -> 30
2016 > 20 -> 40
2017 > 20 -> 3
2018 > 20 -> No hay suficientes datos pero los que llevan la delantera son los números 9, 22 y 36.

2015 > 15 <=20 -> 1,11,20,38,46,49 (1-2 , 2-1, 3-1, 4-2)
2016 > 15 <=20 -> 6,11,12,14,21,46 (1-3, 2-1, 4-1, 6-1 )
Si observas las gráficas verás que en esos años, los números que se destacaron ligeramente más, fueron los que tenían como primer dígito el 1 y el 4.

2017 > 15 <=20 -> 20,22,26,28,29,35,48 (2-5,3,1,4-1)
2018 > 15 <=20 -> No hay suficientes datos, pero voy a tomar los que ya llegaron a 4 y 5 apariciones 1,4,6,7,11,12,18,19,24,28,29,32,42,48,49

Si observas las gráficas, en 2017 los números que tuvieron como primer digito el 2 fueron los que destacaron, siguiendo el 3 y el 4, así que si sigue la misma tendencia, los números que más van a aparecer en el 2018 son del 20 al 29.

Existen programas que te permiten explorar los datos, uno de ellos es R que junto con R-Studio, te permite realizar un análisis más complejo. Para las gráficas de arriba use python+matplotlib.

Cabe aclarar que ya se entró al mundo de la especulación, ya que no se tomó la totalidad de los resultados,es decir, los de antes de 2015 y el objetivo de esto fue tan sólo para explorar los datos, obtener cierta información y determinar que otras pruebas se podrían hacer para ver si existe algún otro tipo de patrón, como por ejemplo, no se estudió el orden de aparición de los números y tampoco se estudió el segundo dígito. Tampoco se estudió las secuencias ganadoras, para ver su relación con los números que más aparecen, entre otras cosas, tan sólo fue algo exploratorio que inicialmente permite ver ciertos comportamientos y permite extraer cierta información que puede ser útil a la hora de plantear otros métodos para obtener una mejor idea de lo que ocurre.

Saludos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

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


La franja horaria es GMT +2. Ahora son las 19:49:05.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi