El algoritmo genético y sus posibles aplicaciones - página 3

 
Igor Makanu:

Es adecuado, en el modo de optimización genética por "Máximo del criterio del usuario" GA del probador maximizará el resultado obtenido de doble OnTester() - todo funciona, pero hay un problema en la automatización "para animar GA" cuando comienza a converger alrededor del máximo local encontrado y no quiere buscar otras variantes por los parámetros de entrada, en general en la sintonía fina GA tiene que ayudar mediante la adición de condiciones a OnTester() o por la división de los parámetros de optimización en varios intervalos

Por cierto, ¿cómo implementarlo? También he empezado a pensar en hacerlo así.

Etiqueta Konow:
¿Quiere decir "inteligente", es decir, optimizado y adaptado a un determinado entorno?

Pues sí, la selección siempre se realiza por algún criterio. Por cierto, el propio criterio puede cambiar con las generaciones, si es necesario.

 
Реter Konow:
¿Quiere decir "inteligente", es decir, optimizado y adaptado a un entorno concreto?

DE ACUERDO. Crear un entorno cerrado, a partir de un complejo de sistemas que interactúan. Por ejemplo: los individuos de tres genes "devoran" (se adhieren a sí mismos y crecen) a los individuos de dos genes si no pueden "escapar" de ellos (digamos que los genes X e Y son coordenadas en el plano). El individuo de tres genes tiene un gen Z añadido: la tercera dimensión. Tiene una ventaja. La tarea del individuo de dos genes es sobrevivir y no ser atrapado, y la tarea del individuo de tres genes es atrapar al de dos genes lo antes posible y ahorrar tiempo y recursos.

El objetivo: el individuo genéticamente más débil debe calcular el genéticamente más fuerte para sobrevivir.
Lo sabemos: un individuo tri-genérico "ve" a un di-genérico en el plano, como un pájaro ve a un ratón en el campo, y un di-genérico percibe todo en dos dimensiones, y por lo tanto no es consciente del enemigo que se acerca hasta el último momento. Sin embargo, en un grupo grande, hay muchos individuos bi-genéticos y cada uno captura los eventos de devorar a sus miembros de la tribu - donde y cuando fueron capturados. Así, los dvigens pueden formar "percepciones" generalizadas, es decir, la experiencia y los conocimientos adquiridos a lo largo de todas las generaciones sobre los obstáculos naturales en el espacio tridimensional que tienen sus enemigos y la mejor manera de adaptarse para sobrevivir.
 
Aleksey Mavrin:

Por cierto, ¿cómo se aplica esto? También empecé a pensar en hacerlo de esta manera.

es el trabajo habitual con el probador - primero se establecen todos los parámetros para la optimización, a continuación, la prueba hasta el momento en que el probador comienza a dibujar líneas horizontales en cada pase - esto es una señal de que GA ha convergido en torno a un máximo local, a continuación, ver en la pestaña de optimización de lo que los parámetros GA ha dejado de cambiar, y luego la próxima optimización se ejecuta, rompiendo estos parámetros (que GA no cambia) en otros intervalos, aunque a menudo es suficiente para reiniciar el probador mediante la eliminación de (ahorro) cachés de optimización - GA se inicializa accidentalmente.

 
Igor Makanu:

es el trabajo habitual con el probador - primero se establecen todos los parámetros para la optimización, a continuación, ha probado hasta el momento en que el probador comienza a dibujar líneas horizontales en cada pase - es una señal de que GA ha convergido en torno a un máximo local, a continuación, ver lo que los parámetros GA dejó de cambiar en la pestaña de optimización, y luego la próxima optimización se ejecuta rompiendo estos parámetros (que GA no cambia) en otros intervalos, aunque a menudo es suficiente para reiniciar el probador de la eliminación (ahorro) cachés de optimización - GA se inicializará

Creo que el AG debería converger a un máximo general (no local) si el paso de los cambios de parámetros es lo suficientemente bajo. Si el paso es demasiado alto el cambio de intervalo no ayudará, los máximos pueden deslizarse entre los valores vecinos.

Entonces es más sencillo hacer una enumeración completa con el escalón más bajo, y luego GA, eliminando los peores rangos.

 
Aleksey Mavrin:

Entonces es más fácil ir a tope con el paso más bajo, y luego GA, eliminando los peores rangos.

no más fácil, aquí está mi EA optimizado:


una pasada de una sola prueba de este EA para 1,5 años toma 1,5-2 segundos, en el optimizador de aproximadamente la misma velocidad, se puede estimar cuánto va a tomar una búsqueda completa, y GA dentro de 20-50 minutos ya he encontrado resultados que me satisfacen

 
Igor Makanu:

no es más fácil, aquí está mi EA siendo optimizado:


una pasada de una sola prueba de este EA en 1,5 años tarda 1,5-2 segundos, el optimizador tiene aproximadamente la misma velocidad, se puede estimar cuánto tiempo se tarda en hacer una ejecución completa, y GA dentro de 20-50 minutos ya he encontrado resultados que me satisfacen

Cuando el número de pases se muestra científicamente, es el desbordamiento de los dígitos de la genética, y no funciona en absoluto (si es que lo hace). Tuve que hacerlo:

1. Reducir el número de pasos. Para evitar que el recuento de pasos sea grueso y para cubrir el rango deseado, hice que el recuento de pasos no fuera lineal. Cambiando el parámetro 0,001-0,099, 0,01-0,99, 0,1-9,9, ... Es decir, paso con una precisión de aproximadamente el 1%.

2. Reducir el número de variables a optimizar, y esto es lo principal.

2а. Dividir las variables en grupos que sean (grupos) casi independientes y optimizar por separado.

2б. Encuentre las variables que dependen de otra, y enlácelas. He eliminado un par de variables de esa manera, después de un largo alboroto.

2в. Encontrar variables que puedan hacerse constantes a costa de una minúscula disminución de la rentabilidad. También se ha encontrado.

3. y reducir la gama de variables después de muchas evaluaciones.

Hasta que no hice esos sacrificios, mi optimización no fue efectiva. Se trata de una optimización con demasiadas variables. Esto en sí mismo es un error, pero algunos expertos evolucionan hacia la simplificación en lugar de la complicación.

 
Igor Makanu:

no es más fácil, aquí está mi EA siendo optimizado:


una pasada de una sola prueba de este EA en 1,5 años toma 1,5-2 segundos, en el optimizador de aproximadamente la misma velocidad, se puede estimar el tiempo que toma una enumeración completa, y GA dentro de 20-50 minutos ya encontrar resultados que me satisfacen

Es una cuestión de complejidad del sistema. Estaba discutiendo esto en el hilo de GU. Me tomo de 3 a 5 pasos para una enumeración completa. Usted tiene 18 parámetros en la captura de pantalla, sería (3-5)^18 = 400M a 3,8 billones, ya en la pena, aunque es mucho, y lo más importante pares es mucho, hago la búsqueda completa no en todos, y después de haber fijado algunos, y en grupos, que luego ya juntos en GA determinado - estrechando GM.

y completamente de acuerdo con la declaración más detallada

Edgar Akhmadeev:

Cuando el número de pases se muestra científicamente, es la digitalización de la genética la que se ve desbordada y no funciona en absoluto (si es que lo hace). Tuve que hacerlo:

1. Reducir el número de pasos. Para evitar que el recuento de pasos sea grueso y para cubrir el rango deseado, hice que el recuento de pasos no fuera lineal. Cambiando el parámetro 0,001-0,099, 0,01-0,99, 0,1-9,9, ... Es decir, paso con una precisión de aproximadamente el 1%.

2. Reducir el número de variables a optimizar, y esto es lo principal.

2а. Dividir las variables en grupos que sean (grupos) casi independientes y optimizar por separado.

2б. Encuentre las variables que dependen de otra, y enlácelas. He eliminado un par de variables de esta manera, después de un largo alboroto.

2в. Encontrar variables que puedan hacerse constantes a costa de una minúscula disminución de la rentabilidad. También se ha encontrado.

3. y reducir la gama de variables después de muchas evaluaciones.

Hasta que no hice esos sacrificios, mi optimización no fue efectiva. Se trata de una optimización con demasiadas variables. Esto en sí mismo es un error, pero algunos expertos evolucionan hacia la simplificación en lugar de la complicación.

Cada uno tiene sus propios métodos, en esencia, todo el mundo probablemente entiende.
 
Edgar Akhmadeev:

Cuando el número de pases se muestra científicamente, es la digitalización de la genética la que se desborda y funciona completamente mal (si es que funciona).


¿Qué quiere decir con "funciona completamente mal"?

¿Cómo se puede reproducir la incorrección de la obra?

 
Edgar Akhmadeev:

Cuando el número de pases se muestra en forma científica, es el dígito de la genética desbordado y no funciona en absoluto (si es que lo hace).

Conmigo GA funciona de forma inequívoca, escribo en el archivo de configuración de EA de pases exitosos, creo el nombre del archivo desde el hash MD5 de los propios parámetros de optimización de entrada, es decir, durante la optimización veo que los archivos aparecen en la carpeta común

Sólo tengo un problema hasta ahora - en algún momento GA puede comenzar a converger en torno a un pequeño grupo de parámetros de optimización - Creo que esto es normal, todos los GAs funcionan de esta manera y es un problema de su uso

Pero inequívocamente GA funciona y no se cuelga - lo veo en los archivos añadidos y nombres únicos

 
Slava:

¿Qué quiere decir con que "no funciona correctamente"?

¿Cómo se puede reproducir la avería?

Escribí sobre esto hace mucho tiempo, cuando usaba marcos en EA. Ya no recuerdo el punto exacto, creo que empecé a tener no todos los marcos que vienen (con mejores resultados). Buscaré posts antiguos e intentaré aclararlo.

Pero recuerdo claramente que era claramente reproducible en mi Expert Advisor - tan pronto como el número de sobrepasos superaba un cierto número y se mostraba en la forma científica, mi genética se rompía. Lo importante no era sólo un gran número de pasos de una variable, sino también un gran número de variables.