Está en la página 1de 18

Unidad 4

ALGORITMOS GENETICOS

IA

Repaso de Probabilidades: Definiciones y Conceptos

Las Probabilidades pertenecen a la rama de la matemtica que estudia ciertos experimentos llamados aleatorios, o sea regidos por el azar, en que se conocen todos los resultados posibles, pero no es posible tener certeza de cul ser en particular el resultado del experimento. Por ejemplo, experimentos aleatorios cotidianos son el lanzamiento de una moneda, el lanzamiento de un dado, extraccin de una carta de un mazo de naipes. Ms adelante se ver que debemos distinguir entre los conceptos de probabilidades matemticas o clsicas de las probabilidades experimentales o estadsticas Para desarrollar la teora de las probabilidades es preciso establecer la barrera entre el determinismo y la necesario aleatoriedad o azar: Un fenmeno o experimento es determinista cuando se puede predecir con total exactitud el resultado del mismo a partir del conocimiento de las condiciones iniciales; as, los fenmenos y experimentos de que se ocupan ciencias exactas como la fsica y la qumica son deterministas. Un fenmeno o experimento es, por el contrario, aleatorio cuando no se puede predecir con exactitud el resultado del mismo aunque se conozcan las condiciones iniciales; esto es lo que por lo general ocurre en el campo de las ciencias econmicas y sociales. Segn lo dicho, si se va a dejar caer un dado desde una altura determinada, el hecho de que se conozca cul es la altura permitira determinar antes y con exactitud, sobre la base de leyes fsicas, con qu velocidad llegar el dado al suelo, lo que hace de sta una observacin determinista; sin embargo, no sera posible predecir con total certeza qu cara del dado quedar hacia arriba, siendo esta otra una observacin aleatoria. Se plantea que la estadstica es la tecnologa del mtodo cientfico que proporciona instrumentos para la toma de decisiones, cuando estas se adoptan en ambiente de incertidumbre y siempre que pueda ser medida en trminos de probabilidad. Luego es una ciencia que estudia los fenmenos aleatorios. La probabilidad, en una aproximacin intuitiva, puede definirse como una medida cuantitativa de que las posibilidades pueden llegar a ser realidades. Definicion de probabilidad Si S es un espacio muestral finito y todos los puntos muestrales son equivalentes o igualmente representativos, entonces la probabilidad de ocurrencia de cualquier suceso A definido en S puede calcularse como el cociente del nmero de resultados favorables al suceso A (tamao del suceso) entre el nmero de resultados posibles (tamao del espacio muestral), as:

P(A)=

N ( A) N (S )

Ejemplos: La probabilidad de obtener el nmero 6 al lanzar un dado ser: A: Que salga el 6. N(A) = 1 P(A) = 1/6 = 0,167 La probabilidad de obtener un nmero par ser: D: Que salga un nmero par N(D) = 3 P(D) = 3/6 = 0,5

Unidad 4

ALGORITMOS GENETICOS

IA

La definicin clsica tambin se conoce como definicin a priori de probabilidad, porque no es necesario realizar el experimento para calcular la probabilidad de ocurrencia. Esta definicin tiene las siguientes limitaciones: 1. No puede ser aplicada a espacios muestrales infinitos. 2. No puede ser aplicada cuando los puntos muestrales no son equiprobables, o lo que es lo mismo, igualmente probables. La probabilidad, como medida de la posibilidad de ocurrencia de un suceso, cumple las siguientes propiedades: P(A) 0 P(S) = 1

La probabilidad de que ocurra el espacio muestral S debe de ser 1.

Lo anterior implica que: 0 P(A) 1

La probabilidad de que ocurra un evento A cualquiera se encuentra entre cero y uno


Nota: Es comn multiplicar las probabilidades por 100 para expresarlas porcentualmente, y de esta forma, lgicamente, resultar un nmero (un valor porcentual) entre 0 y 100. Variables Aleatorias Una forma muy comn de enfrentarse al concepto de probabilidad durante una investigacin es trabajar con variables aleatorias. Se dice que una variable es aleatoria si sobre cuyos valores influye de alguna manera la aleatoriedad o azar. Cmo podemos calcular probabilidades? 1. Haciendo uso de las estadsticas. En este caso, se hace uso de la informacin que se ha acumulado acerca del evento que nos interesa, y despus de esto se procede a calcular las probabilidades requeridas. Ejemplo. Determine la probabilidad de que en cierta lnea de produccin se manufacture un producto defectuoso, si se toma como referencia que la produccin de la ltima semana en esta lnea fue de 1,500 productos, entre los que se encontraron 8 productos defectuosos. p(producto defectuoso) = No de productos defectuoso /Total de productos producidos en la semana = 18 / 1500 = 0.012 Lo anterior nos indica que es muy probable que 1.2 productos de cada 100 que se manufacturen en esa lnea sern defectuosos. Porqu se utiliz para calcular las probabilidades la informacin de la semana inmediata anterior?. Debido a que esta refleja la situacin que guarda actualmente la produccin de la lnea mencionada. 2. Basndose en la experimentacin. Hay casos en los que despus de repetir un nmero muy grande de veces un experimento, es posible determinar las probabilidades de ocurrencia de algunos eventos, tales como: La probabilidad de que aparezca cara al lanzar una moneda equilibrada, la probabilidad de que aparezca el nmero 3 en un dado, etc.

Unidad 4
Ejemplos: p(guila) =1/2 = 0.5

ALGORITMOS GENETICOS

IA

p(aparezca el nmero 3)= 1 / 6 = 0.1666 Para el clculo de probabilidades hay que tomar en cuenta los Axiomas y Teoremas que a continuacin se enumeran.

Fin de Repaso

LOS ALGORITMOS GENTICOS (A.G.)

Def.1) Los A.G., es una herramienta matemtica que se utiliza para resolver problemas asociados a la optimizacin y a la bsqueda de soluciones ptimas. Estos algoritmos se basan en la Teora de la Evolucin de los seres vivos en la Naturaleza.

Def. 2) Son algoritmos probabilsticos que ofrecen un mecanismo de bsqueda paralela y adaptativa basada en el principio de supervivencia de los ms aptos y en la reproduccin. Def. 3) Mtodo de Optimizacin global capaz de resolver problemas no lineales combinatorios en forma robusta. Def. 4) Los algoritmos genticos son mtodos sistemticos para la resolucin de problemas de bsqueda y optimizacin que aplican a estos los mismos mtodos de a evolucin biolgica: seleccin basada en la poblacin, reproduccin sexual y mutacin. Def. 5) Los Algoritmos Genticos, son mtodos de bsqueda y optimizacin masivamente paralelos, que en sistemas complejos obtienen resultados asombrosos Los A.G. combinan cambios aleatorios con procesos probabilsticos. Los A.G. son, por lo tanto, estocsticos: difcilmente repiten un resultado de un experimento para otro. Su caracterstica ms distintiva es la codificacin de soluciones mediante cadenas binarias. Siendo la codificacin adecuada, la que permita la evolucin de las soluciones a hacia valores ptimos del problema. Si el A.G. ha sido bien diseado, la poblacin converger hacia una generacin que contenga una solucin ptima del problema. Los A.G., es una tcnica robusta, pueden tratar con xito una gran variedad de problemas de diferentes reas, incluyendo aquellos en los que otros mtodos encuentran dificultades. Un A.G. es independiente del problema, lo cual lo hace un algoritmo robusto, por ser til para cualquier problema, pero a la vez dbil, pues no est especializado en ninguno. Un A.G. encuentra la solucin ptima a un problema, pero sin tener en cuenta el tiempo para encontrarla, de modo que muchas veces esta bsqueda no resulta efectiva. El gran campo de aplicacin de los los A.G. se relaciona con aquellos problemas para los cuales no existen tcnicas especializadas. Como saber si es posible usar el Algoritmo Gentico?

Unidad 4

ALGORITMOS GENETICOS

IA

Hay que tener en cuenta las siguientes caractersticas antes de usar los A.G. Su espacio de bsqueda debe estar delimitado dentro de un cierto rango. Debe poderse definir una fcin de aptitud que nos indique que tan buena o mala es una cierta respuesta. Las soluciones deben codificarse de una forma que resulte relativamente fcil de implementar en la computadora. Puede haber espacio de bsqueda discretos grande y espacio de bsqueda contnuos pequeos. La fcinn de aptitud no es mas que la funcin objetivo de nuestro problema de optimizacin.

Esquema Operativo

Un A.G. Simple, tambin denominado Cannico , parte de una codificacin o epresentacin del problema, que resulte adecuada al mismo. Adems se requiere una funcin de ajuste o adaptacin al problema, la cual asigna un nmero real a cada posible solucin codificada. Durante la ejecucin del algoritmo, los padres deben ser seleccionados para la reproduccin, a continuacin dichos padres seleccionados se cruzarn generando dos hijos, sobre cada uno de los cuales actuar un operador de mutacin. El resultado de la combinacin de las anteriores funciones sera un conjunto de individuos(posibles soluciones al problema), los cuales en la evolucin del Algoritmo Gentico formarn parte de la siguiente poblacin.
Pseudocodigo del Algoritmo Genetico Simple:

Unidad 4

ALGORITMOS GENETICOS

IA

Figura 1:Estructura bsica de un algoritmo gentico

Unidad 4

ALGORITMOS GENETICOS

IA

Se parte de un conjunto de posibles soluciones para un problema dado, al que se le denomina poblacin, y a cada una de las posibles soluciones se les llama individuos. Por medio de una serie de operadores llamados Operadores Genticos, los individuos de la poblacin inicial, van evolucionando en cada generacin a poblaciones mejores, de tal forma que en un instante dado de la evolucin, podr existir un individuo de la poblacin que sea la solucin ptima al problema dado. La definicin de la funcin de evaluacin, y de su eficacia depende el obtener buenos resultados. o Parametros y criterios de parada

En un A.G. varios parmetros controlan el proceso de evolucin: Tamao de la Poblacin :numero de puntos del espacio de bsqueda siendo considerados en paralelo. Tasa de Cruza: Probabilidad de un individuo de ser recombinado con otro. Tasa de Mutacin: Probabilidad de que el contenido de cada posicin/gen del cromosoma sea alterado. Numero de Generacines: Numero total de ciclos de evolucin de una A.G. Total de Individuos: Numero total de tentativas(tamao de la poblacin x numero de generaciones) LOS INDIVIDUOS

La representacin de cada individuo dentro de una poblacin, se realiza por medio de una cadena de bits (o cadena binaria)de longitud fija L (bit1 bit2 bit3 ...bitL). Estos individuos pueden estar formados por un nico gen o por varios. Gen. Es cada parmetro que caracteriza a un individuo, y por ello los genes que formen un individuo establecern el comportamiento del mismo. El nmero de genes dentro de un individuo es variable y depende de la aplicacin.

Unidad 4

ALGORITMOS GENETICOS

IA

As , si se desea maximizar una funcin

el algoritmo gentico trabajara con representaciones

en binario de los posibles valores que pueda tomar x. Cada gen dentro de un individuo se representa por uno o ms bits consecutivos. Genoma. Son todos los parmetros, o genes diferentes, que caracterizan a todos los individuos de una poblacin. Genotipo. Es la informacin gentica que describe a un individuo especfico, es decir, los genes que posee. Fenotipo. Es la expresin del genotipo, es decir, una cadena de nmeros binarios. ESTRUCTURA DE LOS ALGORITMOS GENTICOS En un algoritmo gentico se parte de una poblacin de m posibles soluciones a un problema dado (m individuos). Sobre esta poblacin inicial ( ) se realizan diferentes procesos que son los siguientes: Seleccin. En este proceso se eligen n individuos de la poblacin inicial P0 que van a pasar a la siguiente generacin, generalmente nm. Estos n individuos forman la poblacin intermedia . De estos n individuos se vuelven a seleccionar p individuos (pn), que sern utilizados como progenitores y utilizarn la reproduccin para generar descendientes. Reproduccin. En este proceso, los p individuos de la poblacin intermedia se juntan en parejas y generan q descendientes. Ahora la poblacin intermedia est formada por n+q individuos. Reemplazo. En este proceso, de los n+q individuos de la poblacin intermedia , se eligen n individuos, generalmente los ms aptos, que son los que formarn la siguiente poblacin. Estos procesos se irn ejecutando cclicamente, generacin tras generacin, hasta que uno de los individuos de la poblacin sea lo suficientemente apto como para ser considerado solucin ptima. Para evaluar la aptitud de cada individuo dentro de una poblacin es necesario utilizar una una funcin de evaluacin Eval(w). El algoritmo que representa el funcionamiento de los algoritmos genticos es el siguiente: 1. Se crea una poblacin inicial de m individuos. 2. El valor de cada individuo se escoge de forma aleatoria. 3. Se evala cada uno de los individuos sobre la funcin de evaluacin. 4. Se seleccionan n individuos para formar la poblacin intermedia. 5. Se aplica el cruce a los p individuos progenitores. 6. Se aplica la mutacin a la nueva poblacin. 7. Se sustituyen los individuos de la poblacin inicial por los nuevos. 8. Si se cumple la condicin de parada, se elige el individuo ms apto, si no se vuelve al 3

Unidad 4 punto.

ALGORITMOS GENETICOS

IA

Los A.G. difieren de los mtodos tradicionales de bsqueda y optimizacin, en cuatro cuestiones esenciales: 1. Trabajan con codificaciones de los puntos del espacio de bsqueda en lugar de los puntos propiamente dichos. 2. Realizan la bsqueda a partir de una poblacin de puntos en lugar de un solo punto. 3. No utilizan derivadas ni otras propiedades de la funcin objetivo, sino nicamente la propia funcin objetivo. 4. Se rigen mediante reglas de transicin probalisticas, no determinsticas.
LOS OPERADORES GENTICOS Los operadores de todo algoritmo gentico son Reproduccin, Cruce y Mutacin. Estos operadores se utilizan para hacer evolucionar a los individuos de tal forma que vayan sobreviviendo los mejores. El objetivo de estos operadores es modificar las soluciones de la poblacin actual para obtener soluciones mejores. Es decir, se encargan de la exploracin de nuevas regiones del espacio de bsqueda. o Reproduccin

Con este operador se seleccionan n individuos de la poblacin inicial de m individuos. Para seleccionar qu individuos deben pasar a la poblacin intermedia se pueden utilizar diferentes mecanismos: Seleccin directa. De entre los m individuos de la poblacin inicial, se escogen los n individuos con mayor aptitud. Seleccin aleatoria. De entre los m individuos iniciales se eligen n individuos de forma aleatoria. Seleccin estocstica. A cada individuo de la poblacin inicial se le asigna una probabilidad p de ser seleccionado en funcin de su aptitud respecto de la aptitud de toda la poblacin. De esta forma para el individuo i ( ), cuya aptitud es , la probabilidad de ser seleccionado es:

donde es la suma de las aptitudes de todos los individuos de la poblacin. Generalmente se utiliza un procedimiento probabilista, que selecciona con mayor probabilidad aquellas soluciones que son mejores (aunque hay probalidades pequeas de seleccionar no tan buenas). Se suele considerar como poltica optima de seleccin aquella que escoge a un individuo con una probabilidad proporcional a su funcin de ajuste o adecuacin . =

Este mtodo se suele denominar Metodo de la Ruleta, ya que desde el punto de vista prctico a cada individuo se le asigna una espacio igual a su capacidad en un hipottica ruleta. Para seleccionar un individuo, se genera un nmero aleatorio entre 0 y la suma de todos los valores de capacidad y se comprueba a que individuo pertenece.

Unidad 4

ALGORITMOS GENETICOS

IA

1) La Ruleta : Es el usado por Goldberg en su libro [4]. Este mtodo es muy simple, y consiste en crear una ruleta en la que cada cromosoma tiene asignada una fraccin proporcional a su aptitud. Sin que nos refiramos a una funcin de aptitud en particular, supongamos que se tiene una poblacin de 5 cromosomas cuyas aptitudes estn dadas por los valores mostrados en la Tabla 1.

Con los porcentajes mostrados en la cuarta columna de la Tabla 1 podemos elaborar la ruleta de la Figura 1. Esta ruleta se gira 5 veces para determinar qu individuos se seleccionarn. Debido a que a los individuos ms aptos se les asign un rea mayor de la ruleta, se espera que sean seleccionados ms veces que los menos aptos.

Unidad 4

ALGORITMOS GENETICOS

IA

Cruce

Gracias a este operador gentico, es posible combinar parejas de individuos de la poblacin inicial para crear descendientes cuyo fenotipo sea una mezcla de los progenitores. Supongamos los dos individuos w1 y w2 de la poblacin inicial, cuya longitud es de 11 bits: =1 0 0 1 1 0 1 1 1 0 0 =0 1 1 0 1 1 1 0 0 0 0 Para realizar el cruce de estos dos individuos es necesario establecer un punto de cruce. Generalmente este punto se elige de forma aleatoria y estar acotado entre 1 y el nmero de bits de los individuos. Supongamos que se ha obtenido un punto de cruce igual a 4. =1 0 0 1| 1 0 1 1 1 0 0 =0 1 1 0| 1 1 1 0 0 0 0 Punto de cruce Al cruzar dos individuos se obtienen dos descendientes: el primero, d1, est formado por los bits del progenitor 1 anteriores al cruce y por los bits del progenitor 2 posteriores al cruce. En el ejemplo que se est tratando, el descendiente d1 tendra el siguiente fenotipo: =1 0 0 1 1 1 1 0 0 0 0 El segundo descendiente d2, est formado por los bits anteriores al cruce del progenitor 2 y por los bits posteriores al cruce del progenitor 1: = 0 1 1 0 1 0 1 1 1 0 0 Con este operador gentico se pretende que los descendientes hereden las mejores caractersticas de sus progenitores, adems de permitir mantener la diversidad de individuos en sucesivas poblaciones. Lo ms usual es utilizar cruces monopunto, como en este ejemplo, aunque en ocasiones es interesante utilizar cruces multipunto. Cuando se tiene la poblacin intermedia Pi formada por n individuos hay que seleccionar p individuos que sern los progenitores para crear descendencia. La probabilidad de que un individuo de la poblacin intermedia Pi forme parte del conjunto de los p progenitores es el ). y su valor est dado en tanto por ciento. Los parmetro llamado Probabilidad de Cruce ( valores tpicos suelen ser 20%, 30%, 50%, etc. o Mutacin La aplicacin de este operador consistir en alterar aleatoriamente el valor de un dgito binario de la cadena. Tenemos una poblacin intermedia Pi de n+q individuos despus de haber generado la descendencia. Estos individuos se representan por cadenas binarias de longitud L, razn por la que el nmero de bits totales de la poblacin es de(n+q)* L. Cualquiera de estos bits puede sufrir el efecto del operador mutacin con la misma probabilidad. La probabilidad de que un bit de la poblacin sea mutado es el parmetro conocido como ). Los valores tpicos son 1%, 0,5%, 0,1%, etc. Probabilidad de Mutacin ( Este operador gentico se utiliza para desestabilizar a individuos estancados en un ptimo local (y no global) y que puedan seguir evolucionando hacia otras posibles soluciones ms ptimas.

Unidad 4

ALGORITMOS GENETICOS

IA

Estas alteraciones en el fenotipo de los individuos debe ser muy leve para que el objetivo final no se pierda, ya que un uso excesivo de este operador podra desestabilizar la evolucin de los individuos hacia soluciones ptimas y por lo tanto nunca encontrar la solucin al problema. Al igual que la cruza, la mutacin se maneja como un porcentaje que indica con qu frecuencia se efectuar, aunque se distingue de la primera por ocurrir mucho ms espordicamente (el porcentaje de cruza normalmente es de ms del 60%, mientras que el de mutacin normalmente nunca supera el 5%). Si supiramos la respuesta a la que debemos llegar de antemano, entonces detener el algoritmo gentico sera algo trivial. Sin embargo, eso casi nunca es posible, por lo que normalmente se usan 2 criterios principales de detencin : correr el algoritmo gentico durante un nmero mximo de generaciones o detenerlo cuando la poblacin se haya estabilizado (i.e., cuando todos o la mayora de los individuos tengan la misma aptitud). Qu Ventajas y Desventajas tienen con respecto a otras tcnicas de bsqueda? No necesitan conocimientos especficos sobre el problema que intentan resolver. Operan de forma simultnea con varias soluciones, en vez de trabajar de forma secuencial como las tcnicas tradicionales. Cuando se usan para problemas de optimizacin -maximizar una funcin objetivoresultan menos afectados por los mximos locales (falsas soluciones) que las tcnicas tradicionales. 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. 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, etc.Pueden converger prematuramente debido a una serie de problemas de diversa ndole. Un ejemplo de aplicacin de este operador es el siguiente: Supongamos una poblacin de 2 individuos w1 y w2 vistos anteriormente. Como su longitud es de 11 bits, el nmero total de bits de esta poblacin es de 22. Bits totales =1001101110001101110000 Supongamos tambin que la probabilidad de mutacin de cada bit es del 1%. Por cada uno de los bits se genera un nmero aleatorio r. La probabilidad de mutacin del bit i expresada en (i) = 0,01; si se cumple la condicin ri< (i), entonces el bit i ser mutado, tanto por uno es si no se mantendr intacto. Tras evolucionar la poblacin inicial varias generaciones es posible que ningn bit sea mutado o que algunos pocos lo hayan hecho, ya que este operador depende aleatoriamente de < (12), el bit a mutar ser: Si suponemos que Bits totales =10011011100 0 1101110000 y por lo tanto la nueva poblacin ser: Bits totales =10011011100 1 1101110000

Unidad 4

ALGORITMOS GENETICOS
Begin t=0 inicializar P(t) evaluar P(t) while (not condicin_de_parada) do begin t = t +1 seleccionar P(t) desde P(t-1) alterar P(t) evaluar P(t) end end

IA

UN EJEMPLO DE OPTIMIZACIN

Figura 2. Situacin de las cuatro ciudades

Para ver cmo funciona un algoritmo gentico se ha pensado en el problema del viajante, cuyo enunciado de optimizacin es el siguiente: Una persona debe recorrer varias ciudades distintas, con la condicin de que debe pasar solamente una vez por cada una de ellas y volver a la ciudad de origen, recorriendo la menor distancia posible. En este ejemplo se han considerado 4 ciudades (ver figura 2); para saber a priori cul es la solucin correcta y comprobar que el algoritmo gentico funciona, se han situado en los vrtices de un cuadrado de lado 1. El viajante parte inicialmente de la ciudad A y puede ir hacia cualquiera de las restantes ciudades. En la figura 3 se muestran todas las posibles combinaciones que puede realizar el viajante. Como puede verse en la figura 3, las soluciones ptimas son la 1 y la 2 pues en ambas se recorren todas las ciudades una vez con la menor distancia. Figura 3. Posibles recorridos a realizar

Unidad 4

ALGORITMOS GENETICOS

IA

Para resolver este problema con un algoritmo gentico, lo primero que se debe realizar es la codificacin de los individuos. En este caso se ha optado por codificar la existencia de tramos recorridos; es decir, si todos los tramos posibles son 6: AB, BC, CD, DA, AC y BD, los individuos pueden representarse como cadenas binarias de 6 bits (tabla 1).

El primer bit (bit 5), se corresponder con el tramo AB, el segundo con BC, y as hasta el ltimo que coincidir con BD. Si un bit tiene valor 1, significa que ese tramo se recorre, mientras que si el bit vale 0, significa que ese tramo no se recorre. Por ejemplo, un individuo que represente el recorrido 1 o el recorrido 2 de la figura 3, tendra la cadena (111100), pues recorre los tramos AB, BC, CD, DA y no recorre los tramos AC y BD. Hay que tener en cuenta que puede haber indviduos que representen soluciones incorrectas. Por ejemplo, (111000) nunca vuelve al origen(ver figura 4a), o el individuo (111110) pasa dos veces por una misma ciudad (figura 4b). Estos individuos tendrn menos posibilidades de evolucionar a siguientes generaciones.

Figura 4. Recorrido y codificacin

Unidad 4

ALGORITMOS GENETICOS

IA

Para ver cmo evoluciona la poblacin es necesario definir una funcin de evaluacin; la funcin que se ha elegido debe cumplir las siguientes condiciones: *El nmero de tramos recorridos debe ser igual a 4. Por esta razn habr que maximizar la ecuacin: Fitness w Fitness W 1 c
L

donde C es el nmero de ciudades, L es la longitud de la cadena de bits y bi es el bit i-simo de la cadena de bits. De esta forma los individuos que recorran slo cuatro tramos obtendrn el valor mximo de la funcin de evaluacin, es decir, Fitness(w)1= 1. *La distancia recorrida debe ser mnima. En este caso la ecuacin a minimizar es: Fitness W
L

b donde Ti es la distancia del tramo i, para i = 5 es la distancia del tramo AB y para i = 0 es la distancia del tramo BD. Para que ambas condiciones se cumplan, se ha optado por satisfacer de forma global la ecuacin siguiente: Esta ecuacin representa la aptitud de cada individuo. En ella puede verse que la aptitud depende 10 veces ms de la primera condicin que de la segunda; esto es as porque es indispensable que se recorran slo 4 tramos, mientras que la segunda condicin da idea de qu individuo es el mejor dentro de los seleccionados como vlidos con la primera opcin. Adems de estas condiciones es necesario decidir cuando se ha encontrado la solucin ptima. En este ejemplo se ha supuesto que un individuo es la solucin ptima si durante cinco generaciones (ciclos de evolucin) su aptitud es la mayor de la poblacin y adems no cambia. Para realizar la demostracin de este ejemplo se ha utilizado un algoritmo gentico simple con 6 individuos iniciales elegidos de forma aleatoria. La probabilidad de cruce Pcruce es del 40% y la probabilidad de mutacin Pmut es del 1%. La seleccin de los individuos se realiza por seleccin estocstica (dependiente de la aptitud relativa) y el cruce ser monopunto. En la tabla 2 se representan estos parmetros: Cdigo.- Valor del individuo. Es una cadena binaria de 6 bits.
L

b T

Unidad 4

ALGORITMOS GENETICOS

IA

Fitness(w).- Valor devuelto por la funcin de aptitud al aplicar sobre ella el individuo w. Aptt(w).- Aptitud del individuo w respecto del resto de individuos. ApttAcc(w).- Aptitud acumulada de w. Distribuye probabilsticamente los individuos para realizar la seleccin en funcin de su aptitud (seleccin estocstica).

FitTOT.- Es la aptitud total de la poblacin actual. FitTOT = 0,7+0,7+0,935+0,9292+0,935+0,6646= 4,8638 As se han calculado los parmetros del tercer individuo: Fitness( )= 1- 0,1((1+1+1+0+2+0)/6,8284)= 0,935 Appt( ) = Fitness( )/FitTOT = 0,935/4,8638 = 0,1922 El clculo de ApptAcc para el individuo wi es la suma de las aptitudes de los individuos anteriores a l y la aptitud de l mismo:

donde t =1,2,...., i As: ApttAcc( ) = Aptt( )+Aptt( 0,1439+0,1439+0,1922 = 0,48

)+Aptt(

)=

Unidad 4

ALGORITMOS GENETICOS

IA

Ahora se realiza el proceso de seleccin, para lo cual es necesario generar tantos nmeros aleatorios como individuos tiene la poblacin. En este caso hay que generar 6 nmeros. Estos han sido los que se han obtenido (tabla 3).

De igual forma, los siguientes nmeros aleatorios hacen que se seleccionen , , , y . La aleatoriedad del proceso hace que pueda seleccionarse un mismo individuo varias veces. En este momento la poblacin intermedia obtenida es la que se muestra en la tabla 4. De entre estos individuos deben elegirse aquellos que sern los reproductores, para lo que se vuelve a generar un nmero aleatorio por cada individuo. Si el nmero generado es menor que la probabilidad de cruce expresada en tanto por uno, en este caso 0,4, el individuo ser seleccionado como reproductor. Estos son los nmeros aleatorios obtenidos (tabla 5).

y son los reproductores pues y son Como se puede comprobar los individuos menores de 0,4. Para establecer el punto de cruce se debe generar otro nmero aleatorio. Este nmero estar acotado entre 1 y el nmero de bits de las cadenas, en este caso 6. El nmero generado es el 3, y los descendientes obtenidos w7 y w8 son: w7 = 101010 w8 = 111101 Ahora la poblacin intermedia cuenta con 8 individuos. En este punto es necesario aplicar el operador Mutacin, para lo que se generar un nmero aleatorio por cada uno de los bits de la poblacin (hay 8 individuos con 6 bits cada uno = 48 bits totales). Si el valor del nmero aleatorio

Unidad 4

ALGORITMOS GENETICOS

IA

es menor que la probabilidad de mutacin expresada en tanto por uno (en este caso 0,01), el bit ser mutado. Se ha llevado a cabo este proceso y no ha resultado mutado ningn bit. Una vez aplicados todos los operadores genticos hay que sustituir los 6 individuos de la poblacin inicial por otros 6 individuos de los 8 que hay en la poblacin intermedia. Para realizar este reemplazo se ha optado por elegir de forma directa todos aquellos individuos que slo recorren 4 tramos. En este caso la nueva poblacin es la que se muestra en la tabla 6. = 101010

Para comprobar que esta poblacin es ms apta que la inicial se vuelven a calcular los parmetros de aptitud (tabla 7): FitTOT = 5,5936 Y se llega a la conclusin de que esta generacin es ms apta que la anterior puesto que el valor de FitTOT actual (5,5936) es mayor que el inicial (4,8638). Si se deja evolucionar esta poblacin durante 15 ciclos ms, se llega a la condicin de para tiene una cadena (111100) constante durante 5 ciclos seguidos. da ya que el individuo

Conclusion Por esta razn estos algoritmos son una herramienta complementaria a las ya existentes y no una herramienta sustitutoria de las mismas.

Unidad 4

ALGORITMOS GENETICOS

IA

También podría gustarte