ALGORITMOS GENÉTICOS

Tamaño: px
Comenzar la demostración a partir de la página:

Download "ALGORITMOS GENÉTICOS"

Transcripción

1 1 Introducción ALGORITMOS GENÉTICOS Los Algoritmos Genéticos (AGs) son métodos adaptativos que pueden usarse para resolver problemas de búsqueda y optimización. Están basados en el proceso genético de los organismos vivos. A lo largo de las generaciones, las poblaciones evolucionan en la naturaleza de acorde con los principios de la selección natural y la supervivencia de los más fuertes, postulados por Darwin (1859). Por imitación de este proceso, los Algoritmos Genéticos son capaces de ir creando soluciones para problemas del mundo real. La evolución de dichas soluciones hacia valores óptimos del problema depende en buena medida de una adecuada codificación de las mismas. Los principios básicos de los Algoritmos Genéticos fueron establecidos por Holland (1975), y se encuentran bien descritos en varios textos Goldberg (1989), Davis (1991), Michalewicz (1992), Reeves (1993). En la naturaleza los individuos de una población compiten entre sí en la búsqueda de recursos tales como comida, agua y refugio. Incluso los miembros de una misma especie compiten a menudo en la búsqueda de un compañero. Aquellos individuos que tienen más éxito en sobrevivir y en atraer compañeros tienen mayor probabilidad de generar un gran número de descendientes. Por el contrario individuos poco dotados producirán un menor número de descendientes. Esto significa que los genes de los individuos mejor adaptados se propagarán en sucesivas generaciones hacia un número de individuos creciente. La combinación de buenas características provenientes de diferentes ancestros, puede a veces producir descendientes superindividuos, cuya adaptación es mucho mayor que la de cualquiera de sus ancestros. De esta manera, las especies evolucionan logrando unas características cada vez mejor adaptadas al entorno en el que viven. Los Algoritmos Genéticos usan una analogía directa con el comportamiento natural. Trabajan con una población de individuos, cada uno de los cuales representa una solución factible a un problema dado. A cada individuo se le asigna un valor ó puntuación, relacionado con la bondad de dicha solución. En la naturaleza esto equivaldría al grado de efectividad de un organismo para competir por unos determinados recursos. Cuanto mayor sea la adaptación de un individuo al problema, mayor será la probabilidad de que el mismo sea seleccionado para reproducirse, cruzando su material genético con otro individuo seleccionado de igual forma. Este cruce producirá nuevos individuos descendientes de los anteriores los cuales comparten algunas de las características de sus padres. Cuanto menor sea la adaptación de un individuo, menor será la probabilidad de que dicho individuo sea seleccionado para la reproducción, y por tanto de que su material genético se propague en sucesivas generaciones. De esta manera se produce una nueva población de posibles soluciones, la cual reemplaza a la anterior y verifica la interesante propiedad de que contiene una mayor proporción de buenas características en comparación con la población anterior. Así a lo largo de las generaciones las buenas características se propagan a través de la población. Favoreciendo el cruce de los individuos mejor adaptados, van siendo exploradas las áreas más prometedoras del espacio de búsqueda. Si el Algoritmo Genético ha sido bien diseñado, la población convergerá hacia una solución óptima del problema. El poder de los Algoritmos Genéticos proviene del hecho de que se trata de una técnica robusta, y pueden tratar con éxito una gran variedad de problemas provenientes de diferentes áreas, incluyendo aquellos en los que otros métodos encuentran dificultades. Si bien no se garantiza que el Algoritmo Genético encuentre la solución óptima del problema, existe evidencia empírica de que se encuentran soluciones de un nivel aceptable, en un tiempo competitivo con el resto de algoritmos de optimización combinatoria. En el caso de que existan técnicas especializadas para resolver un determinado problema, lo más probable es que superen al Algoritmo Genético, tanto en rapidez como en eficacia. El gran campo de aplicación de los Algoritmos Genéticos se relaciona con aquellos problemas para los cuales no existen técnicas especializadas. Incluso en el caso en que dichas técnicas existan, y funcionen bien, pueden efectuarse mejoras de las mismas hibridándolas con los Algoritmos Genéticos. La estructura de este capítulo es como sigue: en la siguiente sección se introduce por medio de 1

2 un ejemplo el denominado Algoritmo Genético Simple, también conocido como Algoritmo Genético Canónico, para a continuación, mostrar distintas extensiones y modificaciones del mismo, relativas a los operadores de selección, cruce, mutación y reducción, así como a la hibridación del Algoritmo Genético con otros algoritmos de búsqueda local, y a diversos modelos de Algoritmos Genéticos Distribuidos. En la siguiente sección nos preguntamos el motivo por el cual funcionan los Algoritmos Genéticos, demostrándose el teorema de los esquemas, y referenciándose algunos trabajos teóricos relacionados con las condiciones suficientes para garantizar la convergencia de dichos algoritmos hacia el óptimo global. Finalizamos el capítulo, mostrando operadores de cruce y mutación específicos para el problema del agente viajero. 2 El Algoritmo Genético Simple BEGIN /* Algoritmo Genetico Simple */ Generar una poblacion inicial. Computar la funcion de evaluacion de cada individuo. WHILE NOT Terminado DO BEGIN /* Producir nueva generacion */ FOR Tamaño poblacion/2 DO BEGIN /*Ciclo Reproductivo */ Seleccionar dos individuos de la anterior generacion, para el cruce (probabilidad de seleccion proporcional a la funcion de evaluacion del individuo). Cruzar con cierta probabilidad los dos individuos obteniendo dos descendientes. Mutar los dos descendientes con cierta probabilidad. Computar la funcion de evaluacion de los dos descendientes mutados. Insertar los dos descendientes mutados en la nueva generacion. END IF la poblacion ha convergido THEN Terminado := TRUE END END Figura 6.1: Pseudocódigo del Algoritmo Genético Simple El Algoritmo Genético Simple, también denominado Canónico, se representa en la figura 6.1. Como se verá a continuación, se necesita una codificación o representación del problema, que resulte adecuada al mismo. Además se requiere una función de ajuste ó adaptación al problema, la cual asigna un número real a cada posible solución codificada. Durante la ejecución del algoritmo, los padres deben ser seleccionados para la reproducción, a continuación dichos padres seleccionados se cruzarán generando dos hijos, sobre cada uno de los cuales actuará un operador de mutación. El resultado de la combinación de las anteriores funciones será un conjunto de individuos (posibles soluciones al problema), los cuales en la evolución del Algoritmo Genético formarán parte de la siguiente población. 2.1 Codificación Se supone que los individuos (posibles soluciones del problema), pueden representarse como un conjunto de parámetros (que denominaremos genes), los cuales agrupados forman una ristra de valores (a menudo referida como cromosoma). Si bien el alfabeto utilizado para representar los individuos no debe necesariamente estar constituido por el {0, 1}, buena parte de la teoría en la que se fundamentan los Algoritmos Genéticos utiliza dicho alfabeto. 2

3 En términos biológicos, el conjunto de parámetros representando un cromosoma particular se denomina fenotipo. El fenotipo contiene la información requerida para construir un organismo, el cual se refiere como genotipo. Los mismos términos se utilizan en el campo de los Algoritmos Genéticos. La adaptación al problema de un individuo depende de la evaluación del genotipo. Esta última puede inferirse a partir del fenotipo, es decir puede ser computada a partir del cromosoma, usando la función de evaluación. La función de adaptación debe ser diseñada para cada problema de manera específica. Dado un cromosoma particular, la función de adaptación le asigna un número real, que se supone refleja el nivel de adaptación al problema del individuo representado por el cromosoma. Durante la fase reproductiva se seleccionan los individuos de la población para cruzarse y producir descendientes, que constituirán, una vez mutados, la siguiente generación de individuos. La selección de padres se efectúa al azar usando un procedimiento que favorezca a los individuos mejor adaptados, ya que a cada individuo se le asigna una probabilidad de ser seleccionado que es proporcional a su función de adaptación. Este procedimiento se dice que está basado en la ruleta sesgada. Según dicho esquema, los individuos bien adaptados se escogerán probablemente varias veces por generación, mientras que los pobremente adaptados al problema, no se escogerán más que de vez en cuando. Una vez seleccionados dos padres, sus cromosomas se combinan, utilizando habitualmente los operadores de cruce y mutación. Las formas básicas de dichos operadores se describen a continuación. El operador de cruce, coge dos padres seleccionados y corta sus ristras de cromosomas en una posición escogida al azar, para producir dos subristras iniciales y dos subristras finales. Después se intercambian las subristras finales, produciéndose dos nuevos cromosomas completos (véase la Figura 2.2). Ambos descendientes heredan genes de cada uno de los padres. Este operador se conoce como operador de cruce basado en un punto. Habitualmente el operador de cruce no se aplica a todos Punto de cruce Punto de cruce Padres Descendientes Figura 6.2: Operador de cruce basado en un punto los pares de individuos que han sido seleccionados para emparejarse, sino que se aplica de manera aleatoria, normalmente con una probabilidad comprendida entre 0.5 y 1.0. En el caso en que el operador de cruce no se aplique, la descendencia se obtiene simplemente duplicando los padres. El operador de mutación se aplica a cada hijo de manera individual, y consiste en la alteración aleatoria (normalmente con probabilidad pequeña) de cada gen componente del cromosoma. La Figura 6.3 muestra la mutación del quinto gen del cromosoma. Si bien puede en principio pensarse gen mutado Descendiente Descendiente mutado Figura 6.3: Operador de mutación que el operador de cruce es más importante que el operador de mutación, ya que proporciona una exploración rápida del espacio de búsqueda, éste último asegura que ningún punto del espacio de búsqueda tenga probabilidad cero de ser examinado, y es de capital importancia para asegurar la convergencia de los Algoritmos Genéticos. Para criterios prácticos, es muy útil la definición de convergencia introducida en este campo por De Jong (1975) en su tesis doctoral. Si el Algoritmo Genético ha sido correctamente implementado, 3

4 Población x f(x) valor f(x)/ f(x) Probabilidad inicial valor (función (probabilidad de selección (fenotipos) genotipo adaptación) selección) acumulada Suma 1170 Media 293 Mejor 576 Tabla 6.1: Población inicial de la simulación efectuada a mano correspondiente al Algoritmo Genético Simple la población evolucionará a lo largo de las generaciones sucesivas de tal manera que la adaptación media extendida a todos los individuos de la población, así como la adaptación del mejor individuo se irán incrementando hacia el óptimo global. El concepto de convergencia está relacionado con la progresión hacia la uniformidad: un gen ha convergido cuando al menos el 95 % de los individuos de la población comparten el mismo valor para dicho gen. Se dice que la población converge cuando todos los genes han convergido. Se puede generalizar dicha definición al caso en que al menos un β% de los individuos de la población hayan convergido. La Figura 2.4 muestra como varía la adaptación media y la mejor adaptación en un Algoritmo Adaptación Mejor Media Generaciones Figura 6.4: Adaptación media y mejor adaptación en un Algoritmo Genético Simple Genético Simple típico. A medida que el número de generaciones aumenta, es más probable que la adaptación media se aproxime a la del mejor individuo. 2.2 Ejemplo Como ilustración de los diferentes componentes del Algoritmo Genético Simple, supongamos el problema adaptado de Goldberg (1989) de encontrar el máximo de la función f(x) = x 2 sobre los enteros {1, 2,..., 32}. Evidentemente para lograr dicho óptimo, bastaría actuar por búsqueda exhaustiva, dada la baja cardinalidad del espacio de búsqueda. Se trata por tanto de un mero ejemplo con el que pretendemos ilustrar el comportamiento del algoritmo anteriormente descrito. Consultando el pseudocódigo de la Figura 6.1, vemos que el primer paso a efectuar consiste en determinar el tamaño de la población inicial, para a continuación obtener dicha población al azar y computar la función de evaluación de cada uno de sus individuos. Suponiendo que el alfabeto utilizado para codificar los individuos esté constituido por {0, 1}, necesitaremos ristras de longitud 5 para representar los 32 puntos del espacio de búsqueda. En la Tabla 6.1, hemos representado los 4 individuos que constituyen la población inicial, junto con su función de adaptación al problema, así como la probabilidad de que cada uno de dichos individuos sea seleccionado según el modelo de ruleta sesgada para emparejarse. Volviendo a consultar el pseudocódigo expresado en la Figura 6.1, vemos que el siguiente paso consiste en la selección de 2 parejas de individuos. Para ello es suficiente, con obtener 4 números reales provenientes de una distribución de probabilidad uniforme en el intervalo [0, 1], y compararlos con la última columna de la Tabla 6.1. Así por ejemplo, supongamos que dichos 4 números hayan sido: 4

5 Emparejamiento Punto Descen- Nueva población x f(x) de los individuos de dientes descendientes valor función seleccionados cruce mutados genotipo adaptación Suma 2610 Media Mejor 841 Tabla 6.2: Población en el tiempo 1, proveniente de efectuar los operadores de cruce y mutación sobre los individuos expresados en la Tabla 6.1, los cuales constituyen la población en el tiempo ; 0.84; 0.11 y Esto significa que los individuos seleccionados para el cruce han sido: el individuo 2 junto con el individuo 4, así como el individuo 1 junto con el individuo 2. Para seguir con el Algoritmo Genético Simple, necesitamos determinar la probabilidad de cruce, p c. Supongamos que se fije en p c = 0.8. Valiéndonos al igual que antes de, 2 en este caso, números provenientes de la distribución uniforme, determinaremos si los emparejamientos anteriores se llevan a cabo. Admitamos, por ejemplo, que los dos números extraídos sean menores que 0.8, decidiéndose por tanto efectuar el cruce entre las dos parejas. Para ello escogeremos un número al azar entre 1 y l 1 (siendo l la longitud de la ristra utilizada para representar el individuo). Notése que la restricción impuesta al escoger el número entre 1 y l 1, y no l, se realiza con la finalidad de que los descendientes no coincidan con los padres. Supongamos, tal y como se indica en la Tabla 6.2, que los puntos de cruce resulten ser 2 y 3. De esta manera obtendríamos los 4 descendientes descritos en la tercera columna de la Tabla 6.2. A continuación siguiendo el pseudocódigo de la Figura 6.1, mutaríamos con una probabilidad, p m, cercana a cero, cada uno de los bit de las cuatro ristras de individuos. En este caso suponemos que el único bit mutado corresponde al primer gen del tercer individuo. En las dos últimas columnas se pueden consultar los valores de los individuos, así como las funciones de adaptación correspondientes. Como puede observarse, tanto el mejor individuo como la función de adaptación media han mejorado sustancialmente al compararlos con los resultados de la Tabla Extensiones y Modificaciones del AGS En este apartado se introducirán algunas extensiones y modificaciones del Algoritmo Genético Simple. Se comenzará dando un pseudocódigo para un Algoritmo Genético Abstracto, para a contin- BEGIN AGA Obtener la poblacion inicial al azar. WHILE NOT stop DO BEGIN Seleccionar padres de la poblacion. Producir hijos a partir de los padres seleccionados. Mutar los individuos hijos. Extender la poblacion añadiendo los hijos. Reducir la poblacion extendida. END END AGA Figura 6.5: Pseudocódigo del Algoritmo Genético Abstracto uación formalizar matemáticamente cada uno de los elementos integrantes del Algoritmo, así como las extensiones y modificaciones que se vayan presentando. Una versión del Algoritmo Genético Abstracto (AGA), puede ser como el de la Figura 6.5. Ya 5

6 que el principal dominio de aplicación de los Algoritmos Genéticos lo constituye la optimización de funciones, se introducen algunos conceptos básicos que se usarán a lo largo de este Capítulo. Dado un dominio finito D y una función f : D R, el problema de la optimización de la función f se refiere a encontrar el mejor valor de la función f en el dominio D. Se trata por tanto de encontrar x D para el cual f(x) f(y) y D. Ya que max{f(x)} = min{ f(x)} la restricción al problema de minimización no supone ninguna pérdida de generalización. En general, la tarea de optimización se complica debido a la existencia de óptimos locales (mínimos locales en nuestro caso). La función f tiene un mínimo local en ˆx D si se verifica la siguiente condición: E(x), entorno de x, tal que si y E(x), f(x) f(y). Diremos que e : D S l donde l log S D constituye una codificación, siendo la finalidad de la misma el representar los elementos de D por medio de ristras de elementos de S. A S se le denomina alfabeto, mientras que S l constituye el espacio de búsqueda. A la función f(x) = g(e(x)) se le denomina función objetivo. Es necesario que la función e sea inyectiva, para que los elementos de D sean discernibles. El AGA examinará un subconjunto del espacio de búsqueda, obteniendo una ristra x, cuya función objetivo g(x ) puede considerarse un estimador del min x S l g(x). Abusando del lenguaje de notación, designaremos por I a los elementos de S l. En lo que sigue se considerará un AGA como una 10 tupla: donde: P 0 = {I 1 0,..., I λ 0 } (S l ) λ λ l f sel f prod f mut f ext f red g ct AGA = (P 0, λ, l, f sel, f prod, f mut, f ext, f red, g, ct), población inicial, tamaño población, longitud de la representación, función de selección, función de producción de hijos, función de mutación, función de extensión, función de reducción, función objetivo, criterio de parada. En principio restringiremos nuestro AGA, imponiéndole la condición de que todas las poblaciones tengan el mismo tamaño. Obviamente una generalización sería el considerar que el tamaño depende de la generación, es decir λ t = P t. Denotaremos por P λ el conjunto de poblaciones de tamaño λ, a las que denominaremos poblaciones bien dimensionadas. La función de selección global, f sel, selecciona al azar y con reemplazamiento una colección de individuos y P λ a partir de una población x P λ : f sel : (α, x) y, donde α es un vector de dimensión λ constituído por valores escogidos aleatoriamente. La función de reproducción global, f prod, produce una población de descendientes z P λ a partir de individuos seleccionados y P λ por medio de un operador de cruce: f prod : (β, y) z, donde β es un vector de dimensión λ/2 de valores escogidos al azar entre los enteros {1,..., l 1} La función de reproducción se dice que está basada en un punto si los padres I i = (s 1,..., s l ) y I j = (b 1,..., b l ) producen hijos CH i,j;1 = (c 1,..., c l ) y CH i,j;2 = (d 1,..., d l ) verificándose : { sj si j m c j = si j > m b j (1) 6

7 { bj si j m d j = s j si j > m donde m es un número entero escogido al azar según una distribución uniforme discreta definida sobre el conjunto {1,..., l 1}. La función de mutación individual f ind mut, aplicada a I = (s 1,..., s l ), genera otro individuo MI = (sm 1,..., sm l ), es decir f ind mut (I) = MI, tal que j {1,..., l}, P (sm j = s j ) = 1 p m, donde p m es la probabilidad de mutación. La función de extensión, f ext, crea a partir de dos poblaciones x, z P λ, una población n P 2λ : f ext : (x, z) n Denotando por N i con i = 1,.., 2λ el i-ésimo individuo en n, por X k, con k = 1,..., λ el k-ésimo individuo en x, y por Z j con j = 1,..., λ el j-ésimo individuo en z, se tendrá: (2) { Xi si i λ N i = si i > λ Z i λ (3) La función de reducción global, f red, convierte una población n P 2λ en una población r P λ f red : n r. Nótese que r denota la población de individuos en el tiempo t + 1. La función de reducción es elitista de grado λ si la población en el tiempo t + 1 está constituida por los mejores λ individuos, de entre los λ individuos que constituyen la población en el tiempo t y los descendientes derivados de ellos. La función de reducción se denomina simple si la población en el tiempo t + 1 está formada por los descendientes derivados de la población en el tiempo t. 3.1 Población Tamaño de la población Una cuestión que uno puede plantearse es la relacionada con el tamaño idóneo de la población. Parece intuitivo que las poblaciones pequeñas corren el riesgo de no cubrir adecuadamente el espacio de búsqueda, mientras que el trabajar con poblaciones de gran tamaño puede acarrear problemas relacionados con el excesivo costo computacional. Goldberg (1989) efectuó un estudio teórico, obteniendo como conclusión que el tamaño óptimo de la población para ristras de longitud l, con codificación binaria, crece exponencialmente con el tamaño de la ristra. Este resultado traería como consecuencia que la aplicabilidad de los Algoritmos Genéticos en problemas reales sería muy limitada, ya que resultarían no competitivos con otros métodos de optimización combinatoria. Alander (1992), basándose en evidencia empírica sugiere que un tamaño de población comprendida entre l y 2l es suficiente para atacar con éxito los problemas por el considerados Población inicial Habitualmente la población inicial se escoge generando ristras al azar, pudiendo contener cada gen uno de los posibles valores del alfabeto con probabilidad uniforme. Nos podríamos preguntar que es lo que sucedería si los individuos de la población inicial se obtuviesen como resultado de alguna técnica heurística o de optimización local. En los pocos trabajos que existen sobre este aspecto, se constata que esta inicialización no aleatoria de la población inicial, puede acelerar la convergencia del Algoritmo Genético. Sin embargo en algunos casos la desventaja resulta ser la prematura convergencia del algoritmo, queriendo indicar con ésto la convergencia hacia óptimos locales. 7

8 3.2 Función objetivo Dos aspectos que resultan cruciales en el comportamiento de los Algoritmos Genéticos son la determinación de una adecuada función de adaptación o función objetivo, así como la codificación utilizada. Idealmente nos interesaría construir funciones objetivo con ciertas regularidades, es decir funciones objetivo que verifiquen que para dos individuos que se encuentren cercanos en el espacio de búsqueda, sus respectivos valores en las funciones objetivo sean similares. Por otra parte una dificultad en el comportamiento del Algoritmo Genético puede ser la existencia de gran cantidad de óptimos locales, así como el hecho de que el óptimo global se encuentre muy aislado. La regla general para construir una buena función objetivo es que ésta debe reflejar el valor del individuo de una manera real, pero en muchos problemas de optimización combinatoria, donde existen gran cantidad de restricciones, buena parte de los puntos del espacio de búsqueda representan individuos no válidos. Para este planteamiento en el que los individuos están sometidos a restricciones, se han propuesto varias soluciones. La primera sería la que podríamos 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 válidos, o bien a dichos individuos se les asigna una función objetivo igual a cero. Otra posibilidad consiste en reconstruir aquellos individuos que no verifican las restricciones. Dicha reconstrucción suele llevarse a cabo por medio de un nuevo operador que se acostumbra a denominar reparador. Otro enfoque está basado en la penalización de la función objetivo. La idea general consiste en dividir la función objetivo del individuo por una cantidad (la penalización) que guarda relación con las restricciones que dicho individuo viola. Dicha cantidad puede simplemente tener en cuenta el número de restricciones violadas ó bien el denominado costo esperado de reconstrucción, es decir el coste asociado a la conversión de dicho individuo en otro que no viole ninguna restricción. Otra técnica que se ha venido utilizando en el caso en que la computación de la función objetivo sea muy compleja es la denominada evaluación aproximada de la función objetivo. En algunos casos la obtención de n funciones objetivo aproximadas puede resultar mejor que la evaluación exacta de una única función objetivo (supuesto el caso de que la evaluación aproximada resulta como mínimo n veces más rápida que la evaluación exacta). Un problema habitual en las ejecuciones de los Algoritmos Genéticos surge debido a la velocidad con la que el algoritmo converge. En algunos casos la convergencia es muy rápida, lo que suele denominarse convergencia prematura, en la cual el algoritmo converge hacia óptimos locales, mientras que en otros casos el problema es justo el contrario, es decir se produce una convergencia lenta del algoritmo. Una posible solución a estos problemas pasa por efectuar transformaciones en la función objetivo. El problema de la convergencia prematura, surge a menudo cuando la selección de individuos se realiza de manera proporcional a su función objetivo. En tal caso, pueden existir individuos con una adaptación al problema muy superior al resto, que a medida que avanza el algoritmo dominan a la población. Por medio de una transformación de la función objetivo, en este caso una comprensión del rango de variación de la función objetivo, se pretende que dichos superindividuos no lleguen a dominar a la población. El problema de la lenta convergencia del algoritmo, se resolvería de manera análoga, pero en este caso efectuando una expansión del rango de la función objetivo. La idea de especies de organismos, ha sido imitada en el diseño de los Algoritmos Genéticos en un método propuesto por Goldberg y Richardson (1987), utilizando una modificación de la función objetivo de cada individuo, de tal manera que individuos que estén muy cercanos entre sí devalúen su función objetivo, con objeto de que la población gane en diversidad. Por ejemplo, si denotamos por d(i j t, I i t) a la distancia de Hamming entre los individuos I j t e I i t, y 8

9 por K R + a un parámetro, podemos definir la siguiente función: { h(d(i j t, It)) i K d(i j t, I = t) i si d(i j t, It) i < K, 0 si d(i j t, It) i K. A continuación para cada individuo I j t, definimos σj t = i j h(d(ij t, It)), i valor que utilizaremos para devaluar la función objetivo del individuo en cuestión. Es decir, g (I j t ) = g(i j t )/σj t. De esta manera aquellos individuos que están cercanos entre sí verán devaluada la probabilidad de ser seleccionados como padres, aumentándose la probabilidad de los individuos que se encuentran más aislados. 3.3 Selección La función de selección de padres más utilizada es la denominada función de selección proporcional a la función objetivo, en la cual cada individuo tiene una probabilidad de ser seleccionado como padre que es proporcional al valor de su función objetivo. Denotando por p prop j,t la probabilidad de que el individuo I j t sea seleccionado como padre, se tiene que: p prop g(i j t ) j,t = λ j=1 g(ij t ). Esta función de selección es invariante ante un cambio de escala, pero no ante una traslación. Una de las maneras de superar el problema relacionado con la rápida convergencia proveniente de los superindividuos, que surge al aplicar la anterior función de selección, es el efectuar la selección proporcional al rango del individuo, con lo cual se produce una repartición más uniforme de la probabilidad de selección, tal y como se ilustra en la figura 6.6. Si denotamos por rango(g(i j t )) el rango prop rango P ( I j,t) P ( I j,t) I j,t I j,t Figura 6.6: Esquemas de selección de padres proporcional a la función objetivo (izquierda) y proporcional al rango de la función objetivo (derecha) de la función objetivo del individuo I j t cuando los individuos de la población han sido ordenados de menor a mayor (es decir el peor individuo tiene rango 1, mientras que el individuo con mejor función objetivo tiene rango λ), y sea p rango j,t la probabilidad de que el individuo I j t sea seleccionado como padre cuando la selección se efectúa proporcionalmente al rango del individuo, se tiene que p rango j,t = rango(g(ij t )) λ(λ + 1)/2. La suma de los rangos, λ(λ + 1)/2, constituye la constante de normalización. La función de selección basada en el rango es invariante frente a la translación y al cambio de escala. Otro posible refinamento del modelo de selección proporcional, es el modelo de selección del valor esperado, el cual actúa de la manera siguiente: para cada individuo I j t, se introduce un contador, inicializado en g(i j t )/ḡ t, donde ḡ t denota la media de la función objetivo en la generación t. Cada vez que el individuo I j t es seleccionado para el cruce, dicho contador decrece en una cantidad c (c (0, 5; 1)). El individuo en cuestión dejará de poder ser seleccionado en esa generación, cuando su contador sea negativo. Un esquema de selección, introducido por Brindle (1991), y que empíricamente ha proporcionado buenos resultados, es el denominado muestreo estocástico con reemplazamiento del resto, en el cual 9

10 cada individuo es seleccionado un número de veces que coincide con la parte entera del número esperado de ocurrencias de dicho suceso, compitiendo los individuos por los restos. Es decir, si denotamos por n(i j t ) el número de veces que el individuo I j t es seleccionado para el cruce, tenemos que: n(i j t ) = n 1 (I j t ) + n 2 (I j t ), donde n 1 (I j t ) = [g(i j t )/ḡ t ], y n 2 (I j t ) corresponde a la componente aleatoria que resulta de muestrear sobre los λ λ j=1 [g(ij t )/ḡ t ] restantes individuos, siendo el muestro proporcional a la función objetivo de cada individuo. Baker (1987) introduce un método denominado muestreo universal estocástico, el cual utiliza un único giro de la ruleta siendo los sectores circulares proporcionales a la función objetivo. Los individuos son seleccionados a partir de marcadores (véase Figura 6.7 ), igualmente espaciados y con comienzo aleatorio. Efectuando un paralelismo con los métodos de muestreo estadísticos, este último tipo de selección de t I 4 t I 1 t I 3 t I 2 Figura 6.7: Método de selección de padres denominado muestreo universal estocástico. El individuo I t 1 se escoge 2 veces, mientras que I t 3 e I t 4 son elegidos una única vez padres se relaciona con el muestreo sistemático, mientras que la selección proporcional a la función objetivo, está basada en el muestreo estratificado con afijación proporcional al tamaño. También el procedimiento de selección que hemos denominado muestreo estocástico con reemplazamiento del resto, mantiene un paralelismo con el muestreo estratificado con afijación de compromiso. En el modelo de selección elitista se fuerza a que el mejor individuo de la población en el tiempo t, sea seleccionado como padre. La selección por torneo, constituye un procedimiento de selección de padres muy extendido y en el cual la idea consiste en escoger al azar un número de individuos de la población, tamaño del torneo, (con o sin reemplazamiento), seleccionar el mejor individuo de este grupo, y repetir el proceso hasta que el número de individuos seleccionados coincida con el tamaño de la población. Habitualmente el tamaño del torneo es 2, y en tal caso se ha utilizado una versión probabilística en la cual se permite la selección de individuos sin que necesariamente sean los mejores. Una posible clasificación de procedimientos de selección de padres consistirá en: métodos de selección dinámicos, en los cuales los probabilidades de selección varían de generación a generación, (por ejemplo la selección proporcional a la función objetivo), frente a métodos de selección estáticos, en los cuales dichas probabilidades permanecen constantes (por ejemplo la selección basada en rangos). Si se asegura que todos los individuos tienen asignada una probabilidad de selección distinta de cero el método de selección se denomina preservativo. En caso contrario se acostumbra a denominarlo extintivo. 10

11 3.4 Cruce El Algoritmo Genético Canónico descrito anteriormente, utiliza el cruce basado en un punto, en el cual los dos individuos seleccionados para jugar el papel de padres, son recombinados por medio de la selección de un punto de corte, para posteriormente intercambiar las secciones que se encuentran a la derecha de dicho punto. Se han investigado otros operadores de cruce, habitualmente teniendo en cuenta más de un punto de cruce. De Jong (1975) investigó el comportamiento del operador de cruce basado en múltiples puntos, concluyendo que el cruce basado en dos puntos, representaba una mejora mientras que añadir más puntos de cruce no beneficiaba el comportamiento del algoritmo. La ventaja de tener más de un punto de cruce radica en que el espacio de búsqueda puede ser explorado más fácilmente, siendo la principal desventaja el hecho de aumentar la probabilidad de ruptura de buenos esquemas. En el operador de cruce basado en dos puntos, los cromosomas (individuos) pueden contemplarse como un circuito en el cual se efectúa la selección aleatoria de dos puntos, tal y como se indica en la figura 6.8. Final Comienzo Segundo punto de corte Primer punto de corte Figura 6.8: Individuo visto como un circuito Desde este punto de vista, el cruce basado en un punto, puede verse como un caso particular del cruce basado en dos puntos, en el cual uno de los puntos de corte se encuentra fijo al comienzo de la ristra que representa al individuo. Véase figura 6.9. En el denominado operador de cruce uniforme (Syswerda (1991)) cada gen en la descendencia se Padres Descendientes Figura 6.9: Operador de cruce basado en dos puntos crea copiando el correspondiente gen de uno de los dos padres, escogido de acuerdo a una máscara de cruce generada aleatoriamente. Cuando existe un 1 en la máscara de cruce, el gen es copiado del primer padre, mientras que cuando exista un 0 en la máscara, el gen se copia del segundo padre, tal y como se muestra en la figura En la literatura, el término operador de cruce uniforme se relaciona con la obtención de la máscara de cruce uniforme, en el sentido de que cualquiera de los elementos del alfabeto tenga asociada la misma probabilidad. Hablando en términos de la teoría de la probabilidad la máscara de cruce está compuesta por una muestra aleatoria de tamaño λ extraída de una distribución de probabilidad de Bernouilli de parámetro 1/2. Si tuviésemos en cuenta el valor de la función de adaptación de cada padre en el momento de generar la máscara de cruce, de tal manera que cuanto mayor sea la función de adaptación de un individuo, más probable sea heredar sus características, podríamos definir, véase Larrañaga y Poza (1994), un operador de cruce basado en la función objetivo, en el cual la máscara de cruce se interpreta como una muestra aleatoria de tamaño l proveniente de una distribución de Bernouilli de parámetro p = g(i j t )/(g(i j t ) + g(i i t)) 11

12 Máscara de cruce Padre Descendiente Padre Figura 6.10: Operador de cruce uniforme donde I j t y I i t denotan los padres seleccionados para ser cruzados. El concepto de máscara de cruce puede también servir para representar los cruces basados en un punto y basados en múltiples puntos, tal y como se muestra en figura 6.11 Sirag y Weiser (1987), modifican el operador de cruce en el sentido del Simulated Annealing. De Máscara de cruce Padre Descendiente Padre Figura 6.11: Máscaras de cruce para los operadores de cruce basados en 1 punto y en 2 puntos esta manera el operador de cruce se modifica definiendo un umbral de energia θ c, y una temperatura T, las cuales influencian la manera en la que se escogen los bits individuales. Según el operador propuesto el bit (i + 1)-ésimo se tomará del padre opuesto al que se ha tomado el bit i-ésimo, con probabilidad exp( θ c /T ), donde T es el parámetro temperatura el cual, al igual que en Simulated Annealing decrecerá lentamente por medio de un programa de enfriamiento. Con altas temperaturas el comportamiento se asemeja al del operador de cruce uniforme, es decir con probabilidad cercana a la unidad los bits se van escogiendo alternativamente de cada padre. Por otra parte cuando el valor del parámetro temperatura se acerca a cero el hijo resultante coincide prácticamente con uno de los padres. Existen otros operadores de cruce específicos para un determinado problema como son, por ejemplo, los definidos para el TSP, que se tratarán más adelante. Por otra parte, la idea de que el cruce debería de ser más probable en algunas posiciones ha sido descrita por varios autores (Schaffer y Morishima, 1987; Holland, 1975; Davis, 1985; Levenick, 1991). 3.5 Mutación La mutación se considera un operador básico, que proporciona un pequeño elemento de aleatoridad en la vecindad (entorno) de los individuos de la población. Si bien se admite que el operador de cruce es el responsable de efectuar la búsqueda a lo largo del espacio de posibles soluciones, también parece desprenderse de los experimentos efectuados por varios investigadores que el operador de mutación va ganando en importancia a medida que la población de individuos va convergiendo (Davis, 1985). Schaffer y col. (1989) encuentran que el efecto del cruce en la búsqueda es inferior al que previamente se esperaba. Utilizan la denominada evolución primitiva, en la cual, el proceso evolutivo consta tan sólo de selección y mutación. Encuentran que dicha evolución primitiva supera con creces a una evolución basada exclusivamente en la selección y el cruce. Otra conclusión de su trabajo es que la determinación del valor óptimo de la probabilidad de mutación es mucho más crucial que el relativo a la probabilidad de cruce. La búsqueda del valor óptimo para la probabilidad de mutación, es una cuestión que ha sido motivo 12

13 de varios trabajos. Así, De Jong (1975) recomienda la utilización de una probabilidad de mutación del bit de l 1, siendo l la longitud del string. Schaffer y col. (1989) utilizan resultados experimentales para estimar la tasa óptima proporcional a 1/λ l , donde λ denota el número de individuos en la población. Si bien en la mayoría de las implementaciones de Algoritmos Genéticos se asume que tanto la probabilidad de cruce como la de mutación permanecen constantes, algunos autores han obtenido mejores resultados experimentales modificando la probabilidad de mutación a medida que aumenta el número de iteraciones. Pueden consultarse los trabajos de Ackley (1987), Bramlette (1991), Fogarty (1989) y Michalewicz y Janikow (1991). 3.6 Reducción Una vez obtenidos los individuos descendientes de una determinada población en el tiempo t, el proceso de reducción al tamaño original, consiste en escoger λ individuos de entre los λ individuos que forman parte de la población en el tiempo t, y los λ individuos descendientes de los mismos. Dicho proceso se suele hacer fundamentalmente de dos formas distintas. O bien los λ individuos descendientes son los que forman parte de la población en el tiempo t + 1, es lo que se denomina reducción simple, o bien se escogen de entre los 2λ individuos, los λ individuos más adaptados al problema, siguiendo lo que podemos denominar un criterio de reducción elitista de grado λ. Podemos tambien considerar otros procedimientos de reducción que se colocan entre los anteriores, por ejemplo, si escogemos los λ 1 mejores de entre padres y descendientes, escogiéndose los λ λ 1 restantes de entre los descendientes no seleccionados hasta el momento. El concepto de reducción está ligado con el de tasa de reemplazamiento generacional, t rg, es decir en el porcentaje de hijos generados con respecto del tamaño de la población. Si bien en la idea primitiva de Holland (1975) dicho reemplazamiento se efectuaba de 1 en 1, es decir t rg = λ 1, habitualmente dicho reemplazamiento se efectúa en bloque, t rg = 1. De Jong (1975) introdujo el concepto de tasa de reemplamiento generacional con el objetivo de efectuar un solapamiento controlado entre padres e hijos. En su trabajo, en cada paso una proporción, t rg, de la población es seleccionada para ser cruzada. Los hijos resultantes podrán reemplazar a miembros de la población anterior. Este tipo de Algoritmos Genéticos se conocen bajo el nombre de SSGA (Steady State Genetic Algorithm), un ejemplo de los cuales lo constituye GENITOR (Whitley y Kauth, 1988; Whitley, 1989). Michalewicz (1992) introduce un algoritmo que denomina Algoritmo Genético Modificado, MOD GA, en el cual para llevar a cabo el reemplazamiento generacional, selecciona al azar r 1 individuos para la reproducción, así como r 2 individuos (distintos de los anteriores) destinados a morir. Estas selecciones aleatorias tienen en consideración el valor de la función objetivo de cada individuo, de tal manera que cuanto mayor es la función objetivo, mayor es la probabilidad de que sea seleccionado para la reproducción, y menor es la probabilidad de que dicho individuo fallezca. El resto de los λ (r 1 + r 2 ) individuos son considerados como neutros y pasan directamente a formar parte de la población en la siguiente generación. 3.7 Algoritmos Genéticos Paralelos En este apartado se introducirán tres maneras diferentes de explotar el paralelismo de los Algoritmos Genéticos, por medio de los denominados modelos de islas. Para una profundización sobre el tema puede consultarse Stender (1993). Modelos de islas. La idea básica consiste en dividir la población total en varias subpoblaciones en cada una de las cuales se lleva a cabo un Algoritmo Genético. Cada cierto número de generaciones, se efectúa un intercambio de información entre las subpoblaciones, proceso que se denomina emigración. La introducción de la emigración hace que los modelos de islas sean capaces de explotar las diferencias entre las diversas subpoblaciones, obteniéndose de esta manera una fuente de diversidad genética. Cada subpopulación es una isla, definiéndose un procedimiento por medio del cual 13

14 se mueve el material genético de una isla a otra. La determinación de la tasa de migración, es un asunto de capital importancia, ya que de ella puede depender la convergencia prematura de la búsqueda. Se pueden distinguir diferentes modelos de islas en función de la comunicación entre las subpoblaciones. Algunas comunicaciones típicas son las siguientes: Comunicación en estrella, en la cual existe una subpoblación que es seleccionada como maestra (aquella que tiene mejor media en el valor de la función objetivo), siendo las demás consideradas como esclavas. Todas las subpoblaciones esclavas mandan sus h 1 mejores individuos (h 1 1) a la subpoblación maestra la cual a su vez manda sus h 2 mejores individuos (h 2 1) a cada una de las subpoblaciones esclavas. Véase figura Esclava Esclava Maestra Esclava Esclava Figura 6.12: Algoritmo Genético Paralelo. Modelo de Islas. Comunicación en estrella Comunicación en red, en la cual no existe una jerarquía entre las subpoblaciones, mandando todas y cada una de ellas sus h 3 (h 3 1) mejores individuos al resto de las subpoblaciones. Véase figura Subpobl. 1 Subpobl. 2 Subpobl. 3 Subpobl. 4 Figura 6.13: Algoritmo Genético Paralelo. Modelo de Islas. Comunicación en red Comunicación en anillo, en la cual cada subpoblación envía sus h 4 mejores individuos (h 4 1), a una población vecina, efectuándose la migración en un único sentido de flujo. Véase figura El modelo de islas ha sido utilizado por varios autores (Whitley y Starkweather, 1990; Gorges- Schleuter, 1989; Tanese, 1987). 3.8 Evaluación de Algoritmos Genéticos Las tres medidas de evaluación que se tratarán en este apartado, fueron introducidas por De Jong (1975), y se conocen como: evaluación on-line evaluación off-line 14

15 Subpobl. 1 Subpobl. 2 Subpobl. 3 Subpobl. 4 Figura 6.14: Algoritmo Genético Paralelo. Modelo de Islas. Comunicación en anillo evaluación basada en el mejor Si denotamos por v i (t) la función objetivo del i-ésimo individuo (i = 1,..., λ) en la t-ésima población, la evaluación on-line, después de T iteraciones, se denotará por v on-line (T ), y se define como T λ v on-line t=1 i=1 (T ) = v i(t). λt Es decir, la evaluación on-line mide el comportamiento medio de todas las ristras generadas hasta el tiempo T. La evaluación off-line se refiere al comportamiento del Algoritmo Genético en su proceso de convergencia hacia el óptimo. Así tendremos que si denotamos por v (t) al mejor valor de la función objetivo obtenido hasta el tiempo t (incluyendo dicho tiempo), y si v off-line (T ) denota la evaluación off-line después de T generaciones, tenemos que T v off-line t=1 (T ) = v (t). T La definición de evaluación basada en el mejor trata de evaluar el Algoritmo Genético por medio del mejor valor de la función de evaluación encontrado en la evolución. Se trata por tanto de la medida de evaluación usual al tratar de estudiar el comportamiento de cualquier técnica heurística. 4 Por qué funcionan? En este apartado se tratarán algunas cuestiones relacionadas con el porqué funcionan los Algoritmos Genéticos. El significado de la palabra funcionan se refiere al hecho de ser capaces de encontrar el óptimo de la función durante el proceso de búsqueda. Se estudiará en primer lugar el denominado Teorema de los esquemas, (Goldberg, 1989), adaptando la notación, para presentarlo en relación con distribuciones binomiales, para a continuación introducir la denominada Hipótesis de bloques, y finalizar referenciando algunos trabajos relativos a la convergencia de los Algoritmos Genéticos. 4.1 Teorema de los esquemas En lo que sigue se desarrollará el denominado Teorema de los esquemas para el caso del Algoritmo Genético Canónico, utilizando además un alfabeto binario. Dicho teorema utiliza el concepto de esquema, que introducimos a continuación. Supongamos un alfabeto binario S = {0, 1}. Para construir un esquema necesitamos ampliar el alfabeto anterior por medio del símbolo. Un esquema será cualquier ristra de caracteres formada a partir de elementos del alfabeto ampliado S, siendo S = {0, 1, }. Si la longitud de la ristra es l, 15

16 el número de esquemas existentes es 3 l, ya que cada posición puede ocuparse por cualquier de los tres elementos del alfabeto extendido S. Un esquema representa por tanto todas aquellas ristras que se asocian con él, en todas las posiciones distintas de las ocupadas por. Así por ejemplo considerando ristras de longitud 4, tenemos que el esquema Q = ( 1 0) se empareja con los cromosomas (0100), (0110), (1100)y(1110). Desde un punto de vista geométrico un esquema equivale a un hiperplano en el espacio de búsqueda. El esquema (0111) representa una única ristra, mientras que el esquema ( ) representa todas las ristras de longitud 4. Por otra parte cada esquema se empareja exactamente con 2 r ristras, donde r denota el número de símbolos contenidos en el esquema. Además cada ristra de longitud l se empareja con 2 l esquemas. Así por ejemplo el ristra (0100) se empareja con los siguientes 2 4 esquemas: (0100), ( 100), (0 00), (01 0), (010 ), ( 00), ( 1 0), ( 10 ), (0 0), (0 0 ), (01 ), ( 0), ( 0 ), ( 1 ), (0 ), ( ). Para desarrollar el Teorema de los esquemas necesitamos utilizar los conceptos de orden y longitud de un esquema, que se definen a continuación. El orden del esquema Q, se denota por o(q), y se refiere al número de posiciones ocupadas por 0 s, ó 1 s dentro del esquema. Se trata por tanto del número de posiciones fijas en el esquema. En otras palabras se trata de la longitud de la ristra menos el número de símbolos. Por ejemplo, los tres esquemas siguientes, Q 1 = ( 01 ), tienen los siguientes órdenes: Q 2 = ( 1), Q 3 = (110 ), o(q 1 ) = 2, o(q 2 ) = 1, y o(q 3 ) = 3. El concepto de orden del esquema se utiliza, como se verá con posterioridad, para calcular la probabilidad de supervivencia del esquema con relación al operador mutación. La longitud del esquema Q, se denota por medio de δ(q), y se define como la distancia entre la primera y la última posiciones fijas de la ristra. Dicho concepto define en cierto modo la compactibilidad de la información contenida en el esquema. Así por ejemplo δ(q 1 ) = 3 2 = 1, δ(q 2 ) = 4 4 = 0, y δ(q 3 ) = 3 1 = 2. El concepto anterior se utiliza para calcular la probabilidad de supervivencia del esquema frente al operador de cruce. Denotaremos por: λ, el tamaño de la población que se considerará constante a lo largo de la evolución, p c, la probabilidad de cruce, p m, la probabilidad de mutación. Por otra parte, ξ(q, t) denotará el número de ristras que en una determinada población en el tiempo t, se asocian con el esquema Q. Así por ejemplo si consideramos la población en el tiempo t, P t = {(0100), (1001), (1111), (0001)}, 16

17 y los dos esquemas siguientes tenemos que Q 1 = ( 01) y Q 2 = ( 0), ξ(q 1, t) = 2 y ξ(q 2, t) = 1. Otra propiedad del esquema es su adaptación en el tiempo t, la cual se denotará por eval(q, t) y se define como la media de la función objetivo de todas las ristras que en la población se asocian con el esquema Q. Sea F (t), la media de la función objetivo extendida a toda la población en el tiempo t. Es decir F (t) = F (t)/λ, siendo F (t) la suma de las funciones objetivo de todas los individuos en la población en el tiempo t. Con la notación introducida hasta el momento, podemos enunciar el Teorema de los esquemas de la siguiente manera. Teorema de los esquemas Si denotamos por E sel, cru, mut (ξ(q, t + 1)), el número esperado de individuos que se asocian con el esquema Q, en el tiempo t + 1, después de efectuar la selección, el cruce y la mutación en un Algoritmo Genético Canónico, se tiene que: E sel, cru, mut (ξ(q, t + 1)) ξ(q, t) eval(q, t)/f (t)[1 p c δ(q) l 1 o(q)p m]. La demostración se efectuará en tres pasos, en el primero de los cuales se estudiará el efecto de la selección basada en la ruleta sesgada, en el número esperado de individuos que se asocian con la ristra Q. Dicho número se denotará por E sel (ξ(q, t + 1)). A continuación se verá el efecto del cruce en dicho número esperado, el cual se denotará por E sel, cru (ξ(q, t + 1)), para finalmente tratar el efecto de la mutación, obteniéndose una cota inferior para E sel, cru, mut (ξ(q, t + 1)) Efecto selección Utilizando la notación anteriormente introducida, se tiene que la probabilidad de que un individuo seleccionado para cruzarse (suponemos que la selección se efectúa de manera proporcional a la función objetivo) se empareje con el esquema Q, se calculará por medio de eval(q, t)/f (t). El número esperado de individuos que a partir del anterior individuo seleccionado van a emparejarse con Q, será (eval(q, t)/f (t)) ξ(q, t). Al efectuarse λ selecciones, se tendrá que: E sel (ξ(q, t + 1)) = λ ξ(q, t) eval(q, t)/f (t). Teniendo en cuenta que F (t) = F (t)/λ, tendremos que: E sel (ξ(q, t + 1)) = ξ(q, t) eval(q, t)/f (t). Si se asume que la evaluación del esquema supera a la evaluación media extendida a toda la población en un ε%, es decir si entonces obtendremos que eval(q, t) = F (t) + εf (t)(ε > 0), E sel (ξ(q, t)) = ξ(q, 0) (1 + ε) t. Por tanto acabamos de obtener que el número medio esperado de individuos que se asocian con un esquema determinado Q en el tiempo t, crece de forma exponencial en función de la diferencia entre la evaluación media de dicho esquema con respecto a la evaluación media global. La anterior ecuación se conoce bajo el nombre de ecuación de crecimiento reproductivo de los esquemas. 17

18 Efecto cruce Denotando por p d,cruce(q), la probabilidad de que el esquema Q sea destruido por el operador de cruce, se tiene que p d,cruce (Q) = δ(q) l 1. En realidad como el operador de cruce se lleva a cabo con una cierta probabilidad p c, se tiene que p d,cruce (Q) = δ(q) l 1 p c, lo cual equivale a decir que la probabilidad de que el esquema Q sobreviva al cruce es p so, cruce (Q) = 1 p d,cruce (Q) = 1 δ(q) l 1 p c. En realidad la fórmula anterior nos proporciona una cota para la probabilidad de que sobreviva el esquema Q. Ello es debido a que, puede ocurrir que aunque el punto de corte se encuentre entre los símbolos comprendidos entre el primer y el último elemento distintos de, el esquema resultante no muera. Así por ejemplo, si consideramos los dos esquemas: S 1 = 1 0, S 2 = 1 0, independientemente del punto de corte, cualquiera de los esquemas resultantes coincide con los anteriores. De ahí que en realidad tenemos que: obteniéndose que Efecto mutación p so, cruce (Q) 1 δ(q) l 1 p c, E sel, cru [ξ(q, t + 1)] ξ(q, t) eval(q, t)/f (t) (1 δ(q) l 1 p c). Denotando por p so, mut (Q) a la probabilidad de que el esquema Q sobreviva al operador mutación, se tiene que p so, mut (Q) = (1 p m ) o(q). Al ser p m << 1, la anterior probabilidad de sobrevivir puede ser aproximada por p so,mut 1 o(q)p m. El efecto combinado de la selección, el operador de cruce y el operador de mutación nos proporciona el denominado Teorema de los esquemas. Es decir E sel, cru, mut [ξ(q, t + 1)] ξ(q, t) eval(q, t)/f (t) [1 δ(q) l 1 p c o(q)p m + δ(q) l 1 o(q)p cp m ]. ó bien suprimiendo el último término E sel, cru, mut [ξ(q, t + 1)] ξ(q, t) eval(q, t)/f (t)[1 δ(q) l 1 p c o(q)p m ]. La fórmula anterior nos proporciona una cota inferior del número esperado de individuos que se asocian con el esquema Q en la siguiente generación, expresado en función del número de individuos que se asocian con el esquema en la actual generación, así como de la adaptación del esquema relativa a la adaptación media de la población, el orden y la longitud del esquema, la longitud de las ristras, así como las probabilidades de cruce y mutación. Tal y como se desprende de la fórmula anterior, esquemas cortos, de bajo orden y con una adaptación al problema superior a la adaptación media, se espera que a medida que evoluciona el Algoritmo Genético, obtengan un incremento exponencial en el número de individuos que se asocian con los mismos. 18

19 4.2 Paralelismo implícito El hecho de que los Algoritmos Genéticos efectúen búsquedas robustas, se debe a que implícitamente muestrean hiperplanos. Es decir cada individuo, representado por medio de una codificación binaria, constituye un vértice del hipercubo que representa el espacio de búsqueda, y es a su vez un miembro de 2 l 1 diferentes hiperplanos, donde l es la longitud de la codificación binaria. Por otra parte existen un total de 3 l 1 hiperplanos particiones sobre el espacio de búsqueda total. Cada individuo no proporciona gran información si se examina por separado. Es por ello que la búsqueda basada en una población es crítica para los Algoritmos Genéticos. Una población de individuos, proporciona información sobre numerosos hiperplanos, estando los hiperplanos de bajo orden muestrados por numerosos puntos de la población. El hecho de que se muestreen muchos hiperplanos cuando se evalúa una población de ristras, se conoce como el paralelismo implícito o intrínseco de los Algoritmos Genéticos. Dicho paralelismo implícito, significa que muchas competiciones entre hiperplanos se efectúan simultáneamente. 4.3 Teoremas de convergencia Rudolph (1994) demuestra la no convergencia hacia el óptimo global del algoritmo genético canónico, así como la garantía, de convergencia expresada en términos probabilísticos, del algoritmo genético que mantiene a la mejor solución en la población. Davis y Principe (1993) extrapolan los fundamentos teóricos del algoritmo simulated annealing a un modelo de algoritmo genético basado en cadenas de Markov. Se efectúa un estudio de las matrices de transición de estados teniendo en cuenta en primer lugar tan sólo la reproducción, a continuación la reproducción y la mutación y finalmente la reproducción, la mutación y el cruce. Suzuki (1993) efectúa un estudio de la convergencia de los algoritmos genéticos por medio de cadenas de Markov. Los algoritmos genéticos estudiados presentan un criterio de reducción elitista modificado, según el cual se genera una población de λ individuos, incluyendo en ella al mejor individuo de la población en la generación anterior, obteniéndose los λ 1 individuos restantes por medio de las operaciones genéticas normales. Liepins (1992) demuestra la convergencia del algoritmo genético hacia poblaciones que contienen al óptimo, en el caso de algoritmos genéticos sin operador de mutación, pero en los cuales el reemplazamiento de individuos es elitista - el mejor individuo no se pierde nunca - y además se efectúa de tal manera que en cada paso cualquier punto del espacio sea potencialmente alcanzable por medio de la operación de cruce. Chakraborty y Dastidar (1993), presentan un modelo de fiabilidad estocástica de un esquema para el algoritmo genético binario con longitud de representación fija, y obtienen una estimación para el número de generaciones necesarias hasta obtener la convergencia. Eiben y col. (1990) modelan la evolución del algoritmo genético por medio de una cadena de Markov, obteniendo condiciones suficientes para la convergencia en probabilidad del procreso evolutivo hacia el óptimo global. 19

20 5 Operadores genéticos en el problema del agente viajero 5.1 Introducción El problema del agente viajero, también denominado TSP (Travelling Salesman Problem), consiste en -dada una colección de ciudades- determinar la gira de mínimo costo, visitando cada ciudad exactamente una vez y volviendo al punto de partida. Más precisamente, dado un número entero n 3 y dada una matriz C = (c ij ) M(n, n), con elementos c ij enteros no negativos, se trata de encontrar la permutación cíclica π de los enteros de 1 a n que minimiza n i=1 c iπ(i). A lo largo de los años el problema del agente viajero ha ocupado la mente de numerosos investigadores. Los motivos son varios. En primer lugar, el TSP es un problema muy sencillo de enunciar, pero muy difícil de resolver. En segundo lugar, el TSP es aplicable a una gran variedad de problemas de planificación. Finalmente, se ha convertido en una especie de problema test, es decir los nuevos métodos de optimización combinatoria son a menudo aplicados al TSP con objeto de tener una idea de sus potencialidades. Son numerosos los heurísticos que se han desarrollado para el TSP. La mayoría de ellos se describen en Lawler y col. (1985). La primera aproximación al TSP a partir de Algoritmos Genéticos la efectuó Brady (1985). Su intento fue seguido por Grefenstette y col. (1985), Goldberg y Lingle (1985), Oliver y col. (1987) y otros muchos. También han sido aplicados otros Algoritmos Evolutivos, véanse por ejemplo, Fogel (1988), Banzhaf (1990) y Ambati y col. (1991). Se pueden encontrar ejemplos de problemas para el TSP, en algunos casos con su solución, en una librería disponible via ftp, tecleando lo que sigue: ftp sfi.santafe.edu Name (sfi.santafe.edu: foobar): anonymous Password: < address > ftp> cd pub/ec/etc/data/tsp ftp> type binary ftp> get tsplib-1.2.tar.gz La librería fue compilada por Reinelt. (1991). Para más información sobre la misma, véase Reinelt Se expondrán distintas representaciones, así como diferentes operadores de cruce y mutación, que han sido utilizados para resolver el TSP por medio de Algoritmos Genéticos. 5.2 Representación basada en la trayectoria La representación basada en la trayectoria es la representación más natural de una gira. En ella, una gira se representa como una lista de n ciudades. Si la ciudad i es el j-ésimo elemento de la lista, la ciudad i es la j-ésima ciudad a visitar. Así por ejemplo, la gira se representará como ( ). Debido a que los operadores clásicos no funcionan con esta representación, se han definido otros operadores de cruce y mutación, algunos de los cuales se describen a continuación. Resultados experimentales con dichos operadores de cruce y mutación pueden consultarse en Larrañaga et al. (1999) Operadores de cruce Operador de cruce basado en una correspondencia parcial (PMX) El PMX lo introdujeron Goldberg y Lingle (1985). En él, una parte de la ristra representando a uno de los padres, se hace corresponder con una parte, de igual tamaño, de la ristra del otro padre, intercambiándose la información restante. 20

Algoritmos Genéticos. Introduccion a la Robótica Inteligente

Algoritmos Genéticos. Introduccion a la Robótica Inteligente Algoritmos Genéticos Introduccion a la Robótica Inteligente 7 Marzo 2014 (IRIN) AGs 7/03/2014 1 / 43 Índice 1 Introducción 2 Algoritmos Genéticos 3 Algunos Fundamentos Matemáticos 4 Conclusiones (IRIN)

Más detalles

Introducción a la Computación Evolutiva

Introducción a la Computación Evolutiva Introducción a la Computación Evolutiva Sección de Computación CINVESTAV-IPN Av. IPN No. 2508 Col. San Pedro Zacatenco México, D.F. 07300 email: ccoello@cs.cinvestav.mx http: //delta.cs.cinvestav.mx/~ccoello

Más detalles

Algoritmos Genéticos.

Algoritmos Genéticos. Algoritmos Genéticos. Miguel Cárdenas Montes, Antonio Gómez Iglesias Centro de Investigaciones Energéticas Medioambientales y Tecnológicas, Madrid, Spain miguel.cardenas@ciemat.es 15-19 de Octubre de 2011

Más detalles

&$3Ì78/2 $/*25,7026 (92/87,926 $9$1=$'26 3$5$ 763 6.1. INTRODUCCIÓN

&$3Ì78/2 $/*25,7026 (92/87,926 $9$1=$'26 3$5$ 763 6.1. INTRODUCCIÓN &$3Ì78/2 6.1. INTRODUCCIÓN Los primeros avances para solucionar el TSP, por medio de Algoritmos Evolutivos han sido introducidos por Goldberg y Lingle en [68] y Grefenstette en [72]. En éste área muchos

Más detalles

Búsqueda Local. cbea (LSI-FIB-UPC) Inteligencia Artificial Curso 2011/2012 1 / 33

Búsqueda Local. cbea (LSI-FIB-UPC) Inteligencia Artificial Curso 2011/2012 1 / 33 Introducción Búsqueda Local A veces el camino para llegar a la solución no nos importa, buscamos en el espacio de soluciones Queremos la mejor de entre las soluciones posibles alcanzable en un tiempo razonable

Más detalles

Algoritmos Genéticos Y

Algoritmos Genéticos Y Algoritmos Genéticos Y Optimización n Heurística Dr. Adrian Will Grupo de Aplicaciones de Inteligencia Artificial Universidad Nacional de Tucumán awill@herrera.unt.edu.ar Operadores de Mutación El operador

Más detalles

Computación Evolutiva: Técnicas de Selección

Computación Evolutiva: Técnicas de Selección Computación Evolutiva: Técnicas de Selección Dr. Gregorio Toscano Pulido Laboratorio de Tecnologías de Información Centro de Investigación y de Estudios Avanzados del IPN Cinvestav-Tamaulipas Dr. Gregorio

Más detalles

Problemas indecidibles

Problemas indecidibles Capítulo 7 Problemas indecidibles 71 Codificación de máquinas de Turing Toda MT se puede codificar como una secuencia finita de ceros y unos En esta sección presentaremos una codificación válida para todas

Más detalles

Introducción a los Algoritmos Genéticos. Tomás Arredondo Vidal 17/4/09

Introducción a los Algoritmos Genéticos. Tomás Arredondo Vidal 17/4/09 Introducción a los Algoritmos Genéticos Tomás Arredondo Vidal 17/4/09 Esta charla trata de lo siguiente: Introducción a algunos aspectos de los algoritmos genéticos. Introducción a algunas aplicaciones

Más detalles

Desarrollo de un sistema capaz de optimizar rutas de entrega utilizando algoritmos genéticos

Desarrollo de un sistema capaz de optimizar rutas de entrega utilizando algoritmos genéticos MT 6 Desarrollo de un sistema capaz de optimizar rutas de entrega utilizando algoritmos genéticos Rosario Baltazar 1 Judith Esquivel Vázquez 2 Andrea Rada 3 Claudia Díaz 4 Resumen Durante los últimos 15

Más detalles

Algoritmos Genéticos

Algoritmos Genéticos Introducción a la Computación Evolutiva Tercera Clase: Algoritmos Genéticos Algoritmos Genéticos Desarrollados en USA durante los años 70 Autores principales: J. Holland, K. DeJong, D. Goldberg Aplicados

Más detalles

ALGORITMOS GENÉTICOS

ALGORITMOS GENÉTICOS Arranz de la Peña, Jorge Universidad Carlos III 100025106@alumnos.uc3m.es ALGORITMOS GENÉTICOS Parra Truyol, Antonio Universidad Carlos III 100023822@alumnos.uc3m.es En este documento se pretende analizar

Más detalles

Algoritmos Genéticos. Algoritmos Genéticos. Introducción a la Computación Evolutiva. Tercera Clase: Algoritmos Genéticos

Algoritmos Genéticos. Algoritmos Genéticos. Introducción a la Computación Evolutiva. Tercera Clase: Algoritmos Genéticos Introducción a la Computación Evolutiva Tercera Clase: Algoritmos Genéticos Algoritmos Genéticos Desarrollados en USA durante los años 70 Autores principales: J. Holland, K. DeJong, D. Goldberg Aplicados

Más detalles

[ Guía para recién llegados a los ALGORITMOS GENÉTICOS]

[ Guía para recién llegados a los ALGORITMOS GENÉTICOS] UVa Dpto. de Organización de Empresas Escuela de Ingenierías Industriales Elena Pérez www.eis.uva.es/elena [ Guía para recién llegados a los ALGORITMOS GENÉTICOS] El propósito de esta guía es dar soporte

Más detalles

Programación Genética

Programación Genética Programación Genética Programación Genética consiste en la evolución automática de programas usando ideas basadas en la selección natural (Darwin). No sólo se ha utilizado para generar programas, sino

Más detalles

EL DISEÑO FACTORIAL COMPLETO 2 k

EL DISEÑO FACTORIAL COMPLETO 2 k EL DISEÑO FACTORIAL COMPLETO 2 k Joan Ferré Grupo de Quimiometría y Cualimetría Departamento de Química Analítica y Química Orgánica Universidad Rovira i Virgili (Tarragona) INTRODUCCIÓN En el primer artículo

Más detalles

ALGORITMOS GENETICOS ÍNDICE

ALGORITMOS GENETICOS ÍNDICE ALGORITMOS GENETICOS ÍNDICE 1. Introducción 1.1 Antecedentes 1.2 Definición 1.3 Problemática 1.4 Ventajas y Desventajas 1.5 Limitaciones 1.6 Como saber si es posible usar un Algoritmo Genético 2. Extensiones

Más detalles

Algoritmos genéticos como métodos de aproximación analítica y búsqueda de óptimos locales

Algoritmos genéticos como métodos de aproximación analítica y búsqueda de óptimos locales Algoritmos genéticos como métodos de aproximación analítica y búsqueda de óptimos locales Jorge Salas Chacón A03804 Rubén Jiménez Goñi A93212 Juan Camilo Carrillo Casas A91369 Marco Vinicio Artavia Quesada

Más detalles

Algoritmos Genéticos Y

Algoritmos Genéticos Y Algoritmos Genéticos Y Optimización n Heurística Dr. Adrian Will Grupo de Aplicaciones de Inteligencia Artificial Universidad Nacional de Tucumán awill@herrera.unt.edu.ar Algoritmos Genéticos - Operadores

Más detalles

Métodos evolutivos de Optimización. Prof. Cesar de Prada Dpto. Ingeneiria de Sitemas y Automática Universidad de Valladolid

Métodos evolutivos de Optimización. Prof. Cesar de Prada Dpto. Ingeneiria de Sitemas y Automática Universidad de Valladolid Métodos evolutivos de Optimización Prof. Cesar de Prada Dpto. Ingeneiria de Sitemas y Automática Universidad de Valladolid Indice Introducción Método de Montecarlo Algoritmos genéticos Tabú Search Simulated

Más detalles

7. Conclusiones. 7.1 Resultados

7. Conclusiones. 7.1 Resultados 7. Conclusiones Una de las preguntas iniciales de este proyecto fue : Cuál es la importancia de resolver problemas NP-Completos?. Puede concluirse que el PAV como problema NP- Completo permite comprobar

Más detalles

Estructuras algebraicas

Estructuras algebraicas Tema 2 Estructuras algebraicas básicas 2.1. Operación interna Definición 29. Dados tres conjuntos A, B y C, se llama ley de composición en los conjuntos A y B y resultado en el conjunto C, y se denota

Más detalles

Un algoritmo genético híbrido para resolver el EternityII. Rico, Martin; Ros, Rodrigo Directora: Prof. Dra. Irene Loiseau

Un algoritmo genético híbrido para resolver el EternityII. Rico, Martin; Ros, Rodrigo Directora: Prof. Dra. Irene Loiseau Un algoritmo genético híbrido para resolver el EternityII Rico, Martin; Ros, Rodrigo Directora: Prof. Dra. Irene Loiseau Temas Temas Introducción Eternity II Historia Descripción Demo Metaheurísticas Algoritmos

Más detalles

Introducción a los Algoritmos Genéticos

Introducción a los Algoritmos Genéticos Introducción a los Algoritmos Genéticos Francisco José Ribadas Pena INTELIGENCIA ARTIFICIAL 5 Informática ribadas@uvigo.es 17 de octubre de 2005 c FJRP 2005 ccia IA Métodos de 8 < : 1 Introducción 9 =

Más detalles

Algoritmos Evolutivos

Algoritmos Evolutivos Algoritmos Evolutivos 2003-11-20 Cristóbal Romero, Pedro González y Sebastián Ventura 1.1 Introducción En general, cualquier tarea abstracta a realizar puede considerarse como la resolución de un problema

Más detalles

Matemáticas 2º BTO Aplicadas a las Ciencias Sociales

Matemáticas 2º BTO Aplicadas a las Ciencias Sociales Matemáticas 2º BTO Aplicadas a las Ciencias Sociales CONVOCATORIA EXTRAORDINARIA DE JUNIO 2014 MÍNIMOS: No son contenidos mínimos los señalados como de ampliación. I. PROBABILIDAD Y ESTADÍSTICA UNIDAD

Más detalles

Ejemplos de conversión de reales a enteros

Ejemplos de conversión de reales a enteros Ejemplos de conversión de reales a enteros Con el siguiente programa se pueden apreciar las diferencias entre las cuatro funciones para convertir de reales a enteros: program convertir_real_a_entero print

Más detalles

Apuntes de Matemática Discreta 7. Relaciones de Orden

Apuntes de Matemática Discreta 7. Relaciones de Orden Apuntes de Matemática Discreta 7. Relaciones de Orden Francisco José González Gutiérrez Cádiz, Octubre de 2004 Universidad de Cádiz Departamento de Matemáticas ii Lección 7 Relaciones de Orden Contenido

Más detalles

Tema 2. Espacios Vectoriales. 2.1. Introducción

Tema 2. Espacios Vectoriales. 2.1. Introducción Tema 2 Espacios Vectoriales 2.1. Introducción Estamos habituados en diferentes cursos a trabajar con el concepto de vector. Concretamente sabemos que un vector es un segmento orientado caracterizado por

Más detalles

Procesamiento Digital de Imágenes. Pablo Roncagliolo B. Nº 22. Algoritmos Genéticos. prb@2007 2

Procesamiento Digital de Imágenes. Pablo Roncagliolo B. Nº 22. Algoritmos Genéticos. prb@2007 2 Procesamiento Digital de Imágenes Pablo Roncagliolo B. Nº 22 prb@2007 2 1 El núcleo de cada célula humana contiene una base de datos química. Esta base de datos contiene todas las instrucciones que la

Más detalles

Métodos de promedios. Diplomado en Gestión Estratégica de las Finanzas Públicas MÉTODOS ESTADÍSTICOS PARA LA ESTIMACIÓN DE INGRESOS

Métodos de promedios. Diplomado en Gestión Estratégica de las Finanzas Públicas MÉTODOS ESTADÍSTICOS PARA LA ESTIMACIÓN DE INGRESOS MÉTODOS ESTADÍSTICOS PARA LA ESTIMACIÓN DE INGRESOS La estimación o proyección de ingresos futuros puede llevarse a cabo mediante diferentes métodos estadísticos de extrapolación, entre ellos: sistema

Más detalles

Curso: Métodos de Monte Carlo. Unidad 1, Sesión 2: Conceptos básicos

Curso: Métodos de Monte Carlo. Unidad 1, Sesión 2: Conceptos básicos Curso: Métodos de Monte Carlo. Unidad 1, Sesión 2: Conceptos básicos Departamento de Investigación Operativa Instituto de Computación, Facultad de Ingeniería Universidad de la República, Montevideo, Uruguay

Más detalles

Repaso de matrices, determinantes y sistemas de ecuaciones lineales

Repaso de matrices, determinantes y sistemas de ecuaciones lineales Tema 1 Repaso de matrices, determinantes y sistemas de ecuaciones lineales Comenzamos este primer tema con un problema de motivación. Problema: El aire puro está compuesto esencialmente por un 78 por ciento

Más detalles

Materia: Informática. Nota de Clases Sistemas de Numeración

Materia: Informática. Nota de Clases Sistemas de Numeración Nota de Clases Sistemas de Numeración Conversión Entre Sistemas de Numeración 1. EL SISTEMA DE NUMERACIÓN 1.1. DEFINICIÓN DE UN SISTEMA DE NUMERACIÓN Un sistema de numeración es un conjunto finito de símbolos

Más detalles

Espacios Vectoriales

Espacios Vectoriales Espacios Vectoriales Departamento de Matemáticas, CCIR/ITESM 4 de enero de 2 Índice 3.. Objetivos................................................ 3.2. Motivación...............................................

Más detalles

Redes de Kohonen y la Determinación Genética de las Clases

Redes de Kohonen y la Determinación Genética de las Clases Redes de Kohonen y la Determinación Genética de las Clases Angel Kuri Instituto Tecnológico Autónomo de México Octubre de 2001 Redes Neuronales de Kohonen Las Redes de Kohonen, también llamadas Mapas Auto-Organizados

Más detalles

FORMULACIÓN DE UN ALGORITMO GENÉTICO PARA EL PROBLEMA DE PROGRAMACIÓN DE ÓRDENES DE TRABAJO DE UNA EMPRESA DE ARTES GRÁFICAS

FORMULACIÓN DE UN ALGORITMO GENÉTICO PARA EL PROBLEMA DE PROGRAMACIÓN DE ÓRDENES DE TRABAJO DE UNA EMPRESA DE ARTES GRÁFICAS FORMULACIÓN DE UN ALGORITMO GENÉTICO PARA EL PROBLEMA DE PROGRAMACIÓN DE ÓRDENES DE TRABAJO DE UNA EMPRESA DE ARTES GRÁFICAS PROYECTO DE GRADO Javier mauricio gamboa salgado Código: 544004 John alexander

Más detalles

Capítulo IV ALGORITMOS GENÉTICOS

Capítulo IV ALGORITMOS GENÉTICOS Capítulo IV ALGORITMOS GENÉTICOS 4.1. INTRODUCCIÓN La estructura de un algoritmo genético simple se corresponde con la estructura de cualquier programa evolutivo (ver figura 1.1). Durante la iteración

Más detalles

ETSIINGENIO 2009 DIBUJO DE GRAFOS MEDIANTE ALGORITMOS GENÉTICOS

ETSIINGENIO 2009 DIBUJO DE GRAFOS MEDIANTE ALGORITMOS GENÉTICOS ETSIINGENIO 2009 DIBUJO DE GRAFOS MEDIANTE ALGORITMOS GENÉTICOS EtsiIngenio Inteligencia Artificial 1 Raposo López Alejandro Sánchez Palacios Manuel Resumen dibujo de grafos mediante algoritmos genéticos

Más detalles

Apuntes de Matemática Discreta 9. Funciones

Apuntes de Matemática Discreta 9. Funciones Apuntes de Matemática Discreta 9. Funciones Francisco José González Gutiérrez Cádiz, Octubre de 004 Universidad de Cádiz Departamento de Matemáticas ii Lección 9 Funciones Contenido 9.1 Definiciones y

Más detalles

Tema 3: Variables aleatorias y vectores aleatorios bidimensionales

Tema 3: Variables aleatorias y vectores aleatorios bidimensionales Estadística 38 Tema 3: Variables aleatorias y vectores aleatorios bidimensionales El concepto de variable aleatoria surge de la necesidad de hacer más manejables matemáticamente los resultados de los experimentos

Más detalles

CAPÍTULO 5 ANÁLISIS DE CONVERGENCIA DEL MÉTODO BINOMIAL AL MODELO DE BLACK & SCHOLES

CAPÍTULO 5 ANÁLISIS DE CONVERGENCIA DEL MÉTODO BINOMIAL AL MODELO DE BLACK & SCHOLES CAPÍTULO 5 ANÁLISIS DE CONVERGENCIA DEL MÉTODO BINOMIAL AL MODELO DE BLACK & SCHOLES Para la valuación de opciones hay dos modelos ampliamente reconocidos como son el modelo binomial y el modelo de Black

Más detalles

Ejemplo 1.2 En el capitulo anterior se demostró que el conjunto. V = IR 2 = {(x, y) : x, y IR}

Ejemplo 1.2 En el capitulo anterior se demostró que el conjunto. V = IR 2 = {(x, y) : x, y IR} Subespacios Capítulo 1 Definición 1.1 Subespacio Sea H un subconjunto no vacio de un espacio vectorial V K. Si H es un espacio vectorial sobre K bajo las operaciones de suma y multiplicación por escalar

Más detalles

RAID. Los detalles de las características segunda y tercera, cambian según los distintos niveles RAID. RAID 0 no soporta la tercera característica.

RAID. Los detalles de las características segunda y tercera, cambian según los distintos niveles RAID. RAID 0 no soporta la tercera característica. RAID Como se dijo anteriormente, el ritmo de mejora de prestaciones en memoria secundaria ha sido considerablemente menor que en procesadores y en memoria principal. Esta desigualdad ha hecho, quizás,

Más detalles

1.1. Introducción y conceptos básicos

1.1. Introducción y conceptos básicos Tema 1 Variables estadísticas Contenido 1.1. Introducción y conceptos básicos.................. 1 1.2. Tipos de variables estadísticas................... 2 1.3. Distribuciones de frecuencias....................

Más detalles

ESTIMACIÓN. puntual y por intervalo

ESTIMACIÓN. puntual y por intervalo ESTIMACIÓN puntual y por intervalo ( ) Podemos conocer el comportamiento del ser humano? Podemos usar la información contenida en la muestra para tratar de adivinar algún aspecto de la población bajo estudio

Más detalles

Sistema Incremental Generador de Oraciones y de Descodificación Lingüística. José Luciano Maldonado. luzmalvy@telcel.net.ve maldonaj@faces.ula.

Sistema Incremental Generador de Oraciones y de Descodificación Lingüística. José Luciano Maldonado. luzmalvy@telcel.net.ve maldonaj@faces.ula. Sistema Incremental Generador de Oraciones y de Descodificación Lingüística. José Luciano Maldonado. luzmalvy@telcel.net.ve maldonaj@faces.ula.ve Resumen: se describe la implementación experimental de

Más detalles

ANÁLISIS DE DATOS NO NUMERICOS

ANÁLISIS DE DATOS NO NUMERICOS ANÁLISIS DE DATOS NO NUMERICOS ESCALAS DE MEDIDA CATEGORICAS Jorge Galbiati Riesco Los datos categóricos son datos que provienen de resultados de experimentos en que sus resultados se miden en escalas

Más detalles

NORMA INTERNACIONAL DE AUDITORÍA 530 MUESTREO DE AUDITORÍA

NORMA INTERNACIONAL DE AUDITORÍA 530 MUESTREO DE AUDITORÍA NORMA INTERNACIONAL DE AUDITORÍA 530 MUESTREO DE AUDITORÍA (NIA-ES 530) (adaptada para su aplicación en España mediante Resolución del Instituto de Contabilidad y Auditoría de Cuentas, de 15 de octubre

Más detalles

Clase 2: Estadística

Clase 2: Estadística Clase 2: Estadística Los datos Todo conjunto de datos tiene al menos dos características principales: CENTRO Y DISPERSIÓN Los gráficos de barra, histogramas, de puntos, entre otros, nos dan cierta idea

Más detalles

Capitulo V Administración de memoria

Capitulo V Administración de memoria Capitulo V Administración de memoria Introducción. Una de las tareas más importantes y complejas de un sistema operativo es la gestión de memoria. La gestión de memoria implica tratar la memoria principal

Más detalles

Experimentos con un solo factor: El análisis de varianza. Jhon Jairo Padilla Aguilar, PhD.

Experimentos con un solo factor: El análisis de varianza. Jhon Jairo Padilla Aguilar, PhD. Experimentos con un solo factor: El análisis de varianza Jhon Jairo Padilla Aguilar, PhD. Experimentación en sistemas aleatorios: Factores Controlables Entradas proceso Salidas Factores No controlables

Más detalles

TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL

TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL 1. Electrónica Digital Antes de empezar en el tema en cuestión, vamos a dar una posible definición de la disciplina que vamos a tratar, así como su ámbito

Más detalles

construcción de programas Prof. Eliana Guzmán U.

construcción de programas Prof. Eliana Guzmán U. Unidad II. Metodología para la construcción de programas Prof. Eliana Guzmán U. Semestre: A-2015 Introducción Resolver un problema con una computadora conduce a la escritura de un programa y a su ejecución.

Más detalles

Clase 2: Estadística

Clase 2: Estadística Clase 2: Estadística Los datos Todo conjunto de datos tiene al menos dos características principales: CENTRO Y DISPERSIÓN Los gráficos de barra, histogramas, de puntos, entre otros, nos dan cierta idea

Más detalles

Métodos generales de generación de variables aleatorias

Métodos generales de generación de variables aleatorias Tema Métodos generales de generación de variables aleatorias.1. Generación de variables discretas A lo largo de esta sección, consideraremos una variable aleatoria X cuya función puntual es probabilidad

Más detalles

Definición 2.1.1. Se llama suceso aleatorio a cualquier subconjunto del espacio muestral.

Definición 2.1.1. Se llama suceso aleatorio a cualquier subconjunto del espacio muestral. Capítulo 2 Probabilidades 2. Definición y propiedades Al realizar un experimento aleatorio nuestro interés es obtener información sobre las leyes que rigen el fenómeno sometido a estudio. El punto de partida

Más detalles

Procesamiento Digital de Imágenes. Compresión de imágenes

Procesamiento Digital de Imágenes. Compresión de imágenes FICH, UNL - Departamento de Informática - Ingeniería Informática Procesamiento Digital de Imágenes Guía de Trabajos Prácticos 8 Compresión de imágenes 2010 1. Objetivos Analizar las características y el

Más detalles

2 Métodos combinatorios

2 Métodos combinatorios 2 Métodos combinatorios Las pruebas pueden aplicarse de muchas maneras, es decir, existen diferentes formas de preparar casos de prueba. En este capítulo se presentan dos formas de prueba muy fáciles de

Más detalles

Ejemplos: Sean los conjuntos: A = { aves} B = { peces } C = { anfibios }

Ejemplos: Sean los conjuntos: A = { aves} B = { peces } C = { anfibios } La Teoría de Conjuntos es una teoría matemática, que estudia básicamente a un cierto tipo de objetos llamados conjuntos y algunas veces, a otros objetos denominados no conjuntos, así como a los problemas

Más detalles

Universidad Simón Bolívar CO3121. Probabilidades para Ingenieros. Enero-Marzo 2010 Problemario I

Universidad Simón Bolívar CO3121. Probabilidades para Ingenieros. Enero-Marzo 2010 Problemario I Universidad Simón Bolívar CO3121. Probabilidades para Ingenieros. Enero-Marzo 2010 Problemario I 1. Supongamos que Ω = A B y P (A B) = 0.2. Hallar: (a) El máximo valor posible para P (B), de tal manera

Más detalles

ESCUELA POLITÉCNICA NACIONAL

ESCUELA POLITÉCNICA NACIONAL ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA OPTIMIZACIÓN DE CONTROLADORES DIGITALES PID EN SISTEMAS DINÁMICOS USANDO ALGORITMOS GENÉTICOS PROYECTO PREVIO A LA OBTENCIÓN

Más detalles

Apuntes de Inteligencia Artificial

Apuntes de Inteligencia Artificial PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR FACULTAD DE INGENIERÍA Apuntes de Inteligencia Artificial Algoritmos Genéticos JORGE AGUILAR JARAMILLO Algoritmos Genéticos 8 Algoritmos Genéticos 8.1 Introducción

Más detalles

3. ANÁLISIS ESTADÍSTICOS DE LAS PRECIPITACIONES EN EL MAR CASPIO

3. ANÁLISIS ESTADÍSTICOS DE LAS PRECIPITACIONES EN EL MAR CASPIO Análisis estadístico 31 3. ANÁLII ETADÍTICO DE LA PRECIPITACIONE EN EL MAR CAPIO 3.1. ANÁLII Y MÉTODO ETADÍTICO UTILIZADO 3.1.1. Introducción Una vez analizado el balance de masas que afecta al mar Caspio

Más detalles

5. DISTRIBUCIONES DE PROBABILIDADES

5. DISTRIBUCIONES DE PROBABILIDADES 5. DISTRIBUCIONES DE PROBABILIDADES Dr. http://academic.uprm.edu/eacunaf UNIVERSIDAD DE PUERTO RICO RECINTO UNIVERSITARIO DE MAYAGUEZ DISTRIBUCIONES DE PROBABILIDADES Se introducirá el concepto de variable

Más detalles

Métodos Heurísticos en Inteligencia Artificial

Métodos Heurísticos en Inteligencia Artificial Métodos Heurísticos en Inteligencia Artificial Javier Ramírez rez-rodríguez Ana Lilia Laureano-Cruces Universidad Autónoma Metropolitana Métodos Heurísticos en Inteligencia Artificial Los problemas de

Más detalles

UNIDAD I INTRODUCCIÓN A LOS CIRCUITOS LÓGICOS 1. ÁLGEBRA DE BOOLE 2. MÉTODO DE REDUCCIÓN DE MAPAS DE KARNAUGH 1-1. R. ESPINOSA R. y P. FUENTES R.

UNIDAD I INTRODUCCIÓN A LOS CIRCUITOS LÓGICOS 1. ÁLGEBRA DE BOOLE 2. MÉTODO DE REDUCCIÓN DE MAPAS DE KARNAUGH 1-1. R. ESPINOSA R. y P. FUENTES R. UNIDAD I INTRODUCCIÓN A LOS CIRCUITOS LÓGICOS. ÁLGEBRA DE BOOLE 2. MÉTODO DE REDUCCIÓN DE MAPAS DE KARNAUGH - . INTRODUCCIÓN A LOS CIRCUITOS LÓGICOS. ÁLGEBRA DE BOOLE. ÁLGEBRA DE BOOLE El álgebra de Boole

Más detalles

Representación de Datos. Una Introducción a los Sistemas Numéricos

Representación de Datos. Una Introducción a los Sistemas Numéricos Representación de Datos Una Introducción a los Sistemas Numéricos Tipos de Datos Datos Texto Número Imagen Audio Video Multimedia: Información que contiene números, texto, imágenes, audio y video. Como

Más detalles

VII. Estructuras Algebraicas

VII. Estructuras Algebraicas VII. Estructuras Algebraicas Objetivo Se analizarán las operaciones binarias y sus propiedades dentro de una estructura algebraica. Definición de operación binaria Operaciones como la suma, resta, multiplicación

Más detalles

Tema 3. Problemas de valores iniciales. 3.1. Teoremas de existencia y unicidad

Tema 3. Problemas de valores iniciales. 3.1. Teoremas de existencia y unicidad Tema 3 Problemas de valores iniciales 3.1. Teoremas de existencia y unicidad Estudiaremos las soluciones aproximadas y su error para funciones escalares, sin que ésto no pueda extenderse para funciones

Más detalles

Las Matemáticas En Ingeniería

Las Matemáticas En Ingeniería Las Matemáticas En Ingeniería 1.1. Referentes Nacionales A nivel nacional se considera que el conocimiento matemático y de ciencias naturales, sus conceptos y estructuras, constituyen una herramienta para

Más detalles

Fundamentos de Investigación de Operaciones Investigación de Operaciones 1

Fundamentos de Investigación de Operaciones Investigación de Operaciones 1 Fundamentos de Investigación de Operaciones Investigación de Operaciones 1 1 de agosto de 2003 1. Introducción Cualquier modelo de una situación es una simplificación de la situación real. Por lo tanto,

Más detalles

Introducción a la Teoría de Probabilidad

Introducción a la Teoría de Probabilidad Capítulo 1 Introducción a la Teoría de Probabilidad Para la mayoría de la gente, probabilidad es un término vago utilizado en el lenguaje cotidiano para indicar la posibilidad de ocurrencia de un evento

Más detalles

Determinación de primas de acuerdo al Apetito de riesgo de la Compañía por medio de simulaciones

Determinación de primas de acuerdo al Apetito de riesgo de la Compañía por medio de simulaciones Determinación de primas de acuerdo al Apetito de riesgo de la Compañía por medio de simulaciones Introducción Las Compañías aseguradoras determinan sus precios basadas en modelos y en información histórica

Más detalles

4.3 INTERPRETACIÓN ECONÓMICA DE LA DUALIDAD

4.3 INTERPRETACIÓN ECONÓMICA DE LA DUALIDAD 4.3 INTERPRETACIÓN ECONÓMICA DE LA DUALIDAD El problema de programación lineal se puede considerar como modelo de asignación de recursos, en el que el objetivo es maximizar los ingresos o las utilidades,

Más detalles

BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES

BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES El modelo relacional se basa en dos ramas de las matemáticas: la teoría de conjuntos y la lógica de predicados de primer orden. El hecho de que

Más detalles

UNIDAD 2 Configuración y operación de un sistema de cómputo Representación de datos Conceptos El concepto de bit (abreviatura de binary digit) es fundamental para el almacenamiento de datos Puede representarse

Más detalles

Subconjuntos destacados en la

Subconjuntos destacados en la 2 Subconjuntos destacados en la topología métrica En este capítulo, introducimos una serie de conceptos ligados a los puntos y a conjuntos que por el importante papel que juegan en la topología métrica,

Más detalles

Analisis de algoritmos

Analisis de algoritmos Analisis de algoritmos Eficiencia Es la capacidad de disponer de un recurso. En el caso de los algoritmos, la eficiencia se logra haciendo el mejor uso posible de los recursos del sistema. Recursos Qué

Más detalles

Apuntes de Microcontroladores (Repaso de temas previos)

Apuntes de Microcontroladores (Repaso de temas previos) Apuntes de Microcontroladores (Repaso de temas previos) Por M. C. Miguelangel Fraga Aguilar Enero 2015 Representaciones numéricas En estos apuntes se usara el posfijo b para denotar un número escrito en

Más detalles

Encuesta y Diseño de Formularios

Encuesta y Diseño de Formularios Dr. Oscar Caponi Encuesta y Diseño de Formularios Topics Dr. Edgardo Vitale Slide 1 Introducción Una de las mejores opciones de que se dispone en el mundo de la epidemiología para obtener información acerca

Más detalles

Selección usando Algoritmos

Selección usando Algoritmos Capítulo 3 Selección usando Algoritmos Genéticos 3.1. Introducción En esta sección se aborda el uso de Algoritmos Genéticos (GA del inglés Genetic Algorithms) para selección de características. Así como

Más detalles

FUNCIONES DE UNA VARIABLE Julián de la Horra Departamento de Matemáticas U.A.M.

FUNCIONES DE UNA VARIABLE Julián de la Horra Departamento de Matemáticas U.A.M. FUNCIONES DE UNA VARIABLE Julián de la Horra Departamento de Matemáticas U.A.M. 1 Introducción Una de las primeras necesidades que surgen en las Ciencias Experimentales es la de poder expresar los valores

Más detalles

Fundamentos de Investigación de Operaciones Investigación de Operaciones 1

Fundamentos de Investigación de Operaciones Investigación de Operaciones 1 Fundamentos de Investigación de Operaciones Investigación de Operaciones de agosto de 200. Estandarización Cuando se plantea un modelo de LP pueden existir igualdades y desigualdades. De la misma forma

Más detalles

Capítulo 7: Distribuciones muestrales

Capítulo 7: Distribuciones muestrales Capítulo 7: Distribuciones muestrales Recordemos: Parámetro es una medida de resumen numérica que se calcularía usando todas las unidades de la población. Es un número fijo. Generalmente no lo conocemos.

Más detalles

Tema 2. La Información y su representación

Tema 2. La Información y su representación Tema 2. La Información y su representación 2.1 Introducción. Un ordenador es una máquina que procesa información. La ejecución de un programa implica la realización de unos tratamientos, según especifica

Más detalles

CARTAS DE CONTROL: SU EFECTIVIDAD PARA DETECTAR CAMBIOS

CARTAS DE CONTROL: SU EFECTIVIDAD PARA DETECTAR CAMBIOS CARTAS DE CONTROL: SU EFECTIVIDAD PARA DETECTAR CAMBIOS MEDIANTE UN ENFOQUE POR CADENAS DE MARKOV ABSORBENTES Lidia Toscana - Nélida Moretto - Fernanda Villarreal Universidad Nacional del Sur, ltoscana@criba.edu.ar

Más detalles

Capítulo 10. Análisis descriptivo: Los procedimientos Frecuencias y Descriptivos

Capítulo 10. Análisis descriptivo: Los procedimientos Frecuencias y Descriptivos Capítulo 10 Análisis descriptivo: Los procedimientos Frecuencias y Descriptivos Al analizar datos, lo primero que conviene hacer con una variable es, generalmente, formarse una idea lo más exacta posible

Más detalles

La suma y la resta. Introducción. Capítulo

La suma y la resta. Introducción. Capítulo Capítulo II La suma y la resta Introducción En el capítulo anterior, vimos que los números permiten expresar la cantidad de objetos que tiene una colección. Juntar dos o más colecciones, agregar objetos

Más detalles

Fundamentos de Investigación de Operaciones Asignación y Vendedor Viajero

Fundamentos de Investigación de Operaciones Asignación y Vendedor Viajero Fundamentos de Investigación de Operaciones y Vendedor Viajero 23 de mayo de 2004 Si bien la resolución del problema de transporte mediante tableau parece ser muy expedita, existen ciertos tipos de problemas

Más detalles

UNIDAD DIDÁCTICA: ELECTRÓNICA DIGITAL

UNIDAD DIDÁCTICA: ELECTRÓNICA DIGITAL IES PABLO RUIZ PICASSO EL EJIDO (ALMERÍA) CURSO 2013-2014 UNIDAD DIDÁCTICA: ELECTRÓNICA DIGITAL ÍNDICE 1.- INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL 2.- SISTEMA BINARIO 2.1.- TRANSFORMACIÓN DE BINARIO A DECIMAL

Más detalles

Máster Universitario en Ingeniería de Caminos, Canales y Puertos Introducción al Análisis Numérico

Máster Universitario en Ingeniería de Caminos, Canales y Puertos Introducción al Análisis Numérico Máster Universitario en Ingeniería de Caminos, Canales y Puertos Introducción al Análisis Numérico Departamento de Matemática Aplicada Universidad Granada Introducción El Cálculo o Análisis Numérico es

Más detalles

CAPITULO 4 JUSTIFICACION DEL ESTUDIO. En este capítulo se presenta la justificación del estudio, supuestos y limitaciones de

CAPITULO 4 JUSTIFICACION DEL ESTUDIO. En este capítulo se presenta la justificación del estudio, supuestos y limitaciones de CAPITULO 4 JUSTIFICACION DEL ESTUDIO En este capítulo se presenta la justificación del estudio, supuestos y limitaciones de estudios previos y los alcances que justifican el presente estudio. 4.1. Justificación.

Más detalles

Introducción a los Algoritmos Genéticos

Introducción a los Algoritmos Genéticos Marcos Gestal Pose Depto. Tecnologías de la Información y las Comunicaciones Universidade da Coruña http://sabia.tic.udc.es/ mgestal mgestal@udc.es Índice 1. Introducción 2 2. Orígenes 2 3. Bases Biológicas

Más detalles

Naive Bayes Multinomial para Clasificación de Texto Usando un Esquema de Pesado por Clases

Naive Bayes Multinomial para Clasificación de Texto Usando un Esquema de Pesado por Clases Naive Bayes Multinomial para Clasificación de Texto Usando un Esquema de Pesado por Clases Emmanuel Anguiano-Hernández Abril 29, 2009 Abstract Tratando de mejorar el desempeño de un clasificador Naive

Más detalles

capitulo3 MARCO TEÓRICO Para el diseño de la reubicación de los procesos se hará uso de la Planeación

capitulo3 MARCO TEÓRICO Para el diseño de la reubicación de los procesos se hará uso de la Planeación capitulo3 MARCO TEÓRICO Para el diseño de la reubicación de los procesos se hará uso de la Planeación Sistemática de Layout, SLP por sus siglas en inglés. Se hará uso de la simulación para comparar el

Más detalles

UNIDADES DE ALMACENAMIENTO DE DATOS

UNIDADES DE ALMACENAMIENTO DE DATOS 1.2 MATÉMATICAS DE REDES 1.2.1 REPRESENTACIÓN BINARIA DE DATOS Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS. Los computadores sólo

Más detalles

CÁLCULO PARA LA INGENIERÍA 1

CÁLCULO PARA LA INGENIERÍA 1 CÁLCULO PARA LA INGENIERÍA 1 PROBLEMAS RESUELTOS Tema 3 Derivación de funciones de varias variables 3.1 Derivadas y diferenciales de funciones de varias variables! 1. Derivadas parciales de primer orden.!

Más detalles

Análisis por simulación de un sistema estocástico

Análisis por simulación de un sistema estocástico Análisis por simulación de un sistema estocástico José Carlos Cimorra Velilla David Ordóñez Arévalo ÍNDICE 1. Planteamiento del problema... 2 2. Modelo... 4 2.1 Diagrama de flujo... 4 2.2 Modelo de colas...

Más detalles

SIMULACION. Formulación de modelos: solución obtenida de manera analítica

SIMULACION. Formulación de modelos: solución obtenida de manera analítica SIMULACION Formulación de modelos: solución obtenida de manera analítica Modelos analíticos: suposiciones simplificatorias, sus soluciones son inadecuadas para ponerlas en práctica. Simulación: Imitar

Más detalles