Download - Algoritmo genetico laberinto

Transcript
Page 1: Algoritmo genetico laberinto

El proyecto consiste en encontrar el individuo que mejor desempeño tiene para encontrar la solución del laberinto:

M=0Iniciar pueblos(); inicia los pueblos a evaluar los que quieranIniciar Poblacion(); cada pueblo va a tener un número de individuos Cada individuo tiene las siguientes variables

-String DNA-genes;La cadena se formara aleatoriamente con los únicos tres pasos que puede dar enfrente, derecha e izquierda. El número de genes ustedes lo establecen ejemplo de cadena formadaDNA=”E,D,E,I,D,D,D,E,I,I,”;

-Int Desempeño; el desempeño es la cantidad de pasos correctos que dio el individuo,-Boolean Éxito; éxito solo es una bandera para ver si alcanzo a salir del laberinto.Evaluar población(); el método evaluar la cadena del individuo determinando la cantidad de pasos que dio y si encontró el éxito o no. Este método se hace con todos los individuos de los pueblos.

Do{M++ solo un contador.Seleccionar(20);(azar) se seleccionan 20 de cada puebloCruce();con los 20 de cada pueblo se cruzaran por parejas y se creara un individuo nuevo por cada pareja y se agregaran a su pueblo correspondiente .cruzar se refiere de las dos cadenas de cada pareja formar una para el individuo nuevo.Mutacion(); después se toma un individuo de cada pueblo y se les cambia un gen de la cadena aleatoriamente.Evaluarnuevos() se evalúan los individuos nuevos.Poda(); después se eliminad diez individuos de cada puebloIf(m==10)

{m=0Migración()ya que el contador llegue a un numero especificado por ustedes se mandara de un pueblo un individuo a los demás pueblos pero alavés recibirá de los demás pueblos un individuo

}

}while(condicion)y este paso se repetirá cuantas veces lo deseen

Al final se sacara el mejor de todos los pueblos y ese será el que tiene mejor desempeño aunque no aya encontrado el éxito.