-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Made] Lanzar los experimentos YA #13
Comments
Entiendo que las métricas entonces las aplicaréis a posteriori, ¿verdad? El problema de eso es que en base a los resultados de las métricas podría ser adecuado cambiar la parametrización del algoritmo para obtener mejores individuos, ¿no? |
@amorag No vamos a usar las métricas de interés en este paper, porque habría que programarlas y no va a dar tiempo, así que vamos a lanzar un montón de parámetros distintos con el criterio de parada igual para todos (convergencia) y ver su efecto en el mundo generado. Mira el issue #13 Edit: este es el issue #13... estoy idiota... |
Ok. De: Pablo García Sánchez [mailto:notifications@github.com] @amorag https://github.com/amorag No vamos a usar las métricas de interés en este paper, porque habría que programarlas y no va a dar tiempo, así que vamos a lanzar un montón de parámetros distintos con el criterio de parada igual para todos (convergencia) y ver su efecto en el mundo generado. Mira el issue #12 #12 al final del todo — No se encontraron virus en este mensaje. No se encontraron virus en este mensaje. |
Hola, |
Puedes hacer varias ejecuciones, no tiene que hacerse todo del tirón... JJ |
@raiben no, el cluster no paraleliza automáticamente. Tienes que hacer ssh pepito@bioatc.ugr.es (entras en el nodo local) y luego ssh compute-0-X para entrar a uno de los nodos disponibles y en cada nodo ejecutas una porción. Empieza dejando algunos parámetros fijos y conforme vayan terminando ejecutas los siguientes. Ojo con los logs, que cada nodo comparte sistema de archivos! Aquí tienes la carga del cluster en tiempo real, por si quieres ver los nodos disponibles http://bioatc.ugr.es/ganglia/ |
Otra pregunta: ¿Qué hago con el resto de parámetros? Por un lado tengo parámetros del mundo, que afectan a los resultados y no Del mundo: De los agentes: Personalmente, dejaría fijos los parámetros base del agente, pero 2014-10-29 17:29 GMT+01:00 Pablo García Sánchez notifications@github.com:
|
Lo dicho. Busca valores razonables y fijos. Aunque, pensándolo bien,
Joder, se tarda casi tanto en convertirse en adulto como en parir. ¿En
Todos estos parámetros simplemente complican la vida. Tendrías que
Pues lo dicho más arriba. Yo casi que dejaría la cantidad de comida y el Todo eso lo dejamos para la versión 2.0. Para esta: se cambia tamaño del |
Perfecto, 2014-10-29 18:18 GMT+01:00 Juan Julián Merelo Guervós <
|
y 20x20 |
Ok, ya he eliminado JGAP de la ecuación porque no recalculaba el fitness de un indivíduo si este sobrevivía tal cual. Eso provocaba que el fitness nunca bajase ... Se van a montar los experimentos siguientes: Cálculo del fitness del indivíduo:
Criterio de parada:
-Escenarios:
Perfiles:
Mundo.- Número de días virtuales:
Mundo.- Dimensión del mapa:
GA.- Población:
Nomenclatura de los ficheros de salida: Formato del log: (generacion) (mejor fitness) (f parcial1) (f parcial2) (f parcial3) (f parcial4) (f parcial5) (La última línea del log será el tiempo invertido, en ms) |
¿5 ejecuciones cuando? ¿5 últimas ejecuciones? ¿De las 5 últimas generaciones) En todo caso, escribe todo eso también en el trabajo, justificando todas las elecciones y valores, por favor. |
5 ejecuciones para evaluar el fitness. El sábado, 1 de noviembre de 2014, Juan Julián Merelo Guervós <
Pablo García Sánchez |
Bueno, a ver. Dependiendo de cómo sea el fitness, puede que sólo haga falta una ejecución. Pero si se usan varias, véase el trabajo del ECTA sobre algoritmos evolutivos ruidosos. |
Con 5 ejecuciones solo hago referencia a ejecutar cada indivíduo 5 veces y 2014-11-01 17:12 GMT+01:00 Juan Julián Merelo Guervós <
|
Vamos a ver. En términos estadísticos, 5 ejecuciones no son nada. Para tener valores estadísticamente significativos, hay que hacer por lo menos 15. Así que o se ejecuta quince o sólo una. De todas formas el ruido tiene una influencia en los algoritmos genéticos relativa. Por eso, basta con reevaluar los individuos cada generación. |
Quizás aquí también viene bien echarle un vistazo al tutorial del GECCO que os comenté sobre estadística: Puesto que luego hay que pasarle algunos tests estadísticos, merece la pena (si el tiempo de ejecución lo permite) hacer alrededor de 30 ejecuciones. Puesto que el cluster bioatc tiene 18 nodos y cada uno tiene 16 núcleos (creo recordar), se pueden lanzar todas las ejecuciones que hagan falta. Supongo que tenéis acceso, pero si necesitáis ayuda, avisadme. Por otro lado, tanto para este trabajo como para otros, si necesitáis más recursos, podemos usar el superordenador http://alhambra.ugr.es Sólo tenéis que indicármelo. |
Me apunto lo del alhambra para mis "mierdas". La verdad que ya lo estuve mirando en su momento y creo que puede ser interesante. El lunes me pongo a echarle un ojo. |
Bueno, pues ya he puesto el bluster bioatc echando humo: nodos del 1 al 6, cada uno con 5 ejecuciones del .jar de MADE (cada run ejecuta TODAS las combinaciones de parámetros una sola vez, por eso lo he lanzado 30 veces). Se van a generar 29160 ficheros de log, cada uno bien identificado. @deantares mira que no te afecten esos nodos a la ejecución de lo tuyo. Cierro el issue, esperemos que terminen para el viernes... |
Cuidadín con el espacio Maribel On 02/11/14 22:39, Pablo García Sánchez wrote:
|
@fergunet yo tenía lanzado mi algoritmo en el nodo compute-0-0. |
chicos, no es para nada una buena práctica que lancéis experimentos en Maribel On 02/11/14 23:01, Antonio Fernández Ares wrote:
|
En bioatc está el frontend (nodo-local al que acceden los usuarios) y los 18 nodos de cómputo (numerados desde compute-0-0 a compute-0-17). El compute-0-0 no es el nodo de entrada de los usuarios 😋 |
Ok entonces mejor Enviado de Samsung Mobile -------- Mensaje original -------- De: Antonio Fernández Ares notifications@github.com Fecha:02/11/2014 23:17 (GMT+01:00) Para: geneura-papers/2015-Evostar 2015-Evostar@noreply.github.com Cc: Maribel García Arenas mgarenas@ugr.es Asunto: Re: [2015-Evostar] [Made] Lanzar los experimentos YA (#13) — |
Perdonad por la respuesta tardía, pero he estado de niñero sábado y domingo... :_( Respecto al artículo en sí:
|
On 03/11/14 14:06, Antonio Mora wrote:
Si formateais bien la tabla de resultados, es decir, algo como parametro1 parametro2 parametro3 ... resultado yo os paso los test de ANOVA, peroooooooooo, ANOVA tiene unas Maribel
|
Hola, El 3 de noviembre de 2014, 15:09, Maribel García Arenas <
No estamos hablando de los algoritmos, sino de la evaluación de un
O sea que no sirve de nada. Estamos hablando de evaluaciones del fitness,
A ver, leeros el artículo del ECTA. Ni uno ni otro es la solución. Pero ese |
Maribel, ya te ha respondido JJ. Mi opinión, si no lo he entendido mal, es que este problema es infinitamente más ruidoso que el Planet Wars y otros juegos dependientes del comportamiento de un agente (rival). Aquí el resultado depende de las interacciones entre muuuuchos agentes. Por eso propongo, en conjunción con Fergu hacer un pequeño test en paralelo, que luego se pueda añadir al artículo, si sale bien, como justificación. Con los mismos parámetros que usases en otros artículos (como el del ALIFE), yo probaría con varios grupos de evaluaciones, por ejemplo:
Esto se repite 30 veces para cada configuración. Se estudia (brevemente) en qué medida afecta el ruido (cómo varía el fitness en cada caso) y se determina cuántas repeticiones son las más adecuadas. En todo caso un estudio como este bien hecho (estilo el artículo de JJ :P) daría para un artículo potente. ;D Taluego! PD |
El 3 de noviembre de 2014, 17:10, Antonio Mora notifications@github.com
Bueno, habrá que verlo. Es posible, pero habrá que ver realmente cómo es el
No, Antonio, no se trata así el ruido. En el artículo se usa un estadístico
|
Wolas. No he dicho que así se trate el ruido, he propuesto que se haga un estudio, en la línea del que quieres hacer tú, para ver cómo ha evolucionado el fitness en distintos puntos del algoritmo. Talego! |
El 3 de noviembre de 2014, 17:47, Antonio Mora notifications@github.com
Eso es lo que quiero. Para eso, 100 evaluaciones de 10 individuos al
|
Ok, sólo pretendía justificar con resultados numéricos/gráficos la elección de una sola evaluación por individuo. Aunque se puede justificar como tú dices (JJ) y ya está. |
En el artículo ese, y en muchos otros, se usa simplemente reevaluación de los individuos como un método para tener en cuenta el ruido. Si no hay mucho ruido (lo que está por ver) y si el algoritmo evolutivo no tiene una presión selectiva muy alta, no es un mal método y sobre todo ahorra reevaluaciones. |
@raiben puedes describir bien la fórmula del fitness para que la meta en el .tex? no veo donde está proportion, por ejemplo. Supongo que al final lo que se hace es sumar por arquetipos, no? (y va de 0 a 1, supongo) |
@raiben tienes que lanzar lo siguiente:
Criterio de parada: la media de la población se acerca al mejor individuo (con un umbral). Esto quiere decir que se ha estancado. Imprimir tiempos por pantalla porque los usaremos para comparar!
Fitness:
(recordemos que el fitness se ejecuta 5 veces cada vez y se saca la media)
Mundo: Número de días D: 128, 256, 512
Algoritmo genético: población de tamaño S: 64, 128, 256
O sea, 3x3x3x3 combinaciones. Saca los logs de la forma run_[1-30]F[1-3]P[1,2,4]D[128,256,512]S[64,128,256].log (mete fors en el script)
Te daré acceso al cluster bioatc.ugr.es para que lances en paralelo.
The text was updated successfully, but these errors were encountered: