SlideShare una empresa de Scribd logo
1 de 11
Introducción a la Computación Evolutiva
Facultad de Cs. Exactas, Universidad Nacional del Centro de la Pcia. de Buenos Aires

       Trabajo Práctico para Cursada 2010 - Profesora: Dra. Virginia Yanibelli

Alumno: Martín Ignacio Pacheco, L.U.: 245214, {mpacheco@alumnos.exa.unicen.edu.ar}
Contenido
Resumen ................................................................................................................................. 2

1.     Introducción.................................................................................................................... 2

2.     Solución Algorítmica...................................................................................................... 4
     2.1.     Representación de las soluciones .......................................................................... 4

     2.2.     Función de fitness ................................................................................................... 6

     2.3.     Proceso de generación de la población inicial ...................................................... 7

     2.4.     Proceso de selección de los padres ........................................................................ 7

     2.5.     Operadores de cruce genético ................................................................................ 8

     2.6.     Operadores de mutación genética ......................................................................... 9

     2.7.     Proceso de reinserción ............................................................................................ 9

3.     Conclusiones ................................................................................................................. 10



Índice de figuras

Figura 1 - Movimientos validos de la dama. ........................................................................ 2

Figura 2 - Estructura general del algoritmo genético. ......................................................... 4

Figura 3 – Ejemplo de la representación en un tablero de 4 x 4. ........................................ 5

Figura 4 - Representación de los conceptos biológicos. ...................................................... 6

Figura 5 - Esquema de selección. .......................................................................................... 7

Figura 6 - Ejemplo de cruce genético. ................................................................................... 8

Figura 7 - Ejemplo sin mutación. .......................................................................................... 9




                                                                    1
Resumen

El presente es un trabajo práctico para la aprobación de la cursada de la materia
optativa Introducción a la Computación Evolutiva. El objetivo del mismo consiste en
presentar una solución al problema de las n-reinas mediante el diseño de un algoritmo
evolutivo.

1. Introducción

El problema de las n-reinas propuesto en el siglo XIX se ha transformado en un
estándar para probar algoritmos de resolución heurísticos.

Este problema consiste en colocar n reinas de ajedrez en un tablero de n por n casillas,
de tal manera que ninguna de ellas pueda atacar a otra usando los movimientos del
juego-ciencia provistos para esta pieza.

Recordar que la reina se puede mover en el tablero en forma horizontal, vertical y
diagonal la cantidad de escaques deseados, como se observa en la figura 1.




                        Figura 1 - Movimientos validos de la dama.

Este tipo de problema es fácil de abordar con los algoritmos que se podrían denominar
como “clásicos”. Un ejemplo son los recursivos o de tipo voraz (Greedy, Backtracking,
etc), sin embargo hay otro tipo de problemas mucho mas complicados como los NP
completos cuya complejidad crece con el tamaño del problema de forma exponencial
(por ejemplo O (2n), O (n!), …).

Debido a su elevada complejidad deben ser resueltos en una cantidad de tiempo
razonable empleando métodos heurísticos. Los algoritmos evolutivos son métodos de
este estilo muy poderosos, capaces de realizar búsquedas en grandes espacios de
soluciones de forma muy eficiente.

El algoritmo evolutivo que se propone es un algoritmo genético, debido a que la
representación de las soluciones candidatas es más favorable, ya que evita ciertos
conflictos que se explicaran mas adelante. Además han demostrado tener una buena


                                            2
heurística para problemas combinatorios. Como contrapartida es que no son
demasiado veloces.

¿Qué es un algoritmo genético?

Pueden verse como una familia de procedimientos de búsqueda adaptativos. Están
basados en modelos de cambio genético en una población de individuos. Es decir, que
un algoritmo genético      es una técnica de programación que imita a la evolución
biológica como estrategia para resolver problemas.

Esto es:

       Evolución Darwiniana: El éxito de los individuos en el ambiente depende de
       cuan bien se adaptan al ambiente (aptitud o fitness).
       Apareamiento o cruzamiento que produce descendientes en              generaciones
       futuras.
       Operadores genéticos que determinan la configuración genética de los
       descendientes.

Como entrada el algoritmo genético serán un conjunto de soluciones potenciales del
problema a resolver que estarán codificadas de alguna manera. Se tiene una función de
fitness que permite evaluar cada solución candidata y se obtiene un resultado
cuantitativo de aptitud.

Las soluciones mas aptas se conservan y se les permite reproducirse. Luego se
producen copias de ellas que no son perfectas, es decir que se les producen cambios
aleatorios durante este proceso de copia. Estas a su vez generaran una descendencia
para la próxima generación que serán sometidas a una evaluación de aptitud. Este
proceso se repite con cada generación.

La idea es que la aptitud media (fitness medio) vaya mejorando a lo largo de las
generaciones en las cuales se pueden producir soluciones muy novedosas como la
encontrada a las estructuras de los satélites para sostener las antenas de transmisión.

Esto parece anti intuitivo, pero los algoritmos genéticos han demostrado ser una
estrategia muy poderosa y exitosa para resolver problemas y también encontrar
soluciones muy peculiares.




                                            3
2. Solución Algorítmica

El esquema general de ejecución del algoritmo genético a usar se puede observar en la
figura 2.


                                     Inicializar Población            Inicialización



                                      Seleccionar Padres              Selección



                                          Crear Hijos                 Cruce



                                         Mutar Hijos                  Mutación
   Generación n + 1


                                Insertar Hijos en la Población        Inserción




                         No              ¿Condición              Si    Devolver el mejor
                                          de Corte?                        individuo


                  Figura 2 - Estructura general del algoritmo genético.

En un principio se inicializa el algoritmo con una población con diversas soluciones
(validas o no) creadas aleatoriamente lo que permite tener una diversidad de
individuos.

Después se seleccionan algunos padres que tendrán hijos. A su vez los hijos podrán
tener o no pequeñas mutaciones permitiendo explorar nuevos lugares en el espacio de
soluciones.

La nueva generación de individuos estará conformada por hijos y padres (abuelos a
partir de la tercera iteración) y se volverá a repetir este mecanismo evolutivo hasta que
se cumpla una cierta condición de aptitud o cantidad de generaciones limite.

A continuación se explicaran más detalladamente las funciones que le competen a cada
etapa del algoritmo.

2.1. Representación de las soluciones




                                              4
Como cada reina debe estar en una columna o fila diferente se puede asumir que cada
reina se colocara en una columna distinta. Es decir, que la reina i se situara en la
columna i. Con esto se evita que no se ataquen por las columnas.

Ahora para evitar que se ataquen vía alguna fila cada una deberá estar en una fila
distinta. Por lo tanto la mejor forma de representar esto en con una estructura de
ventores de tamaño n. Cada posición del vector se corresponderá a cada columna
mientras que el valor que contiene dicha posición es la fila correspondiente en donde
se posiciona la dama dentro de esa columna. En la figura 3 se pueden observar como
es el mapeo de esta idea con un par de ejemplos en un tablero de 4 por 4.




                                  Tablero 1           Tablero 2
                                  [1, 4, 2, 3]        [3, 1, 4, 2]
                   Figura 3 – Ejemplo de la representación en un tablero de 4 x 4.


Entonces teniendo en cuenta esta representación, el espacio de soluciones, en donde el
conflicto sobre las filas y las columnas se ha eliminado, debe ser encontrado para poder
eliminar los conflictos que surgen producto de las diagonales. Serán soluciones
incorrectas aquellas en donde las reinas se ataquen diagonalmente unas con otras.

Cada vector de solución se compone de una permutación de números enteros que van
desde 1 a n. En el ejemplo de la figura 3 serian permutaciones de los números enteros 1,
2, 3 y 4.

Aquí podemos decir que el espacio fenotípico queda definido por el tablero con las
damas y el espacio genotípico esta definido por el vector. Este vector conforma el
cromosoma de una solución que a su vez esta compuesta como una combinación de
genes cuya combinación es única y que podría verse como el ADN de cada individuo.
Para esto ultimo teniendo en cuenta que no se generan vectores repetidos. El valor del
gen podríamos verlo como alelo.

Tener un cromosoma aislado no brinda mucha información por ello es necesario un
proceso de decodificación, ya que primero se codifica el cromosoma del individuo. Es
decir, biológicamente lo trato como cromosoma en el algoritmo, pero si lo quiero ver
debo decodificarlo para llevarlo a espacio fenotípico.



                                               5
Esta analogía entre conceptos biológicos y conceptos computacionales se resume mejor
en la figura 4.


                   Espacio Genotípico                     Espacio Fenotípico

                      Codificación                          Decodificación




           1      4       2      3

                                     Alelo
                          Gen

       Cromosoma


                  Figura 4 - Representación de los conceptos biológicos.



2.2. Función de fitness

Con la representación explicada previamente se eliminaron conflictos en las filas y
columnas. Por tanto las soluciones incorrectas serán aquellas en las cuales se
produzcan amenazas entre las damas en las diagonales.

De esta manera una función de aptitud de los individuos podría ser la cantidad de
conflictos de este contiene. Lo ideal es que se tengan cero conflictos entonces cuanto
mas cercano a cero sea menos incorrecta será la aptitud.

De acuerdo a la representación planteada en el punto anterior y considerando en
vector genotípico [R1, R2,…, Ri, Ri+1,..., Rj,…, Rn] la reina (también llamada dama en la
jerga ajedrecística) en la posición i y la reina de la posición j compartirán una diagonal
si:



                                              o



Lo que se reduce a considerar:



De esta manera se pude ver si ocurre o no un conflicto entre la dama en Ri y la dama en
Rj.

                                              6
Entonces el fitness a considerar será el fitness medio de cada generación.

2.3. Proceso de generación de la población inicial

Para la creación de la población inicial se utiliza una matriz cuyo tamaño será de la
cantidad de reinas por la cantidad de individuos iniciales con el que se desean partir
desde un principio.

Para la generación de los cromosomas se usaran números aleatorios enteros dentro del
rango establecido al número de reinas. En este paso no se contemplaran números
repetidos en los cromosomas.

2.4. Proceso de selección de los padres

EL proceso de selección de padres se decidió utilizar la selección por torneo. En esta se
eligen subgrupos de individuos de la población, y los miembros de cada subgrupo
compiten entre ellos. Luego se elige a un solo individuo de cada subgrupo para la
reproducción.

Se cree más apto este mecanismo de selección porque brinda más diversidad en la
población lo que permite a su vez los máximos locales en lo que seria la superficie
adaptativa. Para este problema de las n-reinas seria una línea adaptativa si se puede
llamar de esta manera.

Entonces se elige un 80 % de la población actual para seleccionar a los padres. Después
se generas subgrupos de cromosomas de dos individuos (torneo de tamaño 2) de los
cuales solo quedara el más apto, es decir, el que tiene mayor nivel de fitness. De cada
torneo se elegirá un solo cromosoma por grupo para realizar el cruce.

En la figura 5 se puede observar un esquema del mecanismo de selección.




     1            4                    1
                                              4                                 4
             10           5       3
2                                      10                                                9
                                                  5                9    4
                                                                                1ro
                  7       6       7                                                     2do
3                                             6
                                        9
         8            9


    Población actual             Selección del 80 %               Torneo de 2       Ganó el
                                                              concursantes      individuo 4

                               Figura 5 - Esquema de selección.




                                             7
2.5. Operadores de cruce genético

Esta parte consiste en el intercambio de material genético entre dos cromosomas.

En el caso de emparejar dos individuos de los mismos padres no sucedería nada; esto
garantizaría que se propaguen individuos con buena aptitud. Sin embargo, si esto
sucede muy a menudo puede crear problemas. Puede suceder que toda una generación
de descendientes quede dominada por algún gen, que además puede tener
características no deseadas o que van en contra del objetivo que se desea alcanzar.

El intercambio genético se llevara a cabo por cruce en un punto. Este punto se elegirá
en forma aleatoria. Posteriormente se intercambian entre ambos cromosomas el
material genético a la derecha de dicho punto.

Adicionalmente se tiene otro parámetro probabilístico que indica con que frecuencia se
va a aplicar el cruce genético. La frecuencia de este operador deberá estar en función
del problema.

En general la frecuencia del operador no varia durante la ejecución del algoritmo, sin
embargo hay que tener presente que cada uno de los operadores en más efectivo en un
momento determinado de la ejecución.

Para este problema se propone una probabilidad de cruce de 0,8 ya que este operador
es mas predominante en la evolución. En la figura 6 se puede ver un ejemplo de
mutación con un punto de cruce. Tener en cuenta que el cromosoma generado no es
valido, sino que es a modo de ejemplo del funcionamiento del cruce.




                [1, 4, 2, 3]       [3, 1, 4, 2]                        [1, 4, 4, 2]


                               Figura 6 - Ejemplo de cruce genético.




                                                  8
2.6. Operadores de mutación genética

En la teoría de la evolución la mutación es un suceso poco común. Suele suceder una
de cada mil replicaciones. Es verdad, que una mutación puede resultar fatal, pero como
contra partida provoca diversidad genética sin ser letal. La mutación actúa sobre un
único cromosoma produciendo una modificación valida.

La diversidad puede venir bien cuando el algoritmo genético tiende a estancarse (ver
ejemplo de la figura 7), pero también reduciría al algoritmo genético a una búsqueda
aleatoria.

Otras formas de evitar, si se desea, la mutación es aumentar el tamaño de la población
o garantizar aleatoriedad en la población inicial; donde esto último es lo que se
propuso.

Por las características mencionadas hasta aquí sobre la mutación y teniendo en cuenta
el problema en particular, se cree que es mejor usar la variante de mutación que realiza
el intercambio de dos genes aleatorios. De esta manera se evita aumentar la
probabilidad de que surjan duplicados. Esto con una probabilidad pequeña del 0,2
puesto que las mutación surgen muy pocas con respecto al cruce.


                       Sin mutación no se llegaría a una solución




       Individuo 1         Individuo 2             Individuo 3       Individuo n

                              Figura 7 - Ejemplo sin mutación.



2.7. Proceso de reinserción

Cuando arranca el algoritmo se tiene una población inicial definida de ante mano.
Luego de aplicar los operadores genéticos anteriores la población crece en número
dado que se cruzaron, es decir, hay más cantidad de cromosomas.

Para realizar la re inserción se realiza un ranking por fitness de los mejores individuos
y se seleccionan los n mejores individuos, con n igual al tamaño de población definida
inicialmente.


                                              9
3. Conclusiones

He podido observar que la principal ventaja de los algoritmos genéticos radica en su
sencillez. Se requiere poca información sobre el espacio de búsqueda ya que se trabaja
sobre un conjunto de soluciones o parámetros codificados. Una de las desventajas
puede ser que se necesite mucho ensayo de prueba y error para adquirir experiencia;
también en lograr un buen diseño de la función de fitness.

Se busca una solución por aproximación de la población, en lugar de una aproximación
punto a punto. Con un control adecuado se puede mejorar la aptitud media de la
población, obteniendo nuevos y mejores individuos y por ende mejores soluciones.

Otro aspecto interesante de los algoritmos es la relación que hay entre la eficiencia y la
eficacia. Ya que manipulando los parámetros y operadores del algoritmo permite
balancear el equilibrio que hay en esta relación.

Principalmente lo que mas me motivo de la materia es que contiene temas que nunca
había tratado (computacionalmente hablando) ya que los problemas se encaran desde
una postura distinta a los que se ven a lo largo de las cursadas obligatorias donde se
ven algoritmos mas clásicos.




                                            10

Más contenido relacionado

Destacado

Too many secrets_light_1
Too many secrets_light_1Too many secrets_light_1
Too many secrets_light_1ticoiescla
 
Apunte Algoritmos Geneticos
Apunte Algoritmos GeneticosApunte Algoritmos Geneticos
Apunte Algoritmos GeneticosESCOM
 
Análise da implementação de algoritmo genético na função de Griewank com para...
Análise da implementação de algoritmo genético na função de Griewank com para...Análise da implementação de algoritmo genético na função de Griewank com para...
Análise da implementação de algoritmo genético na função de Griewank com para...Anderson Rodrigo Barretto Teodoro
 
Fundamentos da Inteligencia Artificial :: Prof Dr. Carlos Estombelo
Fundamentos da Inteligencia Artificial :: Prof Dr. Carlos EstombeloFundamentos da Inteligencia Artificial :: Prof Dr. Carlos Estombelo
Fundamentos da Inteligencia Artificial :: Prof Dr. Carlos EstombeloRogerio P C do Nascimento
 
Administracion de proyectos
Administracion de proyectosAdministracion de proyectos
Administracion de proyectosinstituto
 
Daniels Gate Clients Home
Daniels Gate Clients HomeDaniels Gate Clients Home
Daniels Gate Clients Homecyndifyke
 
Презентация проекта Циклы в нашей жизни
Презентация проекта Циклы в нашей жизниПрезентация проекта Циклы в нашей жизни
Презентация проекта Циклы в нашей жизниgalina_pr
 
Taking friction out of banking white paper - US
Taking friction out of banking white paper - USTaking friction out of banking white paper - US
Taking friction out of banking white paper - USNils Mork-Ulnes
 
Towards a Reputation Economy: How Openness and Transparency Become a Central ...
Towards a Reputation Economy: How Openness and Transparency Become a Central ...Towards a Reputation Economy: How Openness and Transparency Become a Central ...
Towards a Reputation Economy: How Openness and Transparency Become a Central ...Robert J. Stein
 
Tips on Saving Money on Diapers: An Infographic
Tips on Saving Money on Diapers: An InfographicTips on Saving Money on Diapers: An Infographic
Tips on Saving Money on Diapers: An InfographicDiaper Buys
 
The Bad Idea Terminator - QCon London 2015
The Bad Idea Terminator - QCon London 2015The Bad Idea Terminator - QCon London 2015
The Bad Idea Terminator - QCon London 2015Melissa Perri
 
Is social media as powerful as we think
Is social media as powerful as we thinkIs social media as powerful as we think
Is social media as powerful as we thinkRachael Nagelberg
 
Recruiter Next Generation - A ferramenta de recrutamento do LinkedIn
Recruiter Next Generation - A ferramenta de recrutamento do LinkedInRecruiter Next Generation - A ferramenta de recrutamento do LinkedIn
Recruiter Next Generation - A ferramenta de recrutamento do LinkedInLinkedIn
 
Digital marketing and the music entrepreneur 2011
Digital marketing and the music entrepreneur 2011Digital marketing and the music entrepreneur 2011
Digital marketing and the music entrepreneur 2011Digital Consultant
 
New York Town Hall Value Added - VARC
New York Town Hall Value Added - VARCNew York Town Hall Value Added - VARC
New York Town Hall Value Added - VARCNWEA
 
Presentation resotel legrand RESOTEL
Presentation resotel legrand RESOTELPresentation resotel legrand RESOTEL
Presentation resotel legrand RESOTELAchille Enone
 
DAVID-CAMERON-IS-A-C-WORD
DAVID-CAMERON-IS-A-C-WORDDAVID-CAMERON-IS-A-C-WORD
DAVID-CAMERON-IS-A-C-WORDFay Longley
 
JavaOne 2016 -Emerging Web App Architectures using Java and node.js
JavaOne 2016 -Emerging Web App Architectures using Java and node.jsJavaOne 2016 -Emerging Web App Architectures using Java and node.js
JavaOne 2016 -Emerging Web App Architectures using Java and node.jsSteve Wallin
 

Destacado (20)

Too many secrets_light_1
Too many secrets_light_1Too many secrets_light_1
Too many secrets_light_1
 
Apunte Algoritmos Geneticos
Apunte Algoritmos GeneticosApunte Algoritmos Geneticos
Apunte Algoritmos Geneticos
 
Análise da implementação de algoritmo genético na função de Griewank com para...
Análise da implementação de algoritmo genético na função de Griewank com para...Análise da implementação de algoritmo genético na função de Griewank com para...
Análise da implementação de algoritmo genético na função de Griewank com para...
 
Fundamentos da Inteligencia Artificial :: Prof Dr. Carlos Estombelo
Fundamentos da Inteligencia Artificial :: Prof Dr. Carlos EstombeloFundamentos da Inteligencia Artificial :: Prof Dr. Carlos Estombelo
Fundamentos da Inteligencia Artificial :: Prof Dr. Carlos Estombelo
 
Administracion de proyectos
Administracion de proyectosAdministracion de proyectos
Administracion de proyectos
 
Daniels Gate Clients Home
Daniels Gate Clients HomeDaniels Gate Clients Home
Daniels Gate Clients Home
 
Презентация проекта Циклы в нашей жизни
Презентация проекта Циклы в нашей жизниПрезентация проекта Циклы в нашей жизни
Презентация проекта Циклы в нашей жизни
 
Taking friction out of banking white paper - US
Taking friction out of banking white paper - USTaking friction out of banking white paper - US
Taking friction out of banking white paper - US
 
5 essential steps flyer
5 essential steps flyer5 essential steps flyer
5 essential steps flyer
 
Towards a Reputation Economy: How Openness and Transparency Become a Central ...
Towards a Reputation Economy: How Openness and Transparency Become a Central ...Towards a Reputation Economy: How Openness and Transparency Become a Central ...
Towards a Reputation Economy: How Openness and Transparency Become a Central ...
 
Tips on Saving Money on Diapers: An Infographic
Tips on Saving Money on Diapers: An InfographicTips on Saving Money on Diapers: An Infographic
Tips on Saving Money on Diapers: An Infographic
 
The Bad Idea Terminator - QCon London 2015
The Bad Idea Terminator - QCon London 2015The Bad Idea Terminator - QCon London 2015
The Bad Idea Terminator - QCon London 2015
 
Is social media as powerful as we think
Is social media as powerful as we thinkIs social media as powerful as we think
Is social media as powerful as we think
 
Recruiter Next Generation - A ferramenta de recrutamento do LinkedIn
Recruiter Next Generation - A ferramenta de recrutamento do LinkedInRecruiter Next Generation - A ferramenta de recrutamento do LinkedIn
Recruiter Next Generation - A ferramenta de recrutamento do LinkedIn
 
Digital marketing and the music entrepreneur 2011
Digital marketing and the music entrepreneur 2011Digital marketing and the music entrepreneur 2011
Digital marketing and the music entrepreneur 2011
 
New York Town Hall Value Added - VARC
New York Town Hall Value Added - VARCNew York Town Hall Value Added - VARC
New York Town Hall Value Added - VARC
 
หมาใจดำ
หมาใจดำหมาใจดำ
หมาใจดำ
 
Presentation resotel legrand RESOTEL
Presentation resotel legrand RESOTELPresentation resotel legrand RESOTEL
Presentation resotel legrand RESOTEL
 
DAVID-CAMERON-IS-A-C-WORD
DAVID-CAMERON-IS-A-C-WORDDAVID-CAMERON-IS-A-C-WORD
DAVID-CAMERON-IS-A-C-WORD
 
JavaOne 2016 -Emerging Web App Architectures using Java and node.js
JavaOne 2016 -Emerging Web App Architectures using Java and node.jsJavaOne 2016 -Emerging Web App Architectures using Java and node.js
JavaOne 2016 -Emerging Web App Architectures using Java and node.js
 

Similar a Int. a la Computación Evolutiva - Informe para cursada

Algoritmo genetico
Algoritmo geneticoAlgoritmo genetico
Algoritmo geneticoVane Erraez
 
Algoritmos geneticos
Algoritmos geneticosAlgoritmos geneticos
Algoritmos geneticosYAn_dy
 
Slideshare nelson rodriguez
Slideshare nelson rodriguezSlideshare nelson rodriguez
Slideshare nelson rodrigueznelro038
 
computacion evolutiva y computacion neuronal
computacion evolutiva y computacion neuronalcomputacion evolutiva y computacion neuronal
computacion evolutiva y computacion neuronalRenzo Marrufo Cabanillas
 
Genetic Algorithms. Algoritmos Genéticos y cómo funcionan.
Genetic Algorithms. Algoritmos Genéticos y cómo funcionan.Genetic Algorithms. Algoritmos Genéticos y cómo funcionan.
Genetic Algorithms. Algoritmos Genéticos y cómo funcionan.SantiagoGarridoBulln
 
Implementacion Genetico AEB
Implementacion Genetico AEBImplementacion Genetico AEB
Implementacion Genetico AEBedmodi
 
Introducción a la inteligencia artificial
Introducción a la inteligencia artificialIntroducción a la inteligencia artificial
Introducción a la inteligencia artificialPaula Cordero Moreno
 
5581-Texto del artículo-5653-1-10-20141008.pdf
5581-Texto del artículo-5653-1-10-20141008.pdf5581-Texto del artículo-5653-1-10-20141008.pdf
5581-Texto del artículo-5653-1-10-20141008.pdfarturoruizlopez1
 
Actividades Libreta Bloque III
Actividades Libreta Bloque IIIActividades Libreta Bloque III
Actividades Libreta Bloque IIIkaoli11
 

Similar a Int. a la Computación Evolutiva - Informe para cursada (20)

AG (1).pptx
AG (1).pptxAG (1).pptx
AG (1).pptx
 
Algoritmo genetico
Algoritmo geneticoAlgoritmo genetico
Algoritmo genetico
 
Algoritmos genéticos 2 s lun 30 sep-13
Algoritmos genéticos 2 s lun 30 sep-13Algoritmos genéticos 2 s lun 30 sep-13
Algoritmos genéticos 2 s lun 30 sep-13
 
ALGORITMO GENETICO - II.pptx
ALGORITMO GENETICO - II.pptxALGORITMO GENETICO - II.pptx
ALGORITMO GENETICO - II.pptx
 
020 algoritmos2
020 algoritmos2020 algoritmos2
020 algoritmos2
 
A Geneticos
A GeneticosA Geneticos
A Geneticos
 
Algoritmos geneticos
Algoritmos geneticosAlgoritmos geneticos
Algoritmos geneticos
 
Slideshare nelson rodriguez
Slideshare nelson rodriguezSlideshare nelson rodriguez
Slideshare nelson rodriguez
 
computacion evolutiva y computacion neuronal
computacion evolutiva y computacion neuronalcomputacion evolutiva y computacion neuronal
computacion evolutiva y computacion neuronal
 
Genetic Algorithms. Algoritmos Genéticos y cómo funcionan.
Genetic Algorithms. Algoritmos Genéticos y cómo funcionan.Genetic Algorithms. Algoritmos Genéticos y cómo funcionan.
Genetic Algorithms. Algoritmos Genéticos y cómo funcionan.
 
Ag (2005 verano)
Ag (2005 verano)Ag (2005 verano)
Ag (2005 verano)
 
Implementacion Genetico AEB
Implementacion Genetico AEBImplementacion Genetico AEB
Implementacion Genetico AEB
 
Introducción a la inteligencia artificial
Introducción a la inteligencia artificialIntroducción a la inteligencia artificial
Introducción a la inteligencia artificial
 
5581-Texto del artículo-5653-1-10-20141008.pdf
5581-Texto del artículo-5653-1-10-20141008.pdf5581-Texto del artículo-5653-1-10-20141008.pdf
5581-Texto del artículo-5653-1-10-20141008.pdf
 
Actividades Libreta Bloque III
Actividades Libreta Bloque IIIActividades Libreta Bloque III
Actividades Libreta Bloque III
 
Resumen 2 Unidad
Resumen 2 UnidadResumen 2 Unidad
Resumen 2 Unidad
 
Resumen 2 Unidad
Resumen 2 UnidadResumen 2 Unidad
Resumen 2 Unidad
 
Resumen 2 Unidad
Resumen 2 UnidadResumen 2 Unidad
Resumen 2 Unidad
 
Resumen 2 Unidad
Resumen 2 UnidadResumen 2 Unidad
Resumen 2 Unidad
 
Resumen 2 Unidad
Resumen 2 UnidadResumen 2 Unidad
Resumen 2 Unidad
 

Más de martinp

Evolutionary Computing - Genetic Algorithms - An Introduction
Evolutionary Computing - Genetic Algorithms - An IntroductionEvolutionary Computing - Genetic Algorithms - An Introduction
Evolutionary Computing - Genetic Algorithms - An Introductionmartinp
 
Sistemas de Recomendación de Información - Web Semáctica
Sistemas de Recomendación de Información - Web SemácticaSistemas de Recomendación de Información - Web Semáctica
Sistemas de Recomendación de Información - Web Semácticamartinp
 
Extraction and Analysis System of Topics for Software History Reports
Extraction and Analysis System of Topics for Software History ReportsExtraction and Analysis System of Topics for Software History Reports
Extraction and Analysis System of Topics for Software History Reportsmartinp
 
IA - Redes Neuronales
IA - Redes NeuronalesIA - Redes Neuronales
IA - Redes Neuronalesmartinp
 
Algoritmos de Planning - Práctico Nro. 1
Algoritmos de Planning - Práctico Nro. 1Algoritmos de Planning - Práctico Nro. 1
Algoritmos de Planning - Práctico Nro. 1martinp
 
The Deep Web
The Deep WebThe Deep Web
The Deep Webmartinp
 
Hofstede’s Cultural Dimensions
Hofstede’s Cultural DimensionsHofstede’s Cultural Dimensions
Hofstede’s Cultural Dimensionsmartinp
 
Desarrollo de Software Orientado a Aspectos
Desarrollo de Software Orientado a AspectosDesarrollo de Software Orientado a Aspectos
Desarrollo de Software Orientado a Aspectosmartinp
 
Patrimonio dell'umanità in Italia
Patrimonio dell'umanità in ItaliaPatrimonio dell'umanità in Italia
Patrimonio dell'umanità in Italiamartinp
 
Software Libre/Código Abierto - Enunciado
Software Libre/Código Abierto - EnunciadoSoftware Libre/Código Abierto - Enunciado
Software Libre/Código Abierto - Enunciadomartinp
 
Software Libre/Código Abierto - Informe Final
Software Libre/Código Abierto - Informe FinalSoftware Libre/Código Abierto - Informe Final
Software Libre/Código Abierto - Informe Finalmartinp
 

Más de martinp (11)

Evolutionary Computing - Genetic Algorithms - An Introduction
Evolutionary Computing - Genetic Algorithms - An IntroductionEvolutionary Computing - Genetic Algorithms - An Introduction
Evolutionary Computing - Genetic Algorithms - An Introduction
 
Sistemas de Recomendación de Información - Web Semáctica
Sistemas de Recomendación de Información - Web SemácticaSistemas de Recomendación de Información - Web Semáctica
Sistemas de Recomendación de Información - Web Semáctica
 
Extraction and Analysis System of Topics for Software History Reports
Extraction and Analysis System of Topics for Software History ReportsExtraction and Analysis System of Topics for Software History Reports
Extraction and Analysis System of Topics for Software History Reports
 
IA - Redes Neuronales
IA - Redes NeuronalesIA - Redes Neuronales
IA - Redes Neuronales
 
Algoritmos de Planning - Práctico Nro. 1
Algoritmos de Planning - Práctico Nro. 1Algoritmos de Planning - Práctico Nro. 1
Algoritmos de Planning - Práctico Nro. 1
 
The Deep Web
The Deep WebThe Deep Web
The Deep Web
 
Hofstede’s Cultural Dimensions
Hofstede’s Cultural DimensionsHofstede’s Cultural Dimensions
Hofstede’s Cultural Dimensions
 
Desarrollo de Software Orientado a Aspectos
Desarrollo de Software Orientado a AspectosDesarrollo de Software Orientado a Aspectos
Desarrollo de Software Orientado a Aspectos
 
Patrimonio dell'umanità in Italia
Patrimonio dell'umanità in ItaliaPatrimonio dell'umanità in Italia
Patrimonio dell'umanità in Italia
 
Software Libre/Código Abierto - Enunciado
Software Libre/Código Abierto - EnunciadoSoftware Libre/Código Abierto - Enunciado
Software Libre/Código Abierto - Enunciado
 
Software Libre/Código Abierto - Informe Final
Software Libre/Código Abierto - Informe FinalSoftware Libre/Código Abierto - Informe Final
Software Libre/Código Abierto - Informe Final
 

Último

la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxCeciliaGuerreroGonza1
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 

Último (20)

la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 

Int. a la Computación Evolutiva - Informe para cursada

  • 1. Introducción a la Computación Evolutiva Facultad de Cs. Exactas, Universidad Nacional del Centro de la Pcia. de Buenos Aires Trabajo Práctico para Cursada 2010 - Profesora: Dra. Virginia Yanibelli Alumno: Martín Ignacio Pacheco, L.U.: 245214, {mpacheco@alumnos.exa.unicen.edu.ar}
  • 2. Contenido Resumen ................................................................................................................................. 2 1. Introducción.................................................................................................................... 2 2. Solución Algorítmica...................................................................................................... 4 2.1. Representación de las soluciones .......................................................................... 4 2.2. Función de fitness ................................................................................................... 6 2.3. Proceso de generación de la población inicial ...................................................... 7 2.4. Proceso de selección de los padres ........................................................................ 7 2.5. Operadores de cruce genético ................................................................................ 8 2.6. Operadores de mutación genética ......................................................................... 9 2.7. Proceso de reinserción ............................................................................................ 9 3. Conclusiones ................................................................................................................. 10 Índice de figuras Figura 1 - Movimientos validos de la dama. ........................................................................ 2 Figura 2 - Estructura general del algoritmo genético. ......................................................... 4 Figura 3 – Ejemplo de la representación en un tablero de 4 x 4. ........................................ 5 Figura 4 - Representación de los conceptos biológicos. ...................................................... 6 Figura 5 - Esquema de selección. .......................................................................................... 7 Figura 6 - Ejemplo de cruce genético. ................................................................................... 8 Figura 7 - Ejemplo sin mutación. .......................................................................................... 9 1
  • 3. Resumen El presente es un trabajo práctico para la aprobación de la cursada de la materia optativa Introducción a la Computación Evolutiva. El objetivo del mismo consiste en presentar una solución al problema de las n-reinas mediante el diseño de un algoritmo evolutivo. 1. Introducción El problema de las n-reinas propuesto en el siglo XIX se ha transformado en un estándar para probar algoritmos de resolución heurísticos. Este problema consiste en colocar n reinas de ajedrez en un tablero de n por n casillas, de tal manera que ninguna de ellas pueda atacar a otra usando los movimientos del juego-ciencia provistos para esta pieza. Recordar que la reina se puede mover en el tablero en forma horizontal, vertical y diagonal la cantidad de escaques deseados, como se observa en la figura 1. Figura 1 - Movimientos validos de la dama. Este tipo de problema es fácil de abordar con los algoritmos que se podrían denominar como “clásicos”. Un ejemplo son los recursivos o de tipo voraz (Greedy, Backtracking, etc), sin embargo hay otro tipo de problemas mucho mas complicados como los NP completos cuya complejidad crece con el tamaño del problema de forma exponencial (por ejemplo O (2n), O (n!), …). Debido a su elevada complejidad deben ser resueltos en una cantidad de tiempo razonable empleando métodos heurísticos. Los algoritmos evolutivos son métodos de este estilo muy poderosos, capaces de realizar búsquedas en grandes espacios de soluciones de forma muy eficiente. El algoritmo evolutivo que se propone es un algoritmo genético, debido a que la representación de las soluciones candidatas es más favorable, ya que evita ciertos conflictos que se explicaran mas adelante. Además han demostrado tener una buena 2
  • 4. heurística para problemas combinatorios. Como contrapartida es que no son demasiado veloces. ¿Qué es un algoritmo genético? Pueden verse como una familia de procedimientos de búsqueda adaptativos. Están basados en modelos de cambio genético en una población de individuos. Es decir, que un algoritmo genético es una técnica de programación que imita a la evolución biológica como estrategia para resolver problemas. Esto es: Evolución Darwiniana: El éxito de los individuos en el ambiente depende de cuan bien se adaptan al ambiente (aptitud o fitness). Apareamiento o cruzamiento que produce descendientes en generaciones futuras. Operadores genéticos que determinan la configuración genética de los descendientes. Como entrada el algoritmo genético serán un conjunto de soluciones potenciales del problema a resolver que estarán codificadas de alguna manera. Se tiene una función de fitness que permite evaluar cada solución candidata y se obtiene un resultado cuantitativo de aptitud. Las soluciones mas aptas se conservan y se les permite reproducirse. Luego se producen copias de ellas que no son perfectas, es decir que se les producen cambios aleatorios durante este proceso de copia. Estas a su vez generaran una descendencia para la próxima generación que serán sometidas a una evaluación de aptitud. Este proceso se repite con cada generación. La idea es que la aptitud media (fitness medio) vaya mejorando a lo largo de las generaciones en las cuales se pueden producir soluciones muy novedosas como la encontrada a las estructuras de los satélites para sostener las antenas de transmisión. Esto parece anti intuitivo, pero los algoritmos genéticos han demostrado ser una estrategia muy poderosa y exitosa para resolver problemas y también encontrar soluciones muy peculiares. 3
  • 5. 2. Solución Algorítmica El esquema general de ejecución del algoritmo genético a usar se puede observar en la figura 2. Inicializar Población Inicialización Seleccionar Padres Selección Crear Hijos Cruce Mutar Hijos Mutación Generación n + 1 Insertar Hijos en la Población Inserción No ¿Condición Si Devolver el mejor de Corte? individuo Figura 2 - Estructura general del algoritmo genético. En un principio se inicializa el algoritmo con una población con diversas soluciones (validas o no) creadas aleatoriamente lo que permite tener una diversidad de individuos. Después se seleccionan algunos padres que tendrán hijos. A su vez los hijos podrán tener o no pequeñas mutaciones permitiendo explorar nuevos lugares en el espacio de soluciones. La nueva generación de individuos estará conformada por hijos y padres (abuelos a partir de la tercera iteración) y se volverá a repetir este mecanismo evolutivo hasta que se cumpla una cierta condición de aptitud o cantidad de generaciones limite. A continuación se explicaran más detalladamente las funciones que le competen a cada etapa del algoritmo. 2.1. Representación de las soluciones 4
  • 6. Como cada reina debe estar en una columna o fila diferente se puede asumir que cada reina se colocara en una columna distinta. Es decir, que la reina i se situara en la columna i. Con esto se evita que no se ataquen por las columnas. Ahora para evitar que se ataquen vía alguna fila cada una deberá estar en una fila distinta. Por lo tanto la mejor forma de representar esto en con una estructura de ventores de tamaño n. Cada posición del vector se corresponderá a cada columna mientras que el valor que contiene dicha posición es la fila correspondiente en donde se posiciona la dama dentro de esa columna. En la figura 3 se pueden observar como es el mapeo de esta idea con un par de ejemplos en un tablero de 4 por 4. Tablero 1 Tablero 2 [1, 4, 2, 3] [3, 1, 4, 2] Figura 3 – Ejemplo de la representación en un tablero de 4 x 4. Entonces teniendo en cuenta esta representación, el espacio de soluciones, en donde el conflicto sobre las filas y las columnas se ha eliminado, debe ser encontrado para poder eliminar los conflictos que surgen producto de las diagonales. Serán soluciones incorrectas aquellas en donde las reinas se ataquen diagonalmente unas con otras. Cada vector de solución se compone de una permutación de números enteros que van desde 1 a n. En el ejemplo de la figura 3 serian permutaciones de los números enteros 1, 2, 3 y 4. Aquí podemos decir que el espacio fenotípico queda definido por el tablero con las damas y el espacio genotípico esta definido por el vector. Este vector conforma el cromosoma de una solución que a su vez esta compuesta como una combinación de genes cuya combinación es única y que podría verse como el ADN de cada individuo. Para esto ultimo teniendo en cuenta que no se generan vectores repetidos. El valor del gen podríamos verlo como alelo. Tener un cromosoma aislado no brinda mucha información por ello es necesario un proceso de decodificación, ya que primero se codifica el cromosoma del individuo. Es decir, biológicamente lo trato como cromosoma en el algoritmo, pero si lo quiero ver debo decodificarlo para llevarlo a espacio fenotípico. 5
  • 7. Esta analogía entre conceptos biológicos y conceptos computacionales se resume mejor en la figura 4. Espacio Genotípico Espacio Fenotípico Codificación Decodificación 1 4 2 3 Alelo Gen Cromosoma Figura 4 - Representación de los conceptos biológicos. 2.2. Función de fitness Con la representación explicada previamente se eliminaron conflictos en las filas y columnas. Por tanto las soluciones incorrectas serán aquellas en las cuales se produzcan amenazas entre las damas en las diagonales. De esta manera una función de aptitud de los individuos podría ser la cantidad de conflictos de este contiene. Lo ideal es que se tengan cero conflictos entonces cuanto mas cercano a cero sea menos incorrecta será la aptitud. De acuerdo a la representación planteada en el punto anterior y considerando en vector genotípico [R1, R2,…, Ri, Ri+1,..., Rj,…, Rn] la reina (también llamada dama en la jerga ajedrecística) en la posición i y la reina de la posición j compartirán una diagonal si: o Lo que se reduce a considerar: De esta manera se pude ver si ocurre o no un conflicto entre la dama en Ri y la dama en Rj. 6
  • 8. Entonces el fitness a considerar será el fitness medio de cada generación. 2.3. Proceso de generación de la población inicial Para la creación de la población inicial se utiliza una matriz cuyo tamaño será de la cantidad de reinas por la cantidad de individuos iniciales con el que se desean partir desde un principio. Para la generación de los cromosomas se usaran números aleatorios enteros dentro del rango establecido al número de reinas. En este paso no se contemplaran números repetidos en los cromosomas. 2.4. Proceso de selección de los padres EL proceso de selección de padres se decidió utilizar la selección por torneo. En esta se eligen subgrupos de individuos de la población, y los miembros de cada subgrupo compiten entre ellos. Luego se elige a un solo individuo de cada subgrupo para la reproducción. Se cree más apto este mecanismo de selección porque brinda más diversidad en la población lo que permite a su vez los máximos locales en lo que seria la superficie adaptativa. Para este problema de las n-reinas seria una línea adaptativa si se puede llamar de esta manera. Entonces se elige un 80 % de la población actual para seleccionar a los padres. Después se generas subgrupos de cromosomas de dos individuos (torneo de tamaño 2) de los cuales solo quedara el más apto, es decir, el que tiene mayor nivel de fitness. De cada torneo se elegirá un solo cromosoma por grupo para realizar el cruce. En la figura 5 se puede observar un esquema del mecanismo de selección. 1 4 1 4 4 10 5 3 2 10 9 5 9 4 1ro 7 6 7 2do 3 6 9 8 9 Población actual Selección del 80 % Torneo de 2 Ganó el concursantes individuo 4 Figura 5 - Esquema de selección. 7
  • 9. 2.5. Operadores de cruce genético Esta parte consiste en el intercambio de material genético entre dos cromosomas. En el caso de emparejar dos individuos de los mismos padres no sucedería nada; esto garantizaría que se propaguen individuos con buena aptitud. Sin embargo, si esto sucede muy a menudo puede crear problemas. Puede suceder que toda una generación de descendientes quede dominada por algún gen, que además puede tener características no deseadas o que van en contra del objetivo que se desea alcanzar. El intercambio genético se llevara a cabo por cruce en un punto. Este punto se elegirá en forma aleatoria. Posteriormente se intercambian entre ambos cromosomas el material genético a la derecha de dicho punto. Adicionalmente se tiene otro parámetro probabilístico que indica con que frecuencia se va a aplicar el cruce genético. La frecuencia de este operador deberá estar en función del problema. En general la frecuencia del operador no varia durante la ejecución del algoritmo, sin embargo hay que tener presente que cada uno de los operadores en más efectivo en un momento determinado de la ejecución. Para este problema se propone una probabilidad de cruce de 0,8 ya que este operador es mas predominante en la evolución. En la figura 6 se puede ver un ejemplo de mutación con un punto de cruce. Tener en cuenta que el cromosoma generado no es valido, sino que es a modo de ejemplo del funcionamiento del cruce. [1, 4, 2, 3] [3, 1, 4, 2] [1, 4, 4, 2] Figura 6 - Ejemplo de cruce genético. 8
  • 10. 2.6. Operadores de mutación genética En la teoría de la evolución la mutación es un suceso poco común. Suele suceder una de cada mil replicaciones. Es verdad, que una mutación puede resultar fatal, pero como contra partida provoca diversidad genética sin ser letal. La mutación actúa sobre un único cromosoma produciendo una modificación valida. La diversidad puede venir bien cuando el algoritmo genético tiende a estancarse (ver ejemplo de la figura 7), pero también reduciría al algoritmo genético a una búsqueda aleatoria. Otras formas de evitar, si se desea, la mutación es aumentar el tamaño de la población o garantizar aleatoriedad en la población inicial; donde esto último es lo que se propuso. Por las características mencionadas hasta aquí sobre la mutación y teniendo en cuenta el problema en particular, se cree que es mejor usar la variante de mutación que realiza el intercambio de dos genes aleatorios. De esta manera se evita aumentar la probabilidad de que surjan duplicados. Esto con una probabilidad pequeña del 0,2 puesto que las mutación surgen muy pocas con respecto al cruce. Sin mutación no se llegaría a una solución Individuo 1 Individuo 2 Individuo 3 Individuo n Figura 7 - Ejemplo sin mutación. 2.7. Proceso de reinserción Cuando arranca el algoritmo se tiene una población inicial definida de ante mano. Luego de aplicar los operadores genéticos anteriores la población crece en número dado que se cruzaron, es decir, hay más cantidad de cromosomas. Para realizar la re inserción se realiza un ranking por fitness de los mejores individuos y se seleccionan los n mejores individuos, con n igual al tamaño de población definida inicialmente. 9
  • 11. 3. Conclusiones He podido observar que la principal ventaja de los algoritmos genéticos radica en su sencillez. Se requiere poca información sobre el espacio de búsqueda ya que se trabaja sobre un conjunto de soluciones o parámetros codificados. Una de las desventajas puede ser que se necesite mucho ensayo de prueba y error para adquirir experiencia; también en lograr un buen diseño de la función de fitness. Se busca una solución por aproximación de la población, en lugar de una aproximación punto a punto. Con un control adecuado se puede mejorar la aptitud media de la población, obteniendo nuevos y mejores individuos y por ende mejores soluciones. Otro aspecto interesante de los algoritmos es la relación que hay entre la eficiencia y la eficacia. Ya que manipulando los parámetros y operadores del algoritmo permite balancear el equilibrio que hay en esta relación. Principalmente lo que mas me motivo de la materia es que contiene temas que nunca había tratado (computacionalmente hablando) ya que los problemas se encaran desde una postura distinta a los que se ven a lo largo de las cursadas obligatorias donde se ven algoritmos mas clásicos. 10