Este documento trata sobre los algoritmos genéticos. Estos algoritmos se basan en la evolución biológica para resolver problemas de optimización de manera adaptativa. Se codifican posibles soluciones en cromosomas y se someten a procesos de selección, cruce y mutación para generar nuevas poblaciones con mejores soluciones. Los algoritmos genéticos se han aplicado a problemas de optimización, aprendizaje automático, programación automática y modelado de sistemas sociales y económicos.
1. UNIVERSIDAD BICENTENARIA DE ARAGUA
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA DE SISTEMAS
SAN JOAQUÍN DE TURMERO
INTEGRANTES:
INGRID SOCORRO
PATRICIA
SEVILLA
MARCO GAMEZ
2. Los algoritmos genéticos establecen una
CONCEPTO
analogía entre el conjunto de soluciones de un
problema y el conjunto de individuos de una
población natural, codificando la información de
cada solución en un string (vector binario) a
modo de cromosoma.
"Se pueden encontrar soluciones aproximadas a
problemas de gran complejidad computacional
mediante un proceso de "evolución
simulada", Holland
3. Los Algoritmos Genéticos (AG) son métodos
adaptativos que pueden ser utilizados para
implementar búsquedas y problemas de
CONCEPTO
optimización. Ellos están basados en los procesos
genéticos de organismos biológicos, codificando
una posible solución a un problema en un
"cromosoma" compuesto por una cadena de bits
o caracteres.
4. De estado Fijo:
Utilizan el esquema
generacional de los
ALGORITMOS GENÉTICOS
mamíferos y otros
Generacionales: animales de vida
Se asemejan a la larga, donde Paralelos:
forma de coexisten padres y
CLASES DE
reproducción de los sus Se originan dos
insectos, donde una descendientes, permi modelos que toman
generación pone tiendo que los hijos es en cuenta esta
huevos, se aleja sean educados por variación, y utilizan
geográficamente o sus no una población
muere y es progenitores, pero como los anteriores
también que a la si múltiple
sustituida por una
larga se genere concurrentemente.
nueva. competencia entre
ellos.
5. ALGORITMOS GENÉTICOS
Modelos de Islas: Modelo Celular:
Si se tiene una población Los individuos están
de individuos, esta se distribuidos al azar sobre
divide en sub-poblaciones la matriz, Posteriormente
CLASES DE
que evolucionan empiezan a emerger zonas
independientemente. como cromosomas y
Ocasionalmente, se adaptaciones semejantes.
producen migraciones La reproducción Y
entre ellas permitiéndoles selección local crea
intercambiar material tendencias evolutivas
genético. aisladas.
6. Como los Algoritmos Genéticos se encuentra
basados en los procesos de evolución de los
seres vivos, casi todos sus conceptos se basan
ALGORITMOS GENÉTICOS
en conceptos de biología y genética que son
fáciles de comprender. INDIVIDUO
ELEMENTOS DE
Un individuo es un ser
que caracteriza su
propia especie. El
POBLACIÓN individuo es un
OPERADORES cromosoma y es el
GENETICOS. A un conjunto de
codigo de información
individuos (Cromosomas)
Son los diferentes sobre el cual opera el
se le denomina población.
métodos u operaciones algoritmo. Cada
El método de A.G´s
que se pueden ejercer solución parcial del
consiste en ir obteniendo
sobre una población y problema a optimizar
de forma sucesiva
que nos permite está codificada en
distintas poblaciones.
obtener poblaciones forma de cadena o
nuevas. String en un alfabeto
determinado, que
puede ser binario
8. CODIFICACIÓN: los elementos característicos
del problema se pueden representar de tal
forma que resulte sencilla su implementación y
comprensión.
ALGORITMOS GENÉTICOS
POBLACIÓN INICIAL: para constituir la población
inicial, que será la población base de las sucesivas
ESTRUCTURA DE
generaciones, existen varios métodos.
FUNCIÓN FITNESS: asigna a cada cromosoma un
número real, que refleja el nivel de adaptación al
problema del individuo representado por el
cromosoma.
SELECCIÓN: es el proceso por el cual se eligen una o
varias parejas de individuos de la población inicial para
que desempeñen el papel de progenitores, cruzándose
posteriormente y obteniendo descendencia o
permaneciendo en la siguiente generación.
Cruzamiento: el operador cruce permite el
intercambio de información entre individuos de una
población, recombinando los cromosomas, dando
lugar a nuevos individuos.
Mutación: el operador mutación se aplica tras el
cruce con el objetivo de incrementar la diversidad
poblacional.
9. • Una clara ventaja es que los algoritmos genéticos son intrínsecamente
paralelos, es decir, operan de forma simultánea con varias soluciones, en
vez de trabajar de forma secuencial como las técnicas tradicionales. Esto
significa que mientras técnicas tradicionales sólo pueden explorar el
ALGORITMOS GENÉTICOS
espacio de soluciones hacia una solución en una dirección al mismo
tiempo, y si la solución que descubren resulta subóptima, no se puede
hacer otra cosa que abandonar todo el trabajo hecho y empezar de
VENTAJAS DE
nuevo. Sin embargo, los algoritmos genéticos simplemente desechan esta
solución subóptima y siguen por otros caminos.
• Cuando se usan para problemas de optimización resultan menos
afectados por los máximos locales (falsas soluciones) que las técnicas
tradicionales. Muchos algoritmos de búsqueda pueden quedar atrapados
en los óptimos locales: si llegan a lo alto de una colina del paisaje
adaptativo, descubrirán que no existen soluciones mejores en las
cercanías y concluirán que han alcanzado la mejor de todas, aunque
existan picos más altos en algún otro lugar del mapa, situación que no
sucede para algoritmos genéticos.
10. Otra ventaja es su habilidad para manipular muchos
parámetros simultáneamente. Resulta interesante en caso
de tener varios objetivos a resolver.
ALGORITMOS GENÉTICOS
No necesitan conocimientos específicos sobre el problema que
intentan resolver. Realizan cambios aleatorios en sus soluciones
candidatas y luego utilizan la función de aptitud para determinar
VENTAJAS DE
si esos cambios producen una mejora o no.
Resulta sumamente fácil ejecutarlos en las
modernas arquitecturas masivas en paralelo.
Usan operadores probabilísticos, en vez de los
típicos operadores determinísticos de las otras
técnicas.
11. 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
ALGORITMOS GENÉTICOS
tareas de optimización, incluyendo la optimización numérica, y los
problemas de optimización combinatoria.
APLICACIONES DE
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.
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ón
simbólica, y los sensores para robots.
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.
12. 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
ALGORITMOS GENÉTICOS
comunicación en sistemas multiagentes.
APLICACIONES DE
Sistemas inmunes: Al momento de modelar varios aspectos de
los sistemas inmunes naturales, incluyendo la mutación somática
durante la vida de un individuo y el descubrimiento de familias
de genes múltiples en tiempo evolutivo, ha resultado útil el
empleo de esta técnica.
13. Para aplicar los operadores genéticos tendremos que seleccionar un
ESTRATEGIAS DE SELECCIÓN subconjunto de la población. Algunas de las técnicas que disponemos son:
SELECCIÓN DIRECTA: toma elementos de acuerdo a un
criterio objetivo, como son «los x mejores», «los x peores»...
los del tipo «el cuarto individuo a partir del último escogido»
son empleados con mucha frecuencia cuando se quieren
seleccionar dos individuos distintos, y se selecciona el
primero por un método aleatorio o estocástico.
SELECCIÓN
SELECCIÓN ALEATORIA: puede ser realizado por selección
equiprobable o selección estocástica.
• Selección equiprobable: todos tienen la misma
probabilidad de ser escogidos. Por ejemplo, en nuestro
algoritmo la madre en el cruce es escogida con
probabilidad equiprobable.
• Selección estocástica: la probabilidad de que un individuo
sea escogido depende de una heurística.
POR TORNEO: escoge un subconjunto de individuos de
acuerdo con una de las técnicas anteriores -
habitualmente, aleatoria o estocástica- y de entre ellos
selecciona el más adecuado por otra técnica -
habitualmente, determinística de tipo «el mejor» o «el
peor»-.
14. La forma de calcular el genoma del nuevo individuo en función del genoma
del padre y de la madre. El operador de cruce es fuertemente responsable de
las propiedades del algoritmo genético, y determinará en gran medida la
evolución de la población.
TECNICAS DE CRUCE
Existen gran cantidad de técnicas de cruce. Las técnicas básicas
son:
CRUCE BÁSICO: se selecciona un punto al azar
de la cadena. La parte anterior del punto es
copiada del genoma del padre y la posterior
del de la madre.
CRUCE MULTIPUNTO: igual que el cruce
CRUCE
básico, sólo que estableciendo más de un
punto de cruce.
CRUCE UNIFORME: para cada gen de la cadena
del descendiente existe una probabilidad de
que el gen pertenezca al padre, y otra de que
pertenezca a la madre.
15. Se define mutación como una variación de las informaciones contenidas en
el código genético -habitualmente, un cambio de un gen a otro producido
por algún factor exterior al algoritmo genético-. En Biología se definen dos
tipos de mutaciones: las generativas, que se heredan y las somáticas, que no
se heredan. En los algoritmos genéticos sólo nos serán interesantes las
mutaciones generativas.
Algunas de las razones que pueden motivar a incorporar son:
MUTACION
DESBLOQUEO DEL ALGORITMO: Si el algoritmo se bloqueó en un mínimo
parcial, una mutación puede sacarlo al incorporar nuevos fenotipos de
otras zonas del espacio.
ACABAR CON POBLACIONES DEGENERADAS: Puede ocurrir que, bien por
haber un cuasi-mínimo, bien porque en pasos iniciales apareció un
individuo demasiado bueno que acabó con la diversidad genética, la
población tenga los mismos fenotipos. Si se ha llegado a una población
degenerada, es preciso que las mutaciones introduzcan nuevos genomas.
16. INCREMENTAR EL NÚMERO DE SALTOS EVOLUTIVOS. Los saltos evolutivos -
aparición de un fenotipo especialmente valioso, o, dicho de otra
forma, salida de un mínimo local- son muy poco probables en un genético
puro para un problema genérico. La mutación permite explorar nuevos
subespacios de soluciones, por lo que, si el subespacio es bueno en
términos de adaptación, se producirá un salto evolutivo después de la
mutación que se expanderá de forma exponencial por la población.
MUTACION
ENRIQUECER LA DIVERSIDAD GENÉTICA: Es un caso más suave que el de
una población degenerada -por ejemplo, que la población tenga una
diversidad genética pobre-, la mutación es un mecanismo de prevención de
las poblaciones degeneradas.
Sin embargo, si la tasa de mutación es excesivamente alta tendremos la ya
conocida deriva genética. Una estrategia muy empleada es una tasa de
mutación alta al inicio del algoritmo, para aumentar la diversidad genética, y
una tasa de mutación baja al final del algoritmo, para conseguir que
converja.
17. Existen varias técnicas distintas de mutación. Algunas de éstas son:
MUTACIÓN DE BIT: existe una única probabilidad de que se produzca una
mutación de algún bit. De producirse, el algoritmo toma aleatoriamente un
bit, y lo invierte.
MUTACION
MUTACIÓN MULTIBIT: cada bit tiene una probabilidad de mutarse o
no, que es calculada en cada pasada del operador de mutación multibit.
MUTACIÓN DE GEN: igual que la mutación de bit, solamente que, en vez de
cambiar un bit, cambia un gen completo. Puede sumar un valor
aleatorio, un valor constante, o introducir un gen aleatorio nuevo.
MUTACIÓN MULTIGEN: igual que la mutación de multibit, solamente
que, en vez de cambiar un conjunto de bits, cambia un conjunto de genes.
Puede sumar un valor aleatorio, un valor constante, o introducir un gen
aleatorio nuevo.
MUTACIÓN DE INTERCAMBIO: existe una probabilidad de que se produzca
una mutación. De producirse, toma dos bits/genes aleatoriamente y los
intercambia.