Académique Documents
Professionnel Documents
Culture Documents
ALGORITMOS
GENTICOS
UNIVERSIDAD NACIONAL
SANTIAGO ANTNEZ DE MAYOLO
FACULTAD DE INGENIERA DE MINAS, GEOLOGA Y
METALURGA
ANLISIS DE SISTEMAS MINEROS I
ALGORITMOS GENTICOS
REALIZADO POR:
DOCENTE:
ALGORITMOS GENTICOS
1.1. INTRODUCCIN.
Un algoritmo es una serie de pasos organizados que describe el
proceso que se debe seguir, para dar solucin a un problema
especfico. Del mismo modo tambin definimos a los Algoritmos
Genticos como mtodos adaptativos, generalmente usados en
problemas de bsqueda y optimizacin de parmetros.
Los algoritmos genticos funcionan entre el conjunto de soluciones de
un problema llamado fenotipo, y el conjunto de individuos de una
poblacin natural, codificando la informacin de cada solucin en una
cadena, generalmente binaria, llamada cromosoma. Los smbolos que
forman la cadena son llamados los genes. Cuando la representacin
de los cromosomas se hace con cadenas de dgitos binarios se le
conoce como genotipo. Los cromosomas evolucionan a travs de
iteraciones, llamadas generaciones. En cada generacin, los
cromosomas son evaluados usando alguna medida de aptitud. Las
siguientes generaciones (nuevos cromosomas), son generadas
aplicando los operadores genticos repetidamente, siendo estos los
operadores de seleccin, cruzamiento, mutacin y reemplazo.
Los algoritmos genticos son de probada eficacia en caso de querer
calcular funciones no derivables (o de derivacin muy compleja)
aunque su uso es posible con cualquier funcin.
Deben tenerse en cuenta tambin las siguientes consideraciones:
Si la funcin a optimizar tiene muchos mximos/mnimos
locales
se
requerirn
ms
iteraciones
del
algoritmo
para
en
valor
al
ptimo,
solamente
podemos
"asegurar"
que
1.2. ORGENES
Si algo funciona bien, por qu no imitarlo? La respuesta a esta
pregunta nos lleva directamente a los orgenes de la computacin
evolutiva. Durante millones de aos las diferentes especies se han
adaptado para poder sobrevivir en un medio cambiante. De la misma
manera se podra tener una poblacin de potenciales soluciones a un
problema, de las que se iran seleccionando las mejores hasta que se
adaptasen perfectamente al medio, en este caso el problema a
resolver (Michalewicz & Fogel, 2000) (Bck, 1996) (Whitley, 1994). En
trminos muy generales se podra definir la computacin evolutiva
como una familia de modelos computacionales inspirados en la
evolucin.
Este proceso har posible que los individuos genticos tiendan hacia
las soluciones a un problema dado, aunque las condiciones del
espacio de bsqueda varen con el transcurso del tiempo
(Grefenstette, 1992)
Las bases de las Estrategias de Evolucin fueron apuntadas en 1973
por Rechemberg en su obra Evolutionsstrategie: Optimierung
Technisher Systeme nach Prinzipien der Biologischen Evolution
(Rechenberg, 1973).
Se
ha
alcanzado
el
nmero
de
generaciones
mximo
especificado.
Sobre este algoritmo inicialmente propuesto por Holland se han
definido numerosas variantes.
Quizs una de las ms extendidas consiste en prescindir de la
poblacin temporal de manera que los operadores genticos de cruce
y mutacin se aplican directamente sobre la poblacin gentica. Con
esta variante el proceso de cruces vara ligeramente. Ahora no basta,
en el caso de que el cruce se produzca, con insertar directamente la
descendencia en la poblacin. Puesto que el nmero de individuos de
la poblacin se ha de mantener constante, antes de insertar la
descendencia en la poblacin se le ha de hacer sitio. Es decir, para
ubicar a los descendientes generados previamente se han de eliminar
otros individuos de la poblacin gentica. Existen para ello diversas
opciones, que se comentarn con ms detalle en un punto posterior.
Evidentemente, trabajando con una nica poblacin no se puede
decir que se pase a la siguiente generacin cuando se llene la
poblacin, pues siempre est llena. En este caso el paso a la
siguiente generacin se producir una vez que se hayan alcanzado
cierto nmero de cruces y mutaciones. Este nmero depender de la
Cruce de 1 punto
Cruce de 2 puntos
Cruce uniforme
generada aleatoriamente.
Multiplicar un gen por un valor aleatorio prximo a 1.
PROBLEMA:
1) Existen 4 candidatos para un puesto de eleccin: Juan, Pedro,
Sandro y Jhosimar. Para que las posiciones de los nombres en la
boleta electoral no influyan sobra los nombres enumerados en
todos imprimir boletas con los nombres enumerados en todos
los rdenes posibles Cuntas boletas distintas puede haber?
Solucin
Podemos formar una boleta en 4 pasos, cada paso es
elegir el nombre de cada candidato. utilizando el principio
de la multiplicacin tenemos.
4
=210
=35