1. Ramírez García Xochilt Duran García Natanael Instituto Tecnológico de Tijuana Maestría en Ciencias de la Computación Tipos de representación Algoritmos Genéticos Dr. Leonardo Trujillo
2. Computación Evolutiva 2 La computación evolutiva es una rama de la inteligencia artificial que involucra problemas de optimización. Se inspira en los mecanismos de la evolución biológica.
3. Codificación de problemas 3 Individuo: Un individuo determina una potencial solución del problema que se pretende resolver mediante el algoritmo genético. Los individuos pueden representarse como un conjunto de parámetros(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.
4. Codificación de Problemas 4 Cualquier solución potencial a un problema puede ser presentada dando valores a una serie de parámetros. El conjunto de todos los parámetros (genes) se codifica en una cadena de valores denominada cromosoma. El conjunto de los parámetros representado por un cromosoma particular recibe el nombre de genotipo. El genotipo contiene la información necesaria para la construcción del organismo, es decir, la solución real al problema, denominada fenotipo.
5. Codificación de Problemas 5 Desde los primeros trabajos de John Holland la codificación suele hacerse mediante valores binarios. Se asigna un determinado número de bits a cada parámetro y se realiza una discretización de la variable representada por cada gen. El numero de bits asignados dependerá del grado de ajuste que se desee alcanzar. Sin embargo, también pueden existir representaciones que codifiquen directamente cada parámetro con un valor entero, real o en punto flotante. Individuo genético binario
7. Representación 7 Durante los primeros años el tipo de representación utilizado era siempre binario, debido a que se adapta perfectamente al tipo de operaciones y el tipo de operadores que se utilizan en un algoritmo genético. Sin embargo, las representaciones binarias no son siempre efectivas por lo que se empezaron a utilizar otro tipo de representaciones[2]. Representación binaria: Cada gen es un valor 1 ó 0. 1 0 1 1 0 1 Representación entera: Cada gen es un valor entero. 1 0 3 -1 0 4 Representación real: Cada gen es un valor real. 1,78 2,6 7 0 -1,2 6,5
8. Ejemplo de Representación Binaria 8 Consideremos como se puede representar una cadena de bits para describir una restricción sobre un atributo. Atributo (Cielo) Valores (Soleado, nublado, lluvia)
9. Valores de los atributos 9 Colocar un 1 en alguna posición, indica que el atributo puede tomar el valor correspondiente. Por ejemplo, la cadena 010, representa la restricción cielo = nublado. De manera similar, la cadena 011 representa la restricción mas general cielo = nublado ∨ cielo = lluvia. El valor 111 representa la restricción mas general posible, indicando que no importa que valor tome el atributo cielo.
10. Un segundo Atributo 10 Consideremos un segundo atributo denominado “viento” Valores de Viento = Fuerte, Débil cielo viento 011 10
11. Post-Condiciones 11 Las post-condiciones, como jugar-tenis? = si, pueden representarse de la misma manera. La regla completa puede describirse concatenando también la cadena que representa la post-condición. Por ejemplo, la regla: Si viento = fuerte Entonces jugar-tenis? = si, puede representarse como: cielo viento jugar-tenis? 111 10 10
12. Representación en TSP “Problema del agente viajero (Travelling SalesmanProblem). 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. Representación de permutaciones Representación basada en trayectoria Representación matricial Representación basada en una lista de adyacencia” [1]. 12
13. Representación basada en permutación 13 El objetivo es encontrar el recorrido con n ciudades dadas teniendo una longitud mínima. El espacio de búsqueda para este problema es muy grande, hay (n-1)! diferentes rutas posibles para n ciudades dadas. Para n=30 hay aproximadamente 1032diferentesrutas. Se etiquetanlasciudadescomo n=1,2…n. Un viajecompletoesunapermutacion de ciudades.
14. Representación basada en permutación 14 Asi, para n=4 lasrutas (1234) y (3421) son validas. El punto de inicio de lasrutaspuede ser cualquiera, entonces (1234), (2341), (3412), (4321) y (4123) esequivalente. El valor del elemento de ithdenota la posición en la secuencia en la que el evento ocurre. Así, para las cuatro ciudades [ABCD], si tenemos la permutación [3124] la codificación se denota por [CABD].[3]
15. Representación basada en la trayectoria 15 Es la representación donde una ruta se representa como una lista de n ciudades. Si la ciudad i es el j-esimo elemento de la lista, la ciudad i es la j-esima ciudad a visitar. Así por ejemplo, la gira 3–2–4–1–7–5–8–6 se representara como: (3 2 4 1 7 5 8 6).
16. Representación matricial 16 Fox y McMahon (1987) representan una ruta como una matriz en la cual el elemento (i; j) de la misma vale 1, si y solo si, en la ruta la ciudad i se visita con anterioridad a la j. En caso contrario dicho elemento valdrá 0. Una manera de definir el cruce es por medio de un operador que construye un descendiente O,a partir de dos padres, P1 y P2, de la manera siguiente:
17. Representación matricial 17 A continuación, algunos 1-s que tan solo aparecen en uno de los padres se añaden al descendiente, para finalmente completarse la matriz de manera que el resultado sea una ruta legal. Por ejemplo, las rutas padres 2-3-1-4 y 2-4-1-3 que se representan por medio de las matrices:
18. Representación matricial 18 después de la primera fase da como resultado: Esta matriz puede completarse de 6 maneras diferentes, ya que la única restricción en la ruta descendiente es que comienza en la ciudad 2. Una posible gira descendiente es: 2-1-4-3, la cual se representa por medio de:
19. Representación matricial 19 Seniw (1991) define otra representación en la cual el elemento (i; j) de la matriz vale 1, si y solo si, en la gira la ciudad j se visita inmediatamente después de la ciudad i. La primera de ellas representa la gira 2-3-1-4, mientras que la segunda esta representando el conjunto de subgiras{1-2}, {3-4} .
21. Representación basada en una lista de adyacencia 21 En esta representación una ruta se representa como una lista de n ciudades. La ciudad j esta en la posición i-esima, si y solo si, la ruta va de la ciudad i a la j. Así por ejemplo, la lista de adyacencia (3 5 7 6 4 8 2 1) representa la ruta 1-3-7-2-5-4-6-8. Toda ruta tiene una única representación por medio de una lista de adyacencia. Sin embargo, una lista de adyacencia puede no representar una ruta. Así por ejemplo, (3 5 7 6 2 4 1 8) representa el siguiente conjunto de sub rutas: 1-3-7; 2-5; 4-6 y 8.
23. Referencias 23 [1]http://www.sc.ehu.es/ccwbayes/docencia/mmcc/docs/ temageneticos.pdf [2] Algoritmos genéticos para la resolución de problemas de Programación por Metas Entera. Aplicación a la Economía de la Educación. [3] IntroductiontoEvolutionary Computing, A. E. Eiben, J. E. Smith.