actividad 3 algoritmos genéticos
Post on 09-Jan-2016
72 Views
Preview:
DESCRIPTION
TRANSCRIPT
Actividad 3Actividad 3Algoritmos Algoritmos GenéticosGenéticos
Diapositivas de María Luz Carballo y Rubén Lunda, Diapositivas de María Luz Carballo y Rubén Lunda, parcialmente sobre ideas de John Holland y otrosparcialmente sobre ideas de John Holland y otros
Inte
lige
nci
a A
rtif
icia
l 1P
arte
II
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
OrigenOrigen
Los Algoritmos GenéticosLos Algoritmos Genéticos,, fueron fueron desarrollados por John H. Holland en desarrollados por John H. Holland en 1975 inspirándose en el proceso 1975 inspirándose en el proceso observado en la evolución natural de los observado en la evolución natural de los seres vivos.seres vivos.
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
DescripciónDescripción
Los Algoritmos Genéticos son métodos Los Algoritmos Genéticos son métodos estocásticos de búsqueda ciega. En estos, estocásticos de búsqueda ciega. En estos, se mantiene a una población que se mantiene a una población que representa a un conjunto de posibles representa a un conjunto de posibles soluciones, la cual es sometida a ciertas soluciones, la cual es sometida a ciertas transformaciones y a un proceso de transformaciones y a un proceso de selección a favor de los mejores selección a favor de los mejores candidatos.candidatos.
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
DescripciónDescripción
El objetivo principal de un AG, es El objetivo principal de un AG, es evolucionar a partir de una población de evolucionar a partir de una población de soluciones para un determinado problema, soluciones para un determinado problema, intentando producir nuevas generaciones intentando producir nuevas generaciones de soluciones que sean mejores que la de soluciones que sean mejores que la anterior.anterior.
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
AlgoritmoAlgoritmo1. [Inicio] Generar una población aleatoria con n cromosomas (posible 1. [Inicio] Generar una población aleatoria con n cromosomas (posible
solución)solución)2. [Aptitud] Evalúa la aptitud f(x) de cada cromosoma x en la población2. [Aptitud] Evalúa la aptitud f(x) de cada cromosoma x en la población3. [Nueva generación] Crea una nueva generación repitiendo estos pasos 3. [Nueva generación] Crea una nueva generación repitiendo estos pasos
hasta que la nueva generación este completahasta que la nueva generación este completa
1.[Selección] Selecciona 2 cromosomas padres de la población de 1.[Selección] Selecciona 2 cromosomas padres de la población de acuerdo a su aptitud (cuanto mas apto es, posee mayor posibilidad de acuerdo a su aptitud (cuanto mas apto es, posee mayor posibilidad de ser seleccionado)ser seleccionado)2.[Cruzamiento] con una probabilidad de cruzamiento, cruzar los padres 2.[Cruzamiento] con una probabilidad de cruzamiento, cruzar los padres para obtener los hijos. Si no existiera el cruzamiento, los hijos serian una para obtener los hijos. Si no existiera el cruzamiento, los hijos serian una copia de los padres.copia de los padres.3.[Mutación] reemplazar con cierta probabilidad el valor de un bit.3.[Mutación] reemplazar con cierta probabilidad el valor de un bit.4.[Aceptación] Ubica el nuevo descendiente en la nueva población4.[Aceptación] Ubica el nuevo descendiente en la nueva población
4. [Remplazar] Usar la nueva generación para correr el algoritmo4. [Remplazar] Usar la nueva generación para correr el algoritmo5. [Prueba] Si la condición final se satisface, se detiene, y devuelve la mejor 5. [Prueba] Si la condición final se satisface, se detiene, y devuelve la mejor
solución de la población actualsolución de la población actual6. [Loop] Ir a 26. [Loop] Ir a 2
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
GeneraciónGeneración
El primer paso en la implementación de un El primer paso en la implementación de un algoritmo genético es la generación de la algoritmo genético es la generación de la población inicialpoblación inicial. Generalmente se . Generalmente se representan mediante cadenas binarias de representan mediante cadenas binarias de longitud L que codifican el problema.longitud L que codifican el problema.
Cada cadena es llamada genotipo o Cada cadena es llamada genotipo o cromosomacromosoma..
Generalmente la población inicial es Generalmente la población inicial es creada de forma aleatoria.creada de forma aleatoria.
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
EvaluaciónEvaluación
Cada cadena es Cada cadena es evaluadaevaluada y se le y se le asigna un valor de asigna un valor de aptitudaptitud (fitness). (fitness).
La función de evaluación cuantifica la La función de evaluación cuantifica la performace respecto a ciertos performace respecto a ciertos parámetros.parámetros.
La función de aptitud transforma el La función de aptitud transforma el resultado en la posibilidad de resultado en la posibilidad de reproducción de esa cadena.reproducción de esa cadena.
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
SelecciónSelección
Son muestreos estocásticos, en los Son muestreos estocásticos, en los cuales se asigna una probabilidad a cuales se asigna una probabilidad a cada individuo que se cruzará en la cada individuo que se cruzará en la siguiente generación, basándose en siguiente generación, basándose en el valor de aptitud (fitness). el valor de aptitud (fitness).
Los criterios más usados en la Los criterios más usados en la práctica son: por ruleta, universal y práctica son: por ruleta, universal y por ranking.por ranking.
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
Selección por RuletaSelección por Ruleta
Cada cadena es representada por un Cada cadena es representada por un espacio que se corresponde espacio que se corresponde proporcionalmente a su valor de aptitud proporcionalmente a su valor de aptitud (fitness). Haciendo "girar la ruleta" (fitness). Haciendo "girar la ruleta" repetidas veces las cadenas son repetidas veces las cadenas son seleccionadas utilizando "muestreo seleccionadas utilizando "muestreo estocástico con repeticiones" para estocástico con repeticiones" para completar la población intermedia.completar la población intermedia.
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
Selección UniversalSelección Universal
Muestreo estocástico universal: La Muestreo estocástico universal: La población se ubica en un orden población se ubica en un orden aleatorio, representado por un espacio aleatorio, representado por un espacio proporcional a su valor de aptitud, proporcional a su valor de aptitud, luego se toma una "ruleta" con N luego se toma una "ruleta" con N cantidad de punteros separados por cantidad de punteros separados por espacios iguales. Haciendo "girar la espacios iguales. Haciendo "girar la ruleta" una sola vez, se obtienen los N ruleta" una sola vez, se obtienen los N miembros de la población intermedia.miembros de la población intermedia.
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
Selección por rankingSelección por ranking
Muchos tipos de selección pueden tener Muchos tipos de selección pueden tener problemas cuando existen grandes problemas cuando existen grandes diferencias entre los valores de aptitud diferencias entre los valores de aptitud (fitness). Por ejemplo, si el mejor (fitness). Por ejemplo, si el mejor cromosoma tiene un fitness igual al 90% de cromosoma tiene un fitness igual al 90% de la suma de todos los fitness, los otros la suma de todos los fitness, los otros cromosomas tienen muy poca probabilidad cromosomas tienen muy poca probabilidad de ser elegidos.de ser elegidos.
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
Selección por rankingSelección por ranking
Se realiza un ranking de la población y se le Se realiza un ranking de la población y se le da al peor cromosoma el valor de fitness 1, al da al peor cromosoma el valor de fitness 1, al segundo 2, etc. segundo 2, etc.
Ahora, todos los cromosomas tiene una Ahora, todos los cromosomas tiene una oportunidad de ser seleccionados; sin oportunidad de ser seleccionados; sin embargo, este método produce una embargo, este método produce una convergencia lenta, ya que los mejores convergencia lenta, ya que los mejores cromosomas no se diferencian mucho del cromosomas no se diferencian mucho del resto.resto.
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
Cruzamiento
1 # # 0 | 1 0 1 #
# 0 1 1 1 | # 0 # 1
= #0#1 | # 0 1 1 1
= 1 0 1 # | 1 # # 0
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
Cruzamiento Cruzamiento
Cruzamiento simple: un punto de cruce es Cruzamiento simple: un punto de cruce es seleccionado, desde el principio hasta el seleccionado, desde el principio hasta el punto de cruce es copiado del primer punto de cruce es copiado del primer padre, y el resto es copiado del otro padre.padre, y el resto es copiado del otro padre.
1100111001011+11011011+11011111111 = = 1100111111001111
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
CruzamientoCruzamiento
Dos puntos de cruzamiento: dos puntos son Dos puntos de cruzamiento: dos puntos son seleccionados, desde el principio del seleccionados, desde el principio del cromosoma hasta el primer punto de cruce es cromosoma hasta el primer punto de cruce es copiado del primer padre, de ahi hasta el copiado del primer padre, de ahi hasta el segundo punto de cruce es copiado del segundo segundo punto de cruce es copiado del segundo padre, y copia lo que le queda (desde el padre, y copia lo que le queda (desde el segundo punto de cruce hasta el final) de segundo punto de cruce hasta el final) de primer cromosomaprimer cromosoma
1111001000101111 + 11+ 110111011111 = 11 = 1101111111011111
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
CruzamientoCruzamiento
Cruzamiento Uniforme: copia bits al azar Cruzamiento Uniforme: copia bits al azar del primer padre y del segundodel primer padre y del segundo
1110100100101111 + + 11101011111101 = 01 = 1101111111011111
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
CruzamientoCruzamiento
Cruzamiento Aritmético: alguna Cruzamiento Aritmético: alguna operación aritmética es empleada operación aritmética es empleada para obtener al nuevo descendiente.para obtener al nuevo descendiente.
11001011 + 11011111 = 11001011 + 11011111 = 11001001 11001001 (AND) (AND)
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
MutaciónMutación
Inversión de bits: selecciona bits y Inversión de bits: selecciona bits y estos son invertidos (si era un 0 se estos son invertidos (si era un 0 se transforman en 1)transforman en 1)
1111001001 => 1001001 => 100001001 001001
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
ElitismoElitismo
Hay otro operador propuesto Hay otro operador propuesto originalmente en Alemania llamado originalmente en Alemania llamado elitismo, el cual consiste en elitismo, el cual consiste en mantener intacto a través de las mantener intacto a través de las generaciones al individuo más apto, generaciones al individuo más apto, por lo que no se cruza sino hasta que por lo que no se cruza sino hasta que surge otro individuo mejor que él. surge otro individuo mejor que él.
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
Algoritmos genéticos Algoritmos genéticos paralelosparalelos
La función de evaluación debe ser La función de evaluación debe ser relativamente rápida, pero en mucho relativamente rápida, pero en mucho casos, requiere un tiempo considerable.casos, requiere un tiempo considerable.
Se debe evaluar cada cromosoma.Se debe evaluar cada cromosoma. La evaluación se puede realizar de La evaluación se puede realizar de
manera concurrente para varios manera concurrente para varios cromosomas si se dispone de múltiples cromosomas si se dispone de múltiples procesadores y un canal de procesadores y un canal de comunicación.comunicación.
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
Algoritmos genéticos Algoritmos genéticos paralelosparalelos
Maestro/esclavoMaestro/esclavo Los cromosomas a evaluar se reparten entre
el número de procesadores disponibles. Los resultados se reportan al procesador
maestro que realiza todas las otras operaciones del algoritmo genético.
Sólo la evaluación se distribuye entre los diferentes procesadores, las operaciones restantes se efectúan de manera centralizada.
Esta implementación de algoritmos genéticos paralelos tiene la desventaja de hacer uso intensivo del canal de comunicación.
Maestro
Esclavos…
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
Algoritmos genéticos Algoritmos genéticos paralelosparalelos
de grano fino/gruesode grano fino/grueso En este tipo de algoritmos genéticos existen múltiples
poblaciones, tantas como procesadores se emplean. Cada procesador implementa el algoritmo completo
sobre una población ubicada en su espacio de memoria.
Las poblaciones evolucionan de manera independiente, hasta que un evento preestablecido acontece, y los mejores cromosomas de cada población emigran hacia las poblaciones vecinas y substituyen algunos de sus cromosomas.Grano Grueso Grano Fino
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
VentajasVentajas
No necesitan conocimientos específicos sobre el No necesitan conocimientos específicos sobre el problema que intentan resolver.problema que intentan resolver.
Operan de forma simultánea con varias soluciones, en Operan de forma simultánea con varias soluciones, en vez de trabajar de forma secuencial como las técnicas vez de trabajar de forma secuencial como las técnicas tradicionales.tradicionales.
Resulta fácil ejecutarlos en las modernas arquitecturas Resulta fácil ejecutarlos en las modernas arquitecturas masivas en paralelo.masivas en paralelo.
Usan operadores probabilísticos.Usan operadores probabilísticos. En problemas de optimización, se afectan menos por los En problemas de optimización, se afectan menos por los
máximos locales (falsas soluciones).máximos locales (falsas soluciones).
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
DesventajasDesventajas
Pueden tardar mucho en converger, o no Pueden tardar mucho en converger, o no converger en absoluto, dependiendo en cierta converger en absoluto, dependiendo en cierta medida de los parámetros que se utilicen medida de los parámetros que se utilicen (tamaño de la población, número de (tamaño de la población, número de generaciones, etc.)generaciones, etc.)
Pueden converger prematuramente debido a Pueden converger prematuramente debido a una serie de problemas de diversa índole.una serie de problemas de diversa índole.
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
UsosUsos
Parametrización de sistemas.Parametrización de sistemas. Búsqueda de reglas en juegos.Búsqueda de reglas en juegos. Enrutamientos.Enrutamientos. Resolución de sistemas de ecuaciones no lineales.Resolución de sistemas de ecuaciones no lineales. Optimización (estructural, de topologías, numérica, Optimización (estructural, de topologías, numérica,
combinatoria, etc.).combinatoria, etc.). Aprendizaje de máquina.Aprendizaje de máquina. Bases de datos (optimización de consultas).Bases de datos (optimización de consultas). Reconocimiento de patrones.Reconocimiento de patrones. Planeación de movimientos de robots.Planeación de movimientos de robots.
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
Ejemplo simpleEjemplo simple
En este ejemplo vemos En este ejemplo vemos como utilizando como utilizando algoritmos genéticos algoritmos genéticos podemos obtener un podemos obtener un circulo, partiendo de una circulo, partiendo de una serie de puntos al azar.serie de puntos al azar.
Luego de algunas Luego de algunas generaciones, generaciones, obtenemos:obtenemos:
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
Ejemplo simpleEjemplo simpleSe crea una población inicial aleatoria de una selección de soluciones (cromosomas).
Crear un estado inicial
aleatorio.
Evaluar la aptitud
("Fitness")
Reproducción (mutación de
hijos)
Nueva Generación
A cada solución se le asigna un valor de aptitud dependiendo de la cercanía a la respuesta del problema.
Los cromosomas con mayor valor de aptitud (fitness) son seleccionados para reproducirse (tambien pueden mutar luego de la reproducción). Esta composición consiste en una combinación de genes, este proceso se conoce como "crossing over".
Si la nueva generación contiene una solución cercana a la respuesta del problema, se termina el proceso; en caso contrario el proceso vuelve a comenzar.
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
Ejemplo simpleEjemplo simple
Este applet intenta desarrollar círculos.Este applet intenta desarrollar círculos. Este applet intenta dibujar 10 generaciones Este applet intenta dibujar 10 generaciones
en un segundo. El mejor individuo es en un segundo. El mejor individuo es dibujado en verde, el peor en rojo y el medio dibujado en verde, el peor en rojo y el medio en amarrillo. en amarrillo.
El Algoritmo Genético tiene una población de El Algoritmo Genético tiene una población de 50. 50. Los 10 peores se substituyen cada Los 10 peores se substituyen cada generación. Cada cromosoma una generación. Cada cromosoma una mutación de 1 bit en cada generación. El mutación de 1 bit en cada generación. El cromosoma es una cadena de 256 bits. cromosoma es una cadena de 256 bits. Cada byte en el cromosoma es un Cada byte en el cromosoma es un coordenada (16 pares de coordenadas). Los coordenada (16 pares de coordenadas). Los datos coordinados son cifrados en código de datos coordinados son cifrados en código de Gray para una evolución más fácil. Estos Gray para una evolución más fácil. Estos ajustes no son óptimos.ajustes no son óptimos.
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
Ejemplo simpleEjemplo simpleArreglo de bytes.
Clase chromo
Instancia de la clase Random, que genera una secuancia de números pseudoaleatorios.
Valor de aptitud.
Tabla que convierte un byte codificado en Gray en un byte binario.
Constructor aleatorio que completa los puntos del círculo con valores aleatorios.Constructor para clonar un cromosoma.Crea un hijo utilizando un punto de crossover
El cromosoma es almacenado como código de Gray. Este número tiene la propiedad de incrementar o decrementarse cambiando un sólo bit. Esto facilita la mutación ya que sino, para incrementar el 63 -> 64 requeriría cambiar 6 bits.
Calcula la distancia ordinal.
Cambia el bit.Para definir a circunsferencia:Busca los puntos que esten mas alejados uno de otros y que no superen cierto margen de error permitido
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
Ejemplo simpleEjemplo simple
Inicializa el ThreadDestruye el ThreadReinicia el ThreadInicia el Thread
Detiene el Thread
Crea una instacia de la Clase Thread.
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
Ejemplo simpleEjemplo simple
public chromo() { points = new byte[32]; r.nextBytes(points); calc_fitness(); }
Crear un estado inicial
aleatorio.
Evaluar la aptitud
("Fitness")
Reproducción (mutación de
hijos)
Nueva Generación
Extractos del código donde se implementan los pasos de todo algoritmo genético
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
Ejemplo simpleEjemplo simplepublic void calc_fitness() { float fit = 0; int i; // distancia entre los puntos vecinosfor (i=0; i < 30; i += 2) fit += distance(ungray(i),
ungray(i+1), ungray(i+2), ungray(i+3));
fit += distance(ungray(30), ungray(31), ungray(0), ungray(1));for (i=0; i < 16; i+=2) fit += distance2(ungray(i),
ungray(i+1), ungray(i+16),
ungray(i+17)); fitness = fit; }
Crear un estado inicial
aleatorio.
Evaluar la aptitud
("Fitness")
Reproducción (mutación de
hijos)
Nueva Generación
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
Ejemplo simpleEjemplo simple
MUTACIÓN: public void mutate() { int bit = r.nextInt() & 255; int bite = bit >> 3; bit = bit & 7; byte mask = (byte)(0x1 << bit); points[bite] ^= mask; }
Crear un estado inicial
aleatorio.
Evaluar la aptitud
("Fitness")
Reproducción (mutación de
hijos)
Nueva Generación
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
Ejemplo simpleEjemplo simpleCRUCE DE LOS CROMOSOMAS
public chromo(chromo mum, chromo dad) {int bit = r.nextInt() & 255; int bite = bit >> 3;byte mask = (byte)(0xff >> (bit & 7)); int i; points = new byte[32]; for (i=0; i<bite; i++) points[i] = mum.points[i]; points[bite] = (byte)((dad.points[bite] & mask) | (mum.points[bite] & (~mask))); for (i=bite+1; i<32; i++) points[i] = dad.points[i]; calc_fitness(); }}
Crear un estado inicial
aleatorio.
Evaluar la aptitud
("Fitness")
Reproducción (mutación de
hijos)
Nueva Generación
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
Ejemplo simpleEjemplo simple
Práctica:Práctica: Identificar cual es el applet.Identificar cual es el applet. Identificar cuantos cromosomas se están Identificar cuantos cromosomas se están
utilizando en este ejemplo.utilizando en este ejemplo. Identificar la longitud de los cromosomas.Identificar la longitud de los cromosomas. ¿Qué código extraño utiliza? ¿Por qué cree que ¿Qué código extraño utiliza? ¿Por qué cree que
se utilizo?se utilizo? ¿Qué algoritmo de cruzamiento utiliza? ¿Cómo ¿Qué algoritmo de cruzamiento utiliza? ¿Cómo
se dio cuenta?se dio cuenta? Cambiar el algoritmo de cruce por el de dos Cambiar el algoritmo de cruce por el de dos
puntospuntos
Inteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda RubenInteligencia Artificial I – FASTA - AI Carballo M. Luz – AI Lunda Ruben
BibliografíaBibliografía
Implementación de algoritmos genéticos paralelos de grano burdo en redes locales de computadoras. -Arturo Gómez Cortés y Raúl Leal Ascencio
A Genetic Algorithm Tutorial – Darrell Whiltley Algoritmos Genéticos en Paralelo de Grano Fino -
http://www.acm.org/crossroads/espanol/xrds8-3/fineGrained.html
Introduction to Genetic Algorithm - http://cs.felk.cvut.cz/~xobitko/ga/
Practical Artificial Itelligence Progamming in Java – Marrck Watson
A Genetic Algorithm Demo - http://oldeee.see.ed.ac.uk/~rjt/ga.html
top related