Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Integrantes:
Arotinco Gomez, William
Manosalva López, Anthony
Flores Gonzales, Julio
Escobar Pérez, Fritz
Objetivos
Explicar qué es y como funcionan los AG.
Explicar en que caso conviene usar los AG.
Aplicaciones en los que se usan los AG.
¿Qué es un Algoritmo Genético?
Los AG son métodos adaptativos para la resolución de
problemas de búsqueda y optimización.
Están basados en el proceso genético de los organismos vivos.
Son una clase particular de Algoritmos Evolutivos.
Los principios básicos de los AG fueron establecidos por
Holland (1975).
¿Qué es un Algoritmo Genético?
Alelos
Volver
Selección
Selección por Ruleta
Descrita por Hassoun como ”la versión estocástica de la
supervivencia del más apto”
padres
1 1 1 1 1 1 1 0 0 0 0 0 0 0
hijos
1 1 1 0 0 0 0 0 0 0 1 1 1 1
Volver
Mutación
La mutación altera de forma aleatoria cada bit
La probabilidad de aplicación debe ser baja
Introduce características aleatorias en los cromosomas
antes 1 1 1 1 1 1 1
después 1 1 1 0 1 1 1
Volver
¿Cuándo usar algoritmos
genéticos?
Su espacio de búsqueda (sus posibles soluciones) debe de
estar delimitado dentro de un cierto rango.
Debe permitir la definición de una función de aptitud que
nos indique que tan buena o mala es cierta respuesta.
Las soluciones deben programarse de una forma que resulte
relativamente fácil de implementar en el computador.
¿Cuándo NO usar algoritmos
genéticos?
Si se requiere forzosamente llegar al óptimo global
Si conocemos la función de optimización
Si el problema esta muy delimitado y se presta a un
tratamiento analítico (funciones de una variable)
Si el espacio es limitado entonces mejor enumerar todas las
soluciones
Áreas de aplicación
Optimización: Se trata de un campo especialmente
abonado para el uso de los AG, por las características
intrínsecas de estos problemas.
Programación automática: Los AG se han empleado para
desarrollar programas para tareas especificas, y para diseñar
otras estructuras computacionales tales como el autómata
celular, y las redes de clasificación.
Economía: En este caso, se ha hecho uso de estos
Algoritmos para modelar procesos de innovación, el
desarrollo de estrategias de puja, y la aparición de mercados
económicos.
Áreas de aplicación
Ecología: En el modelado de fenómenos ecológicos tales como
las carreras de armamento biológico, la coevolución de parásito-
huésped, la simbiosis, y el flujo de recursos.
Evolución y aprendizaje: Los AG se han utilizado en el
estudio de las relaciones entre el aprendizaje individual y la
evolución de la especie.
Sistemas sociales: En el estudio de aspectos evolutivos de
los sistemas sociales, tales como la evolución del
comportamiento social en colonias de insectos, y la
evolución de la cooperación y la comunicación en sistemas
multiagentes.
Ejemplo 1. Aplicación
Matemática
Encontrar el máximo de la función f(x) = x² sobre
los enteros {1,2,3,…32}.
Solución:
2 4
Padres 1 1 0 0 0 1 0 0 1 1
Descen. 1 1 0 1 1 1 0 0 0 0
Cruce entre 1 y 2
Punto de Cruce: 3
1 2
Padres 0 1 1 0 1 1 1 0 0 0
Descen. 0 1 1 0 0 1 1 0 0 1
Teniendo como resultado:
2
4
1
2
Lo siguiente sería mutar con una probabilidad pm, cercana a 0,
cada uno de los bit de las 4 ristras de individuos. En este caso
suponemos que el único bit mutado corresponde al primer
gen del tercer individuo.
Tercer Individuo
Descendiente: 0 1 1 0 0
Gen mutado
Descendiente Mutado: 1 1 1 0 0
Finalmente tenemos la población en el tiempo 1, proveniente
de efectuar los
Operadores de cruce y mutación sobre los individuos
expresados en la primera
Tabla, los cuales constituyen la población en el tiempo 0
En las dos últimas columnas se pueden consultar los valores de
los individuos, así como las funciones de adaptación
correspondientes.
max 𝑥𝑖 𝑏𝑖 𝑠𝑢𝑗𝑒𝑡𝑜 𝑎 𝑥𝑖 𝑝𝑖 ≤ 𝑃
1≤𝑖≤𝑛 1≤𝑖≤𝑛
En otras palabras el problema nos plantea lo siguiente:
“Existe una mochila con, por ejemplo, una capacidad máxima
de 20 kg de carga. A esa mochila debemos llenarla con
distintos objetos (imaginemos que nos vamos de
campamento) los cuales tienen un peso y una utilidad
determinada. ¿Cual es la forma óptima de cargar esa
mochila? ¿Que combinación de elementos me dará el
máximo beneficio (utilidad) sin pasarme de los 20 kg
máximos permitidos?"
Como vemos, no podemos incluir todos los elementos, ya que
totalizan un peso total de 27, y esta tiene una capacidad
máxima de 20.
Generemos la primer población, de 10
cromosomas y asignemos a cada gen, de forma
aleatoria, un valor (entre 1 y 0, para este caso):
Mi "función de ajuste" es la que se observa en la fila correspondiente a
"puntuación" y utilizo a las funciones =SI() y COINCIDIR() para
lograrla.
1) primero solo tengo en cuenta los cromosomas de peso <= 20
2) luego me fijo cual es la utilidad mas alta de dichos cromosomas
3) sumo el resultado del punto 1 + el resultado del punto 2, obteniendo
una "puntuación"... mientras mas alta, mas apto el individuo y con mas
posibilidades de ser elegido como padre.
Tamaulipas Guanajuato
Nuevo León Guerrero
Durango Veracruz
Chihuahua Campeche
Sinaloa Chiapas
Las ciudades se etiquetan como se indica a continuación:
Ciudad Etiqueta
Tamaulipas 1
Nuevo León 2
Durango 3
Chihuahua 4
Sinaloa 5
Guanajuato 6
Guerrero 7
Veracruz 8
Campeche 9
Chiapas 10
La distancia comprendida entre cada una de las ciudades se
muestra en la tabla siguiente:
Tamaulipas Nuevo León Durango Chihuahua Sinaloa Guanajuato Guerrero Veracruz Campeche Chiapas
Tamaulipas 0
Nuevo León 287 0
Durango 822 615 0
Chihuahua 1131 818 709 0
Sinaloa 1361 1154 539 1248 0
Guanajuato 4804 662 601 1143 1033 0
Guerrero 975 1271 1295 1747 1584 633 0
Veracruz 749 1036 1327 1854 1797 866 716 0
Campeche 1610 1897 2227 2497 2610 1677 1572 861 0
Chiapas 1522 1809 1921 2473 2391 1460 1089 773 674 0
Se propone la siguiente población inicial: