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 22-03-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.055
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
je, je, je... hubo una época (yo tenía pelo) en la que varios amigos nos asociamos y montamos un equipo para lo que estás haciendo (basado en procesadores Motorola 68xxx y varios coprocesadores matemáticos externos). Una vez ejecutado, el programa tardaba varias semanas en obtener el resultado, que se iba almacenando en un fichero de texto. Después ese resultado lo filtrábamos mediante otro programa para eliminar basura, repetidos, los que seguro no iban a salir, etc. y quedaban finalmente unas 4000 combinaciones.
El sistema operativo era Minix (todavía no existía Linux), y lo tecleamos por completo, compilamos, linkamos... para obtener el ejecutable.
Y nuestro programa estaba escrito en lenguaje C, puro y duro.
Responder Con Cita
  #2  
Antiguo 22-03-2018
Avatar de danielmj
danielmj danielmj is offline
Miembro
 
Registrado: jun 2011
Posts: 383
Poder: 13
danielmj Va por buen camino
Hola casimiro, pues estoy pensando en una forma para aligerar el proceso y ver si funciona, en concreto.. la aplicacion calcula por ejemplo 20.000 combinaciones de esas, me devuelve los 6 numeros que mas se repiten y a partir de ahí calcula las permutaciones que luego irá comparando con cada combinacion de 6 numeros del listview pero ahora estoy pensando en comparar cada uno de esos 6 numeros con el primero de cada fila del listview, si es igual completa el proceso de comparaciones sino, salta a la siguiente linea (como tienen que darse si o si los 6...). Al menos así creo que el tiempo puede reducirse algo. También estoy pensando en descargar los listados que estan disponibles de los sorteos ya jugados y agregarlos al listview y realizar todo el proceso con esos datos en lugar de generar 6 numeros aleatorios. Imaginacion al poder

Un saludo.
__________________
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
  #3  
Antiguo 22-03-2018
tsk tsk is online now
Miembro
 
Registrado: dic 2017
Posts: 54
Poder: 7
tsk Va por buen camino
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.
Responder Con Cita
  #4  
Antiguo 22-03-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.055
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
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.
Responder Con Cita
  #5  
Antiguo 23-03-2018
Avatar de danielmj
danielmj danielmj is offline
Miembro
 
Registrado: jun 2011
Posts: 383
Poder: 13
danielmj Va por buen camino
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.
Responder Con Cita
  #6  
Antiguo 23-03-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.055
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por danielmj Ver Mensaje
, pero no sé muy bien como cargar estos archivos a un listview (este componente siempre ha sido un poco hueso para mi).
No uses listview, ¿acaso necesitas ver esas combinaciones por pantalla?
Ocupa mucha memoria, hace al programa muy lento y... es innecesario.
Responder Con Cita
  #7  
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
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 16:08:22.


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