Вы находитесь на странице: 1из 12

ALGORITMOS

GENETICOS
ALGORITMOS GENETICOS
• El algoritmo genético es una técnica de búsqueda basada en la teoría de la
evolución de Darwin, que ha cobrado tremenda
• popularidad alrededor del mundo durante los últimos años. Se presentarán aquí los
conceptos básicos que se requieren para
• abordarla, así como un sencillo ejemplo que permita a los lectores comprender
cómo aplicarla al problema de su elección.
• Adicionalmente, se hablará acerca de los diversos ambientes de programación
actuales basados en algoritmos genéticos y de las
• áreas abiertas de investigación.
¿Cómo saber si es posible usar el Algoritmo Genético?

Los algoritmos genéticos son de probada eficacia en caso de querer calcular


funciones no derivables (o de derivación muy compleja) aunque su uso es
posible con cualquier función.
Deben tenerse en cuenta también las siguientes consideraciones:
•Si la función a optimizar tiene muchos máximos/mínimos locales se
requerirán más iteraciones del algoritmo para "asegurar" el máximo/mínimo
global.
•Si la función a optimizar contiene varios puntos muy cercanos en valor al
óptimo, solamente podemos "asegurar" que encontraremos uno de ellos (no
necesariamente el óptimo).
CARACTERÍSTICAS
Son algoritmos estocásticos, es decir, dos ejecuciones distintas
pueden dar dos soluciones distintas.

• Son algoritmos de búsqueda múltiple, luego dan varias soluciones.

• Son los algoritmos que hacen una barrida mayor al subespacio de


posibles soluciones válidas.

• A diferencia de los otros algoritmos, cuya convergencia y resultado


final son fuertemente dependientes de la posición inicial, la
convergencia del algoritmo genético es poco sensible a la población
inicial si esta se escoge de forma aleatoria y es lo suficientemente
grande.
REPRESENTACIÓN
Todos los organismos vivos están constituidos por células, y cada célula contiene uno o más
cromosomas (cadenas de ADN), que le sirven como una especie de “plano” al organismo.
Un cromosoma puede ser conceptualmente dividido en genes cada uno de los cuales
codifica una proteína. En términos generales, se puede decir que un gen se codifica como si
fuera un rasgo, como puede serlo el color de ojos. Cada gen se encuentra en una posición
particular del cromosoma, y está formado por alelos.
Debe existir una representación de estos genes para poder utilizarlos posteriormente en el
algoritmo genético y dotarles de unos valores. Se pueden considerar tres tipos básicos de
representación o codificación de los genes:

• Binaria: en ella se utiliza un vector cuya longitud es la del número de genes


de cada individuo y el valor que puede tomar cada elemento es un número
binario.
Entera: en ella se utiliza un vector cuya longitud es la del número de genes de cada
individuo y el valor que puede tomar cada elemento es un número entero

Real: en ella se utiliza un vector cuya longitud es la del número de genes de cada individuo
y el valor que puede tomar cada elemento es un número real
Operadores genéticos.

En su forma más simple, un algoritmo genético consta de los siguientes operadores genéticos:
selección, reproducción, cruce (crossover) y mutación.

Selección
El proceso de selección sirve para escoger a los individuos de la población mejor adaptados,
para que actúen de progenitores de la siguiente generación. En la naturaleza existen varios
factores que intervienen para que un individuo pueda tener descendencia.

Reproducción

la reproducción es un operador genético que se contrapone al cruce y la mutación, puesto que


estos últimos modifican los individuos que pasan a la siguiente generación. El objetivo de la
reproducción es mantener en la siguiente generación a individuos con fitness alta de la
presente generación
Operadores genéticos.

Cruce
Durante esta fase se cruzan o mezclan los individuos seleccionados en la fase
anterior. Es decir, los genes de los dos padres se mezclan entre sí para dar
lugar a los diferentes hijos

Mutación
el operador de mutación es el responsable del aumento o reducción del espacio de
búsqueda dentro del algoritmo genético y del fomento de la variabilidad genética de los
individuos de la población.
Desventajas y limitaciones

Entre otras podemos mencionar:


•Se dice que no poseen una buena escalabilidad con la complejidad, por ejemplo para sistemas
que están compuestos por muchas variables, componentes o elementos su respectivo espacio de
búsqueda crece de manera exponencial debido entre otras cosas a las relaciones que puedan
surgir, por lo tanto el problema del diseño de una aeronave debe desglosarse en representaciones
simples, como perfiles aerodinámicos, tomando en cuenta que la recombinación de los elementos
puede perjudicar el rendimiento individual.

•La "mejor" solución lo es solo en comparación a otras soluciones por lo que no se tiene demasiado
claro un criterio de cuándo detenerse ya que no se cuenta con una solución específica.

•No es recomendable utilizarlos para problemas que buscan respuesta a problemas que convergen
en soluciones simples como Correcto/Incorrecto ya que el algoritmo difícilmente convergerá y el
resultado será tan válido como escogerlo al azar.

•El diseño, la creación de la función de aptitud (fitness) y la selección de los criterios de mutación
entre otros, necesitan de cierta pericia y conocimiento del problema para obtener buenos
resultados.
APLICACIONES DE
ALGORITMOS GENÉTICOS

OPTIMIZACIÓN: Se trata de un campo especialmente abonado para el uso de los Algoritmos


Genéticos, por las características intrínsecas de estos problemas. No en vano fueron la fuente de
inspiración para los creadores estos algoritmos. Los Algoritmos Genéticos se han utilizado en
numerosas tareas de optimización, incluyendo la optimización numérica, y los problemas de
optimización combinatoria.

APRENDIZAJE MÁQUINA: Los AG se han utilizado también en muchas de estas aplicaciones, tales
como la predicción del tiempo o la estructura de una proteína. Han servido asimismo para
desarrollar determinados aspectos de sistemas particulares de aprendizaje, como pueda ser el de
los pesos en una red neuronal, las reglas para sistemas de clasificación de aprendizaje o sistemas de
producciónsimbólica, y los sensores para robots.
APLICACIONES DE
ALGORITMOS GENÉTICOS
PROGRAMACIÓN AUTOMÁTICA: Los Algoritmos Genéticos se han empleado para desarrollar
programas para tareas específicas, 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 estrategias de puja, y la aparición de mercados económicos.
Gracias !!

Вам также может понравиться