An open API service indexing awesome lists of open source software.

https://github.com/diegovallejodev/algoritmo-genetico

Algoritmo genetico en js
https://github.com/diegovallejodev/algoritmo-genetico

algoritmo-genetico

Last synced: 3 months ago
JSON representation

Algoritmo genetico en js

Awesome Lists containing this project

README

        

Algoritmos Geneticos (AGs)

===================================================================

1 - Un sitiema biologico tiene una poblacion de individuos
muchos de los cuales tienen la capacidad de reproducirse

2 - Los individuos tienen esperanza de vida finita

3 - Hay variacion en la poblacion

--------------------------------------------------------------------

Solucion potencial => "solucion candidata" o "individuo"

Grupo de individuos => "Poblacion"

--------------------------------------------------------------------

problema robot P(ligero/Bateria)

+ Se requiere esquema de codificacion

+ funcion objetivo

f = Rango(Hrs) + Poder(Watts) - Masa(KG)

Generar poblacion inicial aleatoria
I1 = (010101) combinacion Esquema

cada bit es llamado alelo

secuencia de bits que contiene una caracteristica
es llamado gen

genes especificos son llamados genotipos

parametros que representa Genotipo son llamados fenotipos

----------------------------------------------------------------------

los padres se reproducen

010101-:011001
101001-:100101

se reemplaza la poblacion con hijos y los padres mueren

Para elegir a los padres deacuerdo a su fitness(f)
Ruleta de seleccion

Pseudocodigo ruleta

r <- aleatorio(0,1)
si r<0.1
Padre = Ind1
sino si r<0.3
Padre = Ind2
.
.
.
fin del si

Mutacion
rango de mutacion ~1%
cada decendiente tiene una posibilidad de 1% de
que un alelo mute

===========================================================================

Pseudocodigo Algoritmo Genetico

Padres = {Poblacion Generada aleatoriamente}

Mientras(!Criterio de terminacion)
Calcular la condicion para cada padre de la poblacion
Hijos <- 0
Mientras |Hijos|<|Padres|
Usar la seleccion probabilistica de la condicion
(Ruleta) para seleccionar un par de padres
Reproducir a los padres para crear a los hijos(h1,h2)
Hijos <- Hijos + {h1,h2}
Bucle
Aleatoriamente Mutar algunos Hijos
Padres <- Hijos
Siguiente Generacion

============================================================================

Parametros de especificacion para obtener buenos resultados

1 - Esquema de codificacion

2 - funcion objetivo que mapea las soluciones del problema a los valores de
condicion de cada individuo

3 - Tamaño de la poblacion

4 - Metodo de seleccion (Ruleta u otro)

5 - Rango de mutacion

6 - escala de condicion "Fitness"

7 - Tipo de Cruce

8 - Incesto

------------------------------------------------------------------------------

Practica 1

considere el problema de minimizacion

minx f(x)=x^4 + 5x^3 +4x^2 -4x +1

supongamos que el minimo ocurre en x E [-4,-1]

codificamos x con 4 bits

0000 = -4.0
0001 = -3.8
0010 = -3.6
.
.
.
1110 = -1.2
1111 = -1.0