Algoritmo genetico laberinto

2
El proyecto consiste en encontrar el individuo que mejor desempeño tiene para encontrar la solución del laberinto: M=0 Iniciar pueblos(); inicia los pueblos a evaluar los que quieran Iniciar 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 formada DNA=”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 pueblo Cruce();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 pueblo If(m==10) { m=0 Migración()ya que el contador llegue a un numero especificado por ustedes se mandara de un pueblo un

Transcript of Algoritmo genetico laberinto

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.