http://www.redcientifica.com/gaia/

http://www.redcientifica.com/gaia/notas_c.htm


Notas de última hora sobre los programas

Ejemplos de Vida

En el programa de las frases hay cosas que me gustaria mejorar:

1.- La selección no es muy buena: lo de seleccionar el 50% mejor etc. es muy restrictivo, es mejor seleccionar "de todo un poco, pero con preferencia por los mejores" eso se consigue con los criterios de selección por torneos y ruleta. Aparecen en http://www.geocities.com/CapeCanaveral/9802/

Para seleccionar, además de la población con mayor peso, una fracción de la de menor peso, (ya que si sólo seleccionaramos unos pocos de los mejores, los muy buenos, el algoritmo probablemente nunca funcione como esperamos, ya que se quedará estancado en un mínimo local), se puede usar una forma tan radical como seleccionar el 40% mejor y el 10% peor, pero existen otros métodos que seleccionan "de todo un poco" teniendo cada cadena una probabilidad de ser seleccionada proporcional a su peso, mediante el método de la ruleta o de los torneos.

En el método de la ruleta, se calcula el peso relativo de cada patrón (igual al peso propio dividido entre el sumatorio de todos los pesos), con lo que la suma de los pesos relativos es 1.

Posteriormente se asigna a cada entidad un trozo de los valores entre 0 y 1 del tamaño de su peso relativo, y se generan números al azar entre 0 y 1; los individuos con esos valores serán seleccionados.

El método de los torneos consiste en agrupar individuos en subconjuntos creados al azar y seleccionar al mejor de cada subconjunto.

2.- El cruzamiento no esta muy bien hecho tampoco ya que coge una palabra de cada frase alternativamente y siempre en el mismo orden, el metodo no es malo para este caso pero si podria serlo para otros problemas y existen muchas mas alternativas

El programa de 3R ya funciona bien desde la versión 3.2. Aunque el aprendizaje sigue siendo lento, ahora es posible observar mejoras en el juego del ordenador. El problema no era un error de programación, sino de concepto. El peso de cada agente era acumulativo, y ahora se puede recalcular en cada ciclo, lo que ofrece resultados mucho mejores.

Recuerdo que con el 3R no se pretende simplemente conseguir un programa que juegue bien al 3R, -para lo que hay muchísimos métodos mejores que el que aquí se usa-, sino conseguirlo ofreciendo al ordenador la mínima información posible acerca de cómo se juega al tres en raya, sin que él pueda imitar o aprender de un jugador humano.



Gaia

Gaia está muy en los inicios (lo siento!), pero más importante que el programa en sí es la descripción de cómo ha de funcionar:

gaiaweb.dhs.org/g_c.htm
todavía se pueden añadir muchas cosas...

No se cuando estará el programa completo, lo veo imposible para antes de 5 o 6 meses y puede tardar mucho más.

Por ahora solo es capaz de repartir el tiempo de procesador entre varios universos poblados de entidades que a su vez realizan una serie de acciones. Pero por ejemplo no hay todavía un metodo para crear o borrar una acción / entidad / universo.

Recuerdo que existe ya una plataforma que hace esto (swarm) para Linux.

Swarm es una plataforma de desarrollo de vida artificial para UNIX GNU y Xwindows dirigida por Christopher Langton (últimamente empiezan a hablar acerca de la versión para NT).
Swarm es una plataforma que permite el desarrollo de aplicaciones que simulan sistemas complejos, en los que se espera un comportamiento emergente de la interacción de muchas unidades simples, y ahí estan las RNA, Vida Artificial, AG, economia, biología, antropología, politica, tendencias sociales, demografia,....
Esta escrita en Objective C (POO) y soportada para Linux, fuentes disponibles.



El Juego de la Vida de Conway

No es la versión terminada, pero funciona bien.


[ Home Page Castellano | Home Page English ]

Traduccion