Sunteți pe pagina 1din 31

AO DE LA DIVERSIFICACIN PRODUCTIVA Y DEL FORTALECIMIENTO DE

LA EDUCACIN

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURMAC


FACULTAD DE ADMINISTRACIN
ESCUELA ACADMICO PROFESIONAL DE ADMINISTRACIN

CURSO

: TECNOLOGA DE LA INFORMACIN

DOCENTE

: Mg. CATACORA FLORES, Norma Lorena

TEMA

: ALGORTMOS GENTICOS

ESTUDIANTES :
CONTRERAS RAFAELE, Rosa Anglica
CULLAR MARTNEZ, Vernica
PACHECO QUISPE, Heydy Liz

141015
141017
141037
1

QUISPE LUDEA, Naysia


VERA GUTIERREZ, Juver

141042
141050

SEMESTRE ACADMICO : 2015 - I


ABANCAY APURMAC
2015
NDICE
DEDICATORIA..........................................................................................................3
INTRODUCCIN.......................................................................................................4
CAPITULO I...............................................................................................................5
1. HISTORIA DE LOS ALGORITMOS GENTICOS..........................................5
2. CONCEPTUALIZACIN.................................................................................6
3. CARACTERSTICAS......................................................................................7
CAPITULO II..............................................................................................................8
1. TEOREMAS.....................................................................................................8
1.1.

TEOREMA DE LOS ESQUEMAS............................................................8

2. TIPOS..............................................................................................................9
2.1.

ALGORITMOS GENTICOS SIMPLES...................................................9

2.2.

ALGORITMOS GENTICOS PARALELOS..........................................17

CAPTULO III...........................................................................................................20
1. ESQUEMAS..................................................................................................20
2. MODELOS DE ISLAS...................................................................................22
CAPITULO IV..........................................................................................................25
1. VENTAJAS Y DESVENTAJAS.....................................................................25
1.1.

VENTAJAS.............................................................................................25

1.2.

DESVENTAJAS......................................................................................26

2. FUNCIONAMIENTO DE UN ALGORITMO GENTICO BSICO...............27


3. ALGUNAS APLICACIONES DE LOS ALGORITMOS GENTICOS..........28
CONCLUSIN.........................................................................................................31
BIBLIOGRAFA.......................................................................................................32
2

DEDICATORIA
Este trabajo monogrfico se lo dedicamos primeramente a Dios, a nuestros padres
por apoyarnos en nuestra formacin profesional y a nuestra docente Mg.
CATACORA FLORES, Norma Lorena quien a travs del esfuerzo y la dedicacin
nos brinda sus conocimientos que nos ayudaran en nuestra instruccin acadmica
y profesional inculcndonos principios y valores para ser mejores personas cada
da.

INTRODUCCIN
La identificacin de sistemas o procesos complejos (no lineales, variantes con el
tiempo) contina siendo un aspecto de inters en los crculos acadmicos y en
instituciones dedicadas a labores de investigacin en el rea del control
automtico. En los ltimos tiempos, diversas tcnicas provenientes de la
inteligencia artificial, como son las redes neuronales, la lgica difusa y los
algoritmos genticos, entre otras, conocidas en su conjunto como soft-computing,
se han venido aplicando para generar modelos que den cuenta de las relaciones
de entrada salida de diferentes sistemas, sin la necesidad de contar A priori con
informacin completa sobre la estructura explcita de ecuaciones dinmicas que
describan las relaciones entre variables y parmetros en estos procesos
complejos, Los algoritmos genticos permite alcanzar soluciones extremas que
satisfagan criterios prescritos.

CAPITULO I

Historia
Definicin
Caractersticas

1. HISTORIA DE LOS ALGORITMOS GENTICOS


Segn (OPERACIONES, 2015, pgs. 8-9), las teoras de herencia y
evolucin presentada por Mendel luego por Darwin, inspiraron a la ciencia
computacional en el desarrollo de algoritmos evolutivos.
Diferentes ramas han emergido de esta idea como los son: algoritmos
genticos (GA), desarrollado por Jhon Holland (1962).
Los algoritmos genticos fueron desarrollados durante los 70 por Holland
para entender el proceso adaptativo de un sistema natural. Luego fue
aplicado para optimizacin y mquinas de aprendizaje.
Los primeros ejemplos de lo que hoy podramos llamar algoritmos genticos
aparecieron a finales de los 50 y principios de los 60, programados en
computadoras por bilogos evolutivos que buscaban explcitamente realizar
modelos de aspectos de la evolucin natural. A ninguno de ellos se le
ocurri que esta estrategia podra aplicarse de manera ms general a los
problemas artificiales, pero ese reconocimiento no tardara en llegar: ``La
computacin evolutiva estaba definitivamente en el aire en los das
formativos de la computadora electrnica'' (Mitchell 1996).En 1962,
investigadores como G.E.P. Box, G.J. Friedman, W.W. Bledsoey H.J.
Bremermann

haban

desarrollado

independientemente

algoritmos

inspirados en la evolucin para optimizacin de funciones y aprendizaje


automtico, pero sus trabajos generaron poca reaccin. En 1965 surgi un
desarrollo ms exitoso, cuando Ingo Rechenberg, entonces de la
Universidad Tcnica de Berln, introdujo una tcnica que llam estrategia
evolutiva, aunque se pareca ms a los trepa colinas que a los algoritmos
genticos. En esta tcnica no haba poblacin ni cruzamiento; un padre
mutaba para producir un descendiente, y se conservaba el mejor de los
6

dos, convirtindose en el padre de la siguiente ronda de mutacin.


Versiones posteriores introdujeron la idea de poblacin. Las estrategias
evolutivas todava se emplean hoy en da por ingenieros y cientficos, sobre
todo en Alemania. El siguiente desarrollo importante en el campo vino en
1966, cuando L.J. Fogel, A.J. Owens y M.J. Walsh introdujeron en Amrica
una tcnica que llamaron programacin evolutiva. En este mtodo, las
soluciones candidatas para los problemas se representaban como
mquinas de estado finito sencillas; al igual que en la estrategia evolutiva
de Rechenberg, su algoritmo funcionaba mutando aleatoriamente una de
estas mquinas simuladas y conservando la mejor de las dos (Mitchell
1996; Goldberg 1989). Tambin al igual que las estrategias evolutivas, hoy
en da existe una formulacin ms amplia de la tcnica de programacin
evolutiva que todava es un rea de investigacin en curso.
2. CONCEPTUALIZACIN
Los Algoritmos Genticos (AGs) son mtodos adaptativos que pueden
usarse para resolver problemas de bsqueda y optimizacin. Estn
basados en el proceso gentico de los organismos vivos. A lo largo de las
generaciones, las poblaciones evolucionan en la naturaleza de acorde con
los principios de la seleccin natural y la supervivencia de los ms fuertes,
postulados por Darwin. Por imitacin de este proceso, los Algoritmos
Genticos son capaces de ir creando soluciones para problemas del mundo
real. La evolucin de dichas soluciones hacia valores ptimos del problema
depende en buena medida de una adecuada codificacin de las mismas.
Un Algoritmo Gentico consiste en una funcin matemtica o una rutina de
software que toma como entradas a los ejemplares y retorna como salidas
cules de ellos deben generar descendencia para la nueva generacin.
Pero segn las investigaciones (COELLO COELLO, 1995, pgs. 5-11) es
un algoritmo matemtico altamente paralelo que transforma un conjunto de
objetos

matemticos

individuales

con

respecto

al

tiempo

usando
7

operaciones modeladas de acuerdo al principio Darwiniano de reproduccin


y supervivencia del ms apto, y tras haberse presentado de forma natural
una serie de operaciones genticas de entre las que destaca la
recombinacin sexual. Cada uno de estos objetos matemticos suele ser
una cadena de caracteres (letras o nmeros) de longitud fija que se ajusta
al modelo de las cadenas de cromosomas, y se les asocia con una cierta
funcin matemtica que refleja su aptitud.
3. CARACTERSTICAS

Basados en el uso de poblaciones.


Diferenciacin entre las variables del problema (fenotipo) y la

codificacin (genotipo).
Procedimientos de mutacin, cruce y seleccin (los algoritmos
memticos aaden procedimientos de mejora).

CAPITULO II

Teoremas
Tipos

1. TEOREMAS
1.1.

TEOREMA DE LOS ESQUEMAS


Un esquema es una cadena de longitud L (la longitud de las cadenas
de poblacin), tomada del alfabeto {0,1,*} donde * permite parear con
0 1 en una posicin particular. El * es un metasimbolo, que es una
herramienta

notacional

para

describir

todas

las

posibles

similaridades entre las cadenas.


Cada esquema representa un conjunto de todas las cadenas de
longitud L, en cuyas posiciones con valores 0 y 1 son idnticas.
Ejemplo:
El esquema 10**1, representa el conjunto {10001, 10011, 10101,
10111}. Los elementos de este conjunto se conocen como instancias
del esquema que ellos representan. Los esquemas son llamados
tambin subconjuntos de similaridad porque ellos representan
subconjunto de cadenas con similaridades

en ciertas posiciones

fijas. Las posiciones fijas de un esquema son las posiciones de la


cadena con valores 0 y 1.
a. Efecto Seleccin
Utilizando la notacin anteriormente introducida, se tiene que
la probabilidad de que un individuo seleccionado para
cruzarse (suponemos que la seleccin se efecta de manera
proporcional a la funcin objetivo) se empareje con el
esquema Q.
b. Paralelismo Implcito
Se refiere a que los
implcitamente

algoritmos

hiperplanos.

Es

genticos

decir

cada

muestren
individuo,

representado por medio de una codificacin binaria.


9

El hecho de que se muestreen muchos hiperplanos cuando se


evala una poblacin de ristras, se conoce como el
paralelismo implcito o intrnseco de los Algoritmos Genticos;
significa que muchas competiciones entre hiperplanos se
efectan simultneamente.
c. Teorema de Convergencia
Segn (SUZUKI, 1993, pg. 266), efecta un estudio de la
convergencia de los algoritmos genticos por medio de
cadenas de Markov. Los algoritmos genticos estudiados
presentan un criterio de reduccin elitista modificado, segn el
cual se genera una poblacin de individuos, incluyendo en ella
al mejor individuo de la poblacin en la generacin anterior,
obtenindose los individuos restantes por medio de las
operaciones genticas normales.
2. TIPOS
Para (GIL LONDOO, 2006, pgs. 20-40), los AG se clasifican en:
2.1.

ALGORITMOS GENTICOS SIMPLES


Tipos de Representacin
Durante los primeros aos el tipo de representacin utilizado era
siempre binario, debido a que se adapta perfectamente al tipo de
operaciones y el tipo de operadores que se utilizan en un AG. Sin
embargo, las representaciones binarias no son siempre efectivas
por lo que se empezaron a utilizar otro tipo de representaciones.
En general, una representacin ha de ser capaz de identificar las
caractersticas constituyentes de un conjunto de soluciones, de
forma que distintas representaciones dan lugar a distintas
perspectivas y por tanto distintas soluciones. Podemos considerar
tres tipos bsicos de representaciones:
Representacin binaria: Cada gen es un valor 1 0.
101101
Representacin entera: Cada gen es un valor entero.
1 0 3 -1 0 4
10

Representacin real: Cada gen es un valor real.


1,78 2,6 7 0 -1,2 6,5.

Tamao de la Poblacin.
Una cuestin que se puede plantear es la relacionada con el
tamao idneo de la poblacin. Parece intuitivo que las
poblaciones

pequeas

corren

el

riesgo

de

no

cubrir

adecuadamente el espacio de bsqueda, mientras que el trabajar


con poblaciones de gran tamao puede guiar problemas
relacionados con el excesivo costo computacional. Goldberg
efectu un estudio terico, obteniendo como conclusin que el
tamao ptimo de la poblacin para cadenas de longitud, con
codificacin binaria, crece exponencialmente con el tamao de la
cadena.
Este resultado traera como consecuencia que la aplicabilidad de
los AG en problemas reales sera muy limitada, ya que resultaran
no competitivos con otros mtodos de optimizacin combinatoria.
Alander, basndose en evidencia emprica sugiere que un
tamao de poblacin comprendida entre 1 y 21 es suficiente para

atacar con xito los problemas.


Poblacin Inicial.
Habitualmente la poblacin inicial se escoge generando cadenas
al azar, pudiendo contener cada gen uno de los posibles valores
del alfabeto con probabilidad uniforme. Se podra preguntar qu
es lo que sucedera si los individuos de la poblacin inicial se
obtuviesen como resultado de alguna tcnica heurstica o de
optimizacin local. En los pocos trabajos que existen sobre este
aspecto, se constata que esta inicializacin no aleatoria de la
poblacin inicial, puede acelerar la convergencia del AG. Sin
embargo en algunos casos la desventaja resulta ser la prematura
convergencia del algoritmo, queriendo indicar con esto la
convergencia hacia ptimos locales.
11

La poblacin inicial de un AG puede ser creada de muy diversas


formas, desde generar aleatoriamente el valor de cada gen para
cada individuo, utilizar una funcin vida o generar alguna parte
de cada individuo y luego aplicar una bsqueda local.

Funcin Objetivo.
Dos aspectos que resultan cruciales en el comportamiento de los
AG son la determinacin de una adecuada funcin de adaptacin
o funcin objetivo, as como la codificacin utilizada.
La regla general para construir una buena funcin objetivo es que
sta debe reflejar el valor del individuo de una manera real, pero
en muchos problemas de optimizacin combinatoria, donde existe
gran cantidad de restricciones, buena parte de los puntos del
espacio de bsqueda representan individuos no vlidos.
Para este planteamiento en el que los individuos estn sometidos
a restricciones, se han propuesto varias soluciones. La primera
sera la que se podra denominar absolutista, en la que aquellos
individuos que no verifican las restricciones, no son considerados
como tales, y se siguen efectuando cruces y mutaciones hasta
obtener individuos vlidos, o bien, a dichos individuos se les
asigna una funcin objetivo igual a cero.

Operador de Seleccin.
El operador de Seleccin es el encargado de transmitir y
conservar aquellas caractersticas de las soluciones que se
consideran valiosas a lo largo de las generaciones.
El principal medio para que la informacin til se transmita es que
aquellos Individuos mejor adaptados (mejor valor de funcin de
evaluacin) tengan ms probabilidades de reproducirse. Sin
embargo, es necesario tambin incluir un factor aleatorio que
permita reproducirse a individuos que aunque no estn muy bien
adaptados, puedan contener alguna informacin til para

12

posteriores generaciones, con el objeto de mantener as tambin


una cierta diversidad en cada poblacin.
Algunas de las tcnicas de las cuales se dispone son las
siguientes:
Ruleta o Seleccin Proporcional: Con este mtodo la
probabilidad que tiene un individuo de reproducirse es
proporcional a su valor de funcin de evaluacin, es decir,
a su adaptacin. En este mtodo se define un rango con
las caractersticas de la seleccin por sorteo. El nmero al
azar ser un nmero aleatorio forzosamente menor que el
tamao del rango. El elemento escogido ser aquel en
cuyo rango est el nmero resultante de sumar el nmero
aleatorio con el resultado total que sirvi para escoger el
elemento anterior (el comportamiento es similar al de una
ruleta). Tiene la ventaja de que no es posible escoger dos
veces consecutivas el mismo elemento, y que puede ser
forzado a que sea alta la probabilidad de que no sean
elementos prximos en la poblacin.
Seleccin por Ranking: Desarrollado por Whitley(1989)
consiste en calcular las probabilidades de reproduccin
atendiendo a la ordenacin de la poblacin por el valor de
adaptacin.
Seleccin por Torneo: Reporta un valor computacional
muy bajo debido a su sencillez. Se selecciona un grupo de
t individuos (normalmente t = 2, torneo binario) y se genera
un nmero aleatorio entre 0 y 1. Si este nmero es menor
que un cierto umbral K (usualmente 0,75), se selecciona
para reproducirse al individuo con mejor adaptacin, y si
este nmero es menor que K, se selecciona, por el
contrario, al individuo con peor adaptacin. Esta tcnica
13

tiene la ventaja de que permite un cierto grado de elitismo


(el mejor nunca va a morir), y los mejores tienen ms
probabilidad de reproducirse y de emigrar que los peores.

Operador de Cruce.
Permite realizar una exploracin de toda la informacin
almacenada hasta el momento en la poblacin y combinarla para
crear mejores individuos.
Dentro de los mtodos habituales destacamos los siguientes:
Cruce de un punto: Es el mtodo ms sencillo, se
selecciona

una

posicin

en

las

cadenas

de

los

progenitores, y se intercambian los genes a la izquierda de


esta posicin.
Cruce de n puntos: Es una generalizacin del mtodo
anterior. Se seleccionan varias posiciones (n) en las
cadenas de los progenitores y se intercambian los genes a
ambos lados de estas posiciones.
Cruce Uniforme: Se realiza un test aleatorio para decidir
de cul de los progenitores se toma cada posicin de la
cadena.
Cruces para permutacin: Existe una familia de cruces
especficas para los problemas de permutacin, siendo
algunos de ellos:
Cruce de mapeamiento parcial: Toma una subsecuencia
del genoma del padre y procura preservar el orden
absoluto de los fenotipos; es decir, orden y posicin en el
genoma, del resto del genoma lo ms parecido posible de
la madre.
Cruce de orden: toma una subsecuencia del genoma del
padre y procura preservar el orden relativo de los fenotipos
del resto del genoma lo ms parecido posible de la madre.
Cruce de ciclo: Tomamos el primer gen del genoma del
padre, ponindolo en la primera posicin del hijo, y el
14

primer gen del genoma de la madre, ponindolo dentro del


genoma del hijo en la posicin que ocupe en el genoma
del padre. El fenotipo que est en la posicin que ocupa el
gen del genoma del padre igual al primer gen del genoma
de la madre se va a colocar en la posicin que ocupe en el
genoma del padre, y as hasta rellenar el genoma del hijo.

Operador de Mutacin.
Es un operador bsico, que proporciona un pequeo elemento de
aleatoriedad en la vecindad (entorno) de los individuos de la
poblacin.
Si bien se admite que el operador de cruce es el responsable de
efectuar la bsqueda a lo largo del espacio de posibles
soluciones.
El objetivo del operador de mutacin es producir nuevas
soluciones a partir de la modificacin de un cierto nmero de
genes de una solucin existente, con la intencin de fomentar la
variabilidad dentro de la poblacin.
Existen muy diversas formas de realizar la mutacin, desde la
ms sencilla (Puntual), donde cada gen muta aleatoriamente con
independencia del resto de genes, hasta configuraciones ms
complejas donde se tienen en cuanta la estructura del problema y
la relacin entre los distintos genes.

Reemplazo de la Poblacin y Condicin de Parada.


Cada vez que se aplica el operador de cruce, nos encontramos
con un nmero de nuevos individuos (la descendencia) que se
han de integrar en la poblacin para formar la siguiente
generacin. Esta operacin se puede hacer de diversas formas,
pero en general existen tres mtodos fundamentales para realizar
el reemplazo:
Cuando el nmero de individuos llega a un cierto nmero,
se elimina un subconjunto de la poblacin conteniendo a
los individuos peor adaptados.
15

Cada vez que se crea un nuevo individuo, en la poblacin


se elimina el peor adaptado para dejar su lugar a este
nuevo individuo.
Cada vez que se crea un nuevo individuo, en la poblacin
se

elimina

aleatoriamente

una

solucin,

independientemente de su adaptacin.

Otros Operadores.
Estos operadores no son utilizados en todos los problemas,
solamente son empleados en algunos, y en principio su variedad
es infinita. Generalmente son operadores que exploran el espacio
de soluciones de una forma ms ordenada, y que actan ms en
las ltimas fases de la bsqueda, en la cual se pasa de
soluciones casi buenas.
Cromosomas de Longitud Variable: Estos operadores se
utilizan para aadir un gen, o eliminar un gen del
cromosoma. La forma ms habitual de aadir un gen es
duplicar uno ya existente, el cul sufre mutacin y se
aade al lado del anterior. En este caso, los operadores
del AG simple (seleccin, mutacin, cruce) funcionarn de
la forma habitual, salvo, claro est, que slo se har cruce
en la zona del cromosoma de menor longitud.
Operadores de Nicho (Ecolgico): Estos operadores
estn encaminados a mantener la diversidad gentica de
la

poblacin, de forma que

sustituyan

slo

especialmente

a
tiles

cromosomas similares

cromosomas
en

similares,

problemas

con

son

muchas

soluciones.
Operadores Especializados: En una serie de problemas
hay que restringir las nuevas soluciones generadas por los
16

operadores genticos, pues no todas las soluciones


generadas van a ser vlidas, sobre todo en los problemas
con restricciones. Por ello, se aplican operadores que
mantengan la estructura del problema. Otros operadores
son simplemente generadores de diversidad, pero la
generan de una forma determinada:
-

Zap: En vez de cambiar un solo bit de un cromosoma,

cambia un gen completo de un cromosoma.


Creep: Este operador aumenta o disminuye en 1 el
valor de un gen; sirve para cambiar suavemente y de
forma controlada los valores de los genes.

Transposicin: Similar al cruce y a la recombinacin


gentica (Cuando las dos clulas sexuales, o gametos,
una masculina y otra femenina se combinan, los
cromosomas

de

cada

una

tambin

lo

hacen,

intercambindose genes, que a partir de ese momento


pertenecern a un cromosoma diferente.), pero dentro de
un solo cromosoma; dos genes intercambian sus valores,
sin afectar al resto del cromosoma.

Aplicando Operadores Genticos.


En toda ejecucin de un AG hay que decidir con qu frecuencia
se va a aplicar cada uno de los AG; en algunos casos, como en
la mutacin o el cruce uniforme, se debe de aadir algn
parmetro adicional, que indique con qu frecuencia se va a
aplicar dentro de cada gen del cromosoma. La frecuencia de
aplicacin de cada operador estar en funcin del problema;
teniendo en cuenta los efectos de cada operador, tendr que
aplicarse con cierta frecuencia o no. Generalmente, la mutacin y
otros operadores que generen diversidad se suelen aplicar con
17

poca frecuencia; la recombinacin se suele aplicar con frecuencia


alta.
Hay que tener en cuenta que cada operador es ms efectivo en
un momento de la ejecucin; hoy en da se debe usar operadores
especializados.
2.2.

ALGORITMOS GENTICOS PARALELOS.


Un programa es paralelo si en cualquier momento de su ejecucin
puede ejecutar ms de un proceso. Para crear programas paralelos
eficientes hay que poder crear, destruir y especificar procesos as
como la interaccin entre ellos. Bsicamente existen tres formas de
paralelizar un programa:
Paralelizacin de grano fino: la paralelizacin del programa se
realiza a nivel de instruccin. Cada procesador hace una parte de
cada paso del algoritmo (seleccin, cruce y mutacin) sobre la
poblacin comn.
Paralelizacin de grano medio: los programas se paralelizan a
nivel de bucle. Esta paralelizacin se realiza habitualmente de
una forma automtica en los compiladores.
Paralelizacin

de

grano

grueso:

se

basan

en

la

descomposicin del dominio de datos entre los procesadores,


siendo cada uno de ellos el responsable de realizar los clculos
sobre sus datos locales. Tiene como atractivo la portabilidad, ya
que se adapta perfectamente tanto a multiprocesadores de
memoria distribuida como de memoria compartida. Este tipo de
paralelizacin se puede realizar siguiendo tres estilos distintos de
programacin:
-

Paralelismo en datos: El compilador se encarga de la


distribucin de los datos guiado por un conjunto de
directivas que introduce el programador. Estas directivas
hacen que cuando se compila el programa las funciones se
18

distribuyan entre los procesadores disponibles. La principal


ventaja que presenta es la facilidad de programacin. Los
lenguajes de paralelismo de datos ms utilizados son el
estndar HPF (High Performance Fortran) y el OpenMP.
-

Programacin por paso de mensajes: Es el mtodo ms


utilizado para programar sistemas de memoria distribuida, la
forma ms bsica consiste en que los procesos coordinan
sus actividades mediante el envo y la recepcin de
mensajes. Las libreras ms utilizadas son por este orden la
estndar MPI (Message Passing Interface) y PVM (Parallel
Virtual Machine).

Programacin por paso de datos: A diferencia del modelo


de paso de mensajes, la transferencia de datos entre los
procesadores se realiza con primitivas unilaterales tipo
putget, lo que evita la necesidad de sincronizacin entre los
procesadores

emisor

receptor.

Es

un

modelo

de

programacin de muy bajo nivel pero muy eficiente, aunque


en la actualidad son muy pocos los fabricantes que los
soportan.
Al utilizar computadores en paralelo, no solamente se provee
de ms espacio de almacenamiento, sino tambin con el uso
de ellos se podrn producir y evaluar ms soluciones en una
cantidad de tiempo ms pequeo. Debido al paralelismo, es
posible incrementar el tamao de la poblacin, reducir el costo
computacional y mejorar el desempeo de los AG.

19

CAPTULO III

ESQUEMAS
MODELOS

1. ESQUEMAS
Para analizar las caractersticas de los AG se introducen dont care bits
usando el smbolo *para crear esquemas (schemata) usando el alfabeto
{0,1,*}. Un esquema explcitamente reconoce las similitudes en una
poblacin de strings y eso ayuda en el anlisis de los AG. Entonces, un
esquema es un aparato para reconocer patrones: *0000 {10000, 00000}
*111* {01110, 11110, 01111, 11111}. Con estos bits se seleccionan todos
los strings que corresponden a dont care bits.

20

Algoritmos Genticos Esquema Bsico


Maximizar f(x) = x 2 con x entero entre 0 y 31
- Representacin en binario
0

Poblacin

inicial

generada

aleatoriamente,

tamao 4
01101
11000
01000
10011

Funcin de calidad f(x) = x 2


Seleccin:

Generar una poblacin intermedia. Para ello asignar a cada individuo


una probabilidad de ser seleccionado directamente proporcional a su
funcin de calidad.

21

De la poblacin intermedia se seleccionan parejas de forma aleatoria.

Cruce: elegir un punto intermedio e intercambiar los genes de los


padres a partir de ese punto.

Mutacin: cambio de un bit elegido aleatoriamente (probabilidad


pequea).

2. MODELOS DE ISLAS
(Tomas, 2006, pgs. 21-22), En este apartado se introducirn tres maneras
diferentes de explotar el paralelismo de los Algoritmos Genticos, por medio
de los denominados modelos de islas.
Consiste en dividir la poblacin total en varias subpoblaciones en cada una
de las cuales se lleva, a cabo un Algoritmo Gentico. Cada cierto nmero
de generaciones, se efecta un intercambio de informacin entre las
subpoblaciones, proceso que se denomina migracin. La introduccin de la
migracin hace que los modelos de islas sean capaces de explotar las
diferencias entre las diversas subpoblaciones, obtenindose de esta
manera una fuente de diversidad gentica. Cada sub populacin es una
"isla", definindose un procedimiento por medio del cual se mueve el
material gentico de una "isla" a otra. La determinacin de la tasa de
migracin, es un asunto de capital importancia, ya que de ella puede
depender la convergencia prematura de la bsqueda.

22

Se pueden distinguir diferentes modelos de islas en funcin de la


comunicacin entre las subpoblaciones. Algunas comunicaciones tpicas
son las siguientes:

Comunicacin en estrella, en la cual existe una subpoblacin que es


seleccionada como maestra (aquella que tiene mejor media en el valor
de la funcin objetivo), siendo las dems consideradas como esclavas.
Todas las subpoblaciones esclavas mandan sus h1 mejores individuos
(H1 > 1) a la subpoblacin maestra la cual a su vez manda sus h2
mejores individuos (h2 >1) a cada una de las subpoblaciones
esclavas.

Comunicacin en red, en la cual no existe una jerarqua entre las


subpoblaciones, mandando todas y cada una de ellas sus h3 (h3 >1)
mejores individuos al resto de las subpoblaciones.

23

Comunicacin en anillo, en la cual cada subpoblacin enva sus h4


mejores individuos (h4 > 1), a una poblacin vecina, efectundose la
migracin en un nico sentido de flujo.

24

CAPITULO IV

Ventajas y Desventajas
Funcionamiento
Aplicaciones

1. VENTAJAS Y DESVENTAJAS
Segn (ARRANZ DE LA PEA & PARRA TRUYOL, pg. 7).
1.1. VENTAJAS
Los algoritmos genticos son intrnsecamente paralelos, es decir,
operan de forma simultnea con varias soluciones, en vez de
trabajar de forma secuencial como las tcnicas tradicionales. La cual
significa que mientras tcnicas tradicionales slo pueden explorar el
espacio de soluciones hacia una solucin en una direccin al mismo
tiempo, y si la solucin que descubren resulta subptima, no se
puede hacer otra cosa que abandonar todo el trabajo hecho y
empezar de nuevo. Sin embargo, los algoritmos genticos
simplemente desechan esta solucin subptima y siguen por otros
caminos.
Cuando se usan para problemas de optimizacin resultan menos
afectados por los mximos locales (falsas soluciones) que las
tcnicas tradicionales.
Muchos algoritmos de bsqueda pueden quedar atrapados en los
ptimos locales: si llegan a lo alto de una colina del paisaje
adaptativo, descubrirn que no existen soluciones mejores en las
cercanas y concluirn que han alcanzado la mejor de todas, aunque
existan picos ms altos en algn otro lugar del mapa, situacin que

no sucede para algoritmos genticos.


Su habilidad para manipular muchos parmetros simultneamente,

resulta interesante en caso de tener varios objetivos a resolver.


No necesitan conocimientos especficos sobre el problema que
intentan resolver. Realizan cambios aleatorios en sus soluciones

25

candidatas y luego utilizan la funcin de aptitud para determinar si


esos cambios producen una mejora o no.
Resulta sumamente fcil ejecutarlos en las modernas arquitecturas
masivas en paralelo.
Usan operadores probabilsticos, en vez de los tpicos operadores
determinsticos de las otras tcnicas.
1.2. DESVENTAJAS
Definir una representacin del problema. El lenguaje utilizado para
especificar soluciones candidatas debe ser robusto, debe ser capaz
de tolerar cambios aleatorios que no produzcan constantemente
errores fatales o resultados sin sentido. Se puede solucionar
mediante la definicin de los individuos como listas de nmeros
donde cada nmero representa algn aspecto de la solucin

candidata.
Pueden tardar mucho en converger, o no converger en absoluto,
dependiendo en cierta medida de los parmetros que se utilicen

tamao de la poblacin, nmero de generaciones.


Pueden converger prematuramente debido a

una

serie

de

problemas. Si un individuo que es ms apto que la mayora de sus


competidores emerge muy pronto en el curso de la ejecucin, se
puede reproducir tan abundantemente que merme la diversidad de la
poblacin demasiado pronto, provocando que el algoritmo converja
hacia el ptimo local que representa ese individuo, en lugar de
rastrear el paisaje adaptativo lo bastante a fondo para encontrar el
ptimo global. Esto es un problema especialmente comn en las
poblaciones pequeas, donde incluso una variacin aleatoria en el
ritmo de reproduccin puede provocar que un genotipo se haga
dominante sobre los otros.

2. FUNCIONAMIENTO DE UN ALGORITMO GENTICO BSICO


Segn (VAREDAS, pgs. 20-25), un algoritmo gentico puede presentar
diversas variaciones, dependiendo de cmo se aplican los operadores
26

genticos (cruzamiento, mutacin), de cmo se realiza la seleccin y de


cmo se decide el reemplazo de los individuos para formar la nueva
poblacin. En general, el pseudocdigo consiste de los siguientes pasos:

Algoritmo gentico i: inicializacin, f(X): evaluacin, condicin de trmino,


Se: seleccin, Cr: cruzamiento, Mu: mutacin, Re: reemplazo, X*: mejor solucin.

Inicializacin: Se genera aleatoriamente la poblacin inicial, que est


constituida por un conjunto de cromosomas los cuales representan las
posibles soluciones del problema. En caso de no hacerlo aleatoriamente,
es importante garantizar que dentro de la poblacin inicial, se tenga la
diversidad estructural de estas soluciones para tener una representacin
de la mayor parte de la poblacin posible o al menos evitar
la convergencia prematura.

Evaluacin: A cada uno de los cromosomas de esta poblacin se


aplicar la funcin de aptitud para saber cmo de "buena" es la solucin
que se est codificando.

Condicin de trmino: El AG se deber detener cuando se alcance la


solucin ptima, pero sta generalmente se desconoce, por lo que se
deben utilizar otros criterios de detencin. Normalmente se usan dos
criterios: correr el AG un nmero mximo de iteraciones (generaciones) o

27

detenerlo cuando no haya cambios en la poblacin. Mientras no se


cumpla la condicin de trmino se hace lo siguiente:

Seleccin Despus de saber la aptitud de cada cromosoma se


procede a elegir los cromosomas que sern cruzados en la siguiente
generacin.

Los

cromosomas

con

mejor

aptitud

tienen

mayor

probabilidad de ser seleccionados.

Recombinacin o Cruzamiento La recombinacin es el principal


operador gentico, representa la reproduccin sexual, opera sobre dos
cromosomas a la vez para generar dos descendientes donde se
combinan las caractersticas de ambos cromosomas padres.

Mutacin modifica al azar parte del cromosoma de los individuos, y


permite alcanzar zonas del espacio de bsqueda que no estaban
cubiertas por los individuos de la poblacin actual.

Reemplazo una

vez

aplicados

los

operadores

genticos,

se seleccionan los mejores individuos para conformar la poblacin de la


generacin siguiente.

3. ALGUNAS APLICACIONES DE LOS ALGORITMOS GENTICOS


(GIL LONDOO, 2006, pgs. 18-19), afirma que el rea de aplicacin de los AG
es muy amplia, y en general sus aplicaciones se pueden implementar a muchos de
los problemas de la vida cotidiana, de igual forma, se han aplicado a diversos
problemas y modelos en ingeniera, y en la ciencia en general, cabe destacar entre
ellos:
Optimizacin: Se trata de un campo especialmente abonado para el uso de
los AG, por las caractersticas intrnsecas de estos problemas. No en vano
fueron la fuente de inspiracin para los creadores estos algoritmos. Los AG
se han utilizado en numerosas tareas de optimizacin, incluyendo la
optimizacin numrica, y los problemas de optimizacin combinatoria.

28

Programacin automtica: Los AG se han empleado para desarrollar programas para tareas especcas,

y para disear

otras

estructuras

computacionales tales como el autmata celular, y las redes de clasicacin.


Aprendizaje mquina: Los AG se han utilizado tambin en muchas de estas aplicaciones, tales como la prediccin del tiempo o la estructura de una
protena. 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 clasicacin de aprendizaje o

sistemas de produccin simblica, y los sensores para robots.


Economa: En este caso, se ha hecho uso de estos Algoritmos para modelar
procesos de innovacin, el desarrollo estrategias de puja, y la aparicin de

mercados econmicos.
Sistemas inmunes: A la hora de modelar varios aspectos de los sistemas
inmunes naturales, incluyendo la mutacin somtica durante la vida de un
individuo y el descubrimiento de familias de genes mltiples en tiempo

evolutivo, ha resultado til el empleo de esta tcnica.


Ecologa: En la modelizacin de fenmenos ecolgicos tales como las
carreras de armamento biolgico, la coevolucin de parsito-huesped, la

simbiosis, y el ujo de recursos.


Gentica de poblaciones: En el estudio de preguntas del tipo "Bajo qu

condiciones ser viable evolutivamente un gene para la recombinacin?".


Evolucin y aprendizaje: Los AG se han utilizado en el estudio de las

relaciones entre el aprendizaje individual y la evolucin de la especie.


Sistemas sociales: En el estudio de aspectos evolutivos de los sistemas
sociales, tales como la evolucin del comportamiento social en colonias de
insectos, y la evolucin de la cooperacin y la comunicacin en sistemas
multiagentes.

Aunque esta lista no es, en modo alguno, exhaustiva, s transmite la idea de la


variedad de aplicaciones que tienen los AG. Gracias al xito en estas y otras
reas, los AG han llegado a ser un campo puntero en la investigacin actual.

29

CONCLUSIN
En los ltimos quince aos, las tcnicas de computacin evolutiva se han
consolidado como un conjunto de metaheursticas efectivas y robustas como
consecuencia de su alta aplicabilidad a la resolucin de problemas en mltiples
reas. Tomando en cuenta los numerosos y exitosos antecedentes que refieren a
la utilizacin de tcnicas evolutivas para la resolucin de problemas de
optimizacin combinatoria, surgen como una alternativa natural para la resolucin
de los complejos problemas de optimizacin subyacentes a los problemas de
diseo de redes de comunicaciones confiables, que constituyen el objetivo de esta
monografa.
En esta monografa hemos presentado los conceptos genricos vinculados con las
tcnicas de computacin evolutiva y ha comentado en detalle las caractersticas
de los algoritmos genticos en particular, al considerarlos como mecanismos de
resolucin de problemas de optimizacin combinatoria y problemas anlogos en
otras reas de aplicacin.

30

BIBLIOGRAFA

ARRANZ DE LA PEA, J., & PARRA TRUYOL, A. (s.f.). ALGORTMOS

GENTICOS. UNIVERSIDAD CARLOS III.


COELLO COELLO, C. A. (1995). Introduccin a los Algoritmos Genticos. En J. R.
KOZA, Genetic Programming. On the Programming of Computers by
Means of Natural Selection.
GIL LONDOO, N. (2006). ALGORTMOS GENTICOS. Medelln, Universidad
Nacional de Colombia.
OPERACIONES, I. C. (2015). Historia de los Algortmos Genticos. ICHIO, 15.
SUZUKI, J. (1993). A construction of Bayesian networks from databases based on
an MDL. Proceedings of the Ninth Conference.
Tomas.
(14
de
Agosto
de
2006).
http://www.ecobachillerato.com/experto/algoritmo.pdf

Obtenido

de

VAREDAS, F. (s.f.). Computacion Evolutiva.

31

S-ar putea să vă placă și