Este documento introduce los algoritmos genéticos, incluyendo sus orígenes inspirados en la evolución biológica, el algoritmo principal que evoluciona una población de soluciones a través de operadores genéticos como la selección, el cruce y la mutación, y diferentes técnicas de codificación de problemas y evaluación de soluciones.
Este documento presenta un análisis de dos algoritmos para medir la similitud entre secuencias mitocondriales: el algoritmo de Needleman-Wunsch y el algoritmo de Weiner. El autor implementa estos algoritmos en MATLAB y los evalúa en términos de eficiencia espacial y de tiempo, usando una base de datos de ADN mitocondrial. El objetivo es determinar cuál algoritmo es más adecuado para este tipo de análisis genético.
Diseño Agil con TDD nos enseñará a:
* Escribir tests que aumenten la fiabilidad del código.
* Escribir tests de aceptación que nos ayudarán a centrarnos, específicamente, en el problema a resolver.
* Mejorar nuestros diseños para hacerlos más simples y flexibles.
* Escribir código fácil de mantener. Con TDD, los test son documentación viva y actualizada de nuestro código, la mejor documentación posible.
* Encajar TDD dentro del paradigma ágil y relacionarlo con otras técnicas como la integración continua.
Detección de Bordes Tumorales Mediante Contornos Activos (Snake) y Caracteriz...Aileen Quintana
En éste trabajo se presenta un estudio basado en aplicaciones de procesamiento de imágenes médicas mediante la implementación de modelos deformables (“Snakes”). El objetivo de este trabajo de investigación es, determinar y caracterizar lesiones correspondientes a tumores del sistema nervioso central mediante el análisis del grado de irregularidad en sus bordes, obtenidos mediante imagenes de resonancia magnética nuclear. Para ello se emplearan técnicas de procesamiento digital de imagenes, las cuales comprenden métodos de segmentación de imágenes tales como: realce de imágenes, establecimiento de umbrales e implementación del método de Snake como contorno activo. Éste último, conforma las fronteras de la lesión al minimizar un funcional de energía, la cual ha sido representada en una serie temporal. Estudiaremos tanto la serie generada del funcional de energía, como el borde correspondiente al Snake una vez que ha conformado el borde de la lesión, mediante el uso de los conceptos de dimensión de correlación y de dimensión fractal respectivamente, los cuales, desde éste punto de vista, representan la herramienta mas eficiente para evaluar características de irregularidad en los bordes de las lesiones.
Para la realización del estudio se contó con un universo de 289 imagenes de resonancia magnética nuclear correspondientes a diversas lesiones del sistema nervioso central las cuales fueron organizadas y clasificadas, encontrandose sólo 19 imagenes correspondientes a tumores del sistema nerviosos central. A estas 19 imagenes se les practicó el procedimiento descrito anteriormente usando el programa Matlab, imágenes que ademas presentan las características particulares de ser estudios de corte axial y pesadas en T2.
Se obtuvo como resultado, la separación de las dos clases de tumores deseadas, por lo que la implementación de este método representa una buena aproximación para la evaluación de la malignidad en lesiones del sistema nervioso central encontrándose que las lesiones, tomando en cuenta la irregularidad presente en sus bordes, pueden ser clasificadas por su valor de dimensión como benignas o malignas. Se encontró que sólo para la dimensión de correlación es posible dicha clasificación pues los valores hallados para la dimensión fractal que se obtuvieron directamente de la figura del Snake no representan diferenciación alguna en el aspecto deseado para ésta clasificación o al menos para el número de imágenes empleadas en el estudio, no fue posible apreciar diferencia alguna. Se pudo observar un aumento del valor de la dimensión de correlación conforme aumenta la variabilidad de los valores de energía en los gráficos, lo cual significa un aumento del valor de la dimensión de correlación conforme aumenta la irregularidad en los bordes de las lesiones.
Cuatro textos que he perpetrado durante estos últimos años.
Vivimos tiempos de crisis y revolución. El sistema económico industrial se tambalea y los referentes éticos de toda la vida son cuestionados.
Las viejas ideas caen y otras nuevas aspiran a sustituirlas, dando lugar a un ecosistema ideológico totalmente nuevo, imposible de
definir con los términos de los modelos clásicos de la economía y la
política.
Angel Vázquez
En Zafra (Badajoz), a 7 de enero de 2011
Este documento presenta un resumen de 3 oraciones del capítulo 1 de un libro de cálculo. El capítulo introduce los números reales, límites de funciones numéricas discretas y continuas, y funciones continuas. Incluye definiciones, propiedades, ejemplos resueltos y propuestos. El documento provee material didáctico para el desarrollo de la docencia en cálculo anual para ingeniería civil en la Universidad de Santiago de Chile.
Actualmente hay muchas ideas circulando entre los colectivos conocidos como alternativos, altermundistas, antiglobalización y otras denominaciones similares. Se habla de decrecimiento, democracia directa, renta básica, neutralidad de la red, transparencia...
¿Pero cuál es el origen de estas ideas? Si nos remontamos varias
décadas en el tiempo, podemos encontrar el rastro ideológico de los
movimientos underground que les precedieron y que dieron origen a sus ideas.
Este documento presenta las soluciones a pruebas y ejercicios de matemáticas del primer semestre de 1999. Contiene las respuestas a 4 pruebas distintas con ejercicios de álgebra, trigonometría, funciones y ecuaciones. Además, incluye las soluciones a 10 guías de ejercicios de funciones cuadráticas, trigonométricas y raíces cuadradas. Por último, presenta figuras gráficas que ilustran las soluciones.
Este documento presenta un análisis de dos algoritmos para medir la similitud entre secuencias mitocondriales: el algoritmo de Needleman-Wunsch y el algoritmo de Weiner. El autor implementa estos algoritmos en MATLAB y los evalúa en términos de eficiencia espacial y de tiempo, usando una base de datos de ADN mitocondrial. El objetivo es determinar cuál algoritmo es más adecuado para este tipo de análisis genético.
Diseño Agil con TDD nos enseñará a:
* Escribir tests que aumenten la fiabilidad del código.
* Escribir tests de aceptación que nos ayudarán a centrarnos, específicamente, en el problema a resolver.
* Mejorar nuestros diseños para hacerlos más simples y flexibles.
* Escribir código fácil de mantener. Con TDD, los test son documentación viva y actualizada de nuestro código, la mejor documentación posible.
* Encajar TDD dentro del paradigma ágil y relacionarlo con otras técnicas como la integración continua.
Detección de Bordes Tumorales Mediante Contornos Activos (Snake) y Caracteriz...Aileen Quintana
En éste trabajo se presenta un estudio basado en aplicaciones de procesamiento de imágenes médicas mediante la implementación de modelos deformables (“Snakes”). El objetivo de este trabajo de investigación es, determinar y caracterizar lesiones correspondientes a tumores del sistema nervioso central mediante el análisis del grado de irregularidad en sus bordes, obtenidos mediante imagenes de resonancia magnética nuclear. Para ello se emplearan técnicas de procesamiento digital de imagenes, las cuales comprenden métodos de segmentación de imágenes tales como: realce de imágenes, establecimiento de umbrales e implementación del método de Snake como contorno activo. Éste último, conforma las fronteras de la lesión al minimizar un funcional de energía, la cual ha sido representada en una serie temporal. Estudiaremos tanto la serie generada del funcional de energía, como el borde correspondiente al Snake una vez que ha conformado el borde de la lesión, mediante el uso de los conceptos de dimensión de correlación y de dimensión fractal respectivamente, los cuales, desde éste punto de vista, representan la herramienta mas eficiente para evaluar características de irregularidad en los bordes de las lesiones.
Para la realización del estudio se contó con un universo de 289 imagenes de resonancia magnética nuclear correspondientes a diversas lesiones del sistema nervioso central las cuales fueron organizadas y clasificadas, encontrandose sólo 19 imagenes correspondientes a tumores del sistema nerviosos central. A estas 19 imagenes se les practicó el procedimiento descrito anteriormente usando el programa Matlab, imágenes que ademas presentan las características particulares de ser estudios de corte axial y pesadas en T2.
Se obtuvo como resultado, la separación de las dos clases de tumores deseadas, por lo que la implementación de este método representa una buena aproximación para la evaluación de la malignidad en lesiones del sistema nervioso central encontrándose que las lesiones, tomando en cuenta la irregularidad presente en sus bordes, pueden ser clasificadas por su valor de dimensión como benignas o malignas. Se encontró que sólo para la dimensión de correlación es posible dicha clasificación pues los valores hallados para la dimensión fractal que se obtuvieron directamente de la figura del Snake no representan diferenciación alguna en el aspecto deseado para ésta clasificación o al menos para el número de imágenes empleadas en el estudio, no fue posible apreciar diferencia alguna. Se pudo observar un aumento del valor de la dimensión de correlación conforme aumenta la variabilidad de los valores de energía en los gráficos, lo cual significa un aumento del valor de la dimensión de correlación conforme aumenta la irregularidad en los bordes de las lesiones.
Cuatro textos que he perpetrado durante estos últimos años.
Vivimos tiempos de crisis y revolución. El sistema económico industrial se tambalea y los referentes éticos de toda la vida son cuestionados.
Las viejas ideas caen y otras nuevas aspiran a sustituirlas, dando lugar a un ecosistema ideológico totalmente nuevo, imposible de
definir con los términos de los modelos clásicos de la economía y la
política.
Angel Vázquez
En Zafra (Badajoz), a 7 de enero de 2011
Este documento presenta un resumen de 3 oraciones del capítulo 1 de un libro de cálculo. El capítulo introduce los números reales, límites de funciones numéricas discretas y continuas, y funciones continuas. Incluye definiciones, propiedades, ejemplos resueltos y propuestos. El documento provee material didáctico para el desarrollo de la docencia en cálculo anual para ingeniería civil en la Universidad de Santiago de Chile.
Actualmente hay muchas ideas circulando entre los colectivos conocidos como alternativos, altermundistas, antiglobalización y otras denominaciones similares. Se habla de decrecimiento, democracia directa, renta básica, neutralidad de la red, transparencia...
¿Pero cuál es el origen de estas ideas? Si nos remontamos varias
décadas en el tiempo, podemos encontrar el rastro ideológico de los
movimientos underground que les precedieron y que dieron origen a sus ideas.
Este documento presenta las soluciones a pruebas y ejercicios de matemáticas del primer semestre de 1999. Contiene las respuestas a 4 pruebas distintas con ejercicios de álgebra, trigonometría, funciones y ecuaciones. Además, incluye las soluciones a 10 guías de ejercicios de funciones cuadráticas, trigonométricas y raíces cuadradas. Por último, presenta figuras gráficas que ilustran las soluciones.
Uma pessoa pergunta a outra como quer ir de férias este ano, oferecendo três opções de viagem. No entanto, devido ao aumento de impostos e estagnação de salários, a única forma de poder ir de férias é ganhando na lotaria.
El documento describe un algoritmo genético para resolver Sudokus. Explica que el algoritmo representa las soluciones como cadenas (cromosomas) donde cada posición es un valor de 1 a 9 para cada celda vacía, y utiliza operadores genéticos como selección, cruzamiento y mutación para evolucionar una población de soluciones hacia la solución óptima a lo largo de múltiples generaciones. Finalmente, realiza diferentes análisis paramétricos para encontrar la mejor combinación de parámetros.
Este documento presenta una introducción a la teoría de decisiones. Explica que la teoría de decisiones trata sobre las decisiones que debe tomar un agente y cómo los resultados de esas decisiones dependen de los estados de la naturaleza. Describe los conceptos de certeza e incertidumbre y los métodos para la toma de decisiones bajo incertidumbre como maximin, maximax, Laplace y costo de oportunidad. También incluye un ejemplo numérico para ilustrar el método maximin.
Fundamentos conceptuales de estadística - Oscar F soto BCristian C
Documento que consta de los principios básicos de estadística y probabilidad, visto desde un perspectiva simple y compacta para ser aplicado en diversas disciplinas.
Este documento presenta una tesis de máster sobre el desarrollo de un framework llamado Diagen para el análisis personalizado del ADN. La tesis describe tres fases principales del proceso de análisis genético - tratamiento, alineamiento y conocimiento - y modela cada fase conceptual y técnicamente. Además, implementa cada fase como un módulo independiente y garantiza la integración y flujo de datos entre los módulos a través de informes de resultados.
Este documento analiza los modelos de regresión lineal y regresión logística mediante un enfoque matemático riguroso. Primero, examina las hipótesis estadísticas subyacentes y los problemas de optimización derivados. Luego, cubre técnicas de regularización y el uso del descenso del gradiente para obtener los parámetros óptimos. Finalmente, explica métricas de evaluación de modelos y una metodología para encontrar modelos que generalicen bien con nuevos datos. El autor desarrolló un repositorio
El documento describe métodos iterativos para resolver sistemas de ecuaciones lineales, como el método de Jacobi y Gauss-Seidel. El método de Jacobi involucra iterar una ecuación de recurrencia para mejorar sucesivamente las aproximaciones a la solución, mientras que Gauss-Seidel mejora sobre Jacobi actualizando las variables una por una en cada iteración en lugar de todas juntas.
Este documento describe métodos iterativos para resolver sistemas de ecuaciones lineales, como el método de Jacobi y el método de Gauss-Seidel. Explica que los métodos iterativos calculan sucesivas aproximaciones a la solución de forma recurrente hasta converger, a diferencia de los métodos directos que obtienen la solución exacta. También discute conceptos como matriz diagonalmente dominante y cuando es más conveniente usar métodos iterativos frente a métodos directos.
El documento describe métodos iterativos para resolver sistemas de ecuaciones lineales, como el método de Jacobi y Gauss-Seidel. El método de Jacobi involucra iterar una ecuación de recurrencia para mejorar sucesivamente las aproximaciones a la solución, mientras que Gauss-Seidel mejora sobre Jacobi actualizando las variables una por una en cada iteración en lugar de todas juntas.
Esquemas iterativos en paralelo con OpenMPSotero Ordones
Este documento presenta la tesis de Sotero Ordoñes Nogales para obtener el título de Ingeniero en Teleinformática. El tema de la tesis es "Esquemas Iterativos en Paralelo con OpenMP". El director de la tesis es el Dr. José Antonio Muñoz Gómez y los asesores son el Dr. Luis Isidro Aguirre Salas y el Dr. Omar Aguilar Loreto. Se le informa a Sotero Ordoñes que fue aprobada su modalidad de titulación de tesis y que tiene 8 meses para entregar el document
Este documento presenta una introducción a la criptografía y seguridad en computadores. Explica conceptos básicos como criptografía, criptosistemas, criptoanálisis y seguridad. También incluye fundamentos teóricos como teoría de la información, complejidad algorítmica, aritmética modular, números primos y curvas elípticas. El documento está dirigido a estudiantes como apoyo a la asignatura de Criptografía y Seguridad en Computadores.
Este documento presenta un libro sobre métodos numéricos con Scilab. El libro cubre temas como la solución de sistemas de ecuaciones lineales y no lineales, interpolación, integración, ecuaciones diferenciales ordinarias y parciales, y valores propios. Cada capítulo describe los métodos numéricos y cómo aplicarlos en Scilab. El autor proporciona implementaciones sencillas de los métodos para ayudar a comprenderlos.
Este documento presenta una introducción a la criptografía y la seguridad en computadores. En la primera sección se discuten conceptos básicos como la historia de la criptografía, números grandes y terminología. La segunda sección cubre fundamentos teóricos como teoría de la información, complejidad algorítmica, aritmética modular, curvas elípticas y otros temas. El documento contiene ejemplos y ejercicios propuestos para comprender mejor los conceptos.
Este documento presenta un resumen de tres capítulos de un libro de introducción a la probabilidad y estadística para estudiantes de ciencias. El libro cubre temas como espacios de probabilidad, probabilidad condicional e independencia, variables aleatorias y sus distribuciones, y valor medio y otros parámetros. El autor enfatiza aprender los conceptos correctamente más que memorizar fórmulas.
Uma pessoa pergunta a outra como quer ir de férias este ano, oferecendo três opções de viagem. No entanto, devido ao aumento de impostos e estagnação de salários, a única forma de poder ir de férias é ganhando na lotaria.
El documento describe un algoritmo genético para resolver Sudokus. Explica que el algoritmo representa las soluciones como cadenas (cromosomas) donde cada posición es un valor de 1 a 9 para cada celda vacía, y utiliza operadores genéticos como selección, cruzamiento y mutación para evolucionar una población de soluciones hacia la solución óptima a lo largo de múltiples generaciones. Finalmente, realiza diferentes análisis paramétricos para encontrar la mejor combinación de parámetros.
Este documento presenta una introducción a la teoría de decisiones. Explica que la teoría de decisiones trata sobre las decisiones que debe tomar un agente y cómo los resultados de esas decisiones dependen de los estados de la naturaleza. Describe los conceptos de certeza e incertidumbre y los métodos para la toma de decisiones bajo incertidumbre como maximin, maximax, Laplace y costo de oportunidad. También incluye un ejemplo numérico para ilustrar el método maximin.
Fundamentos conceptuales de estadística - Oscar F soto BCristian C
Documento que consta de los principios básicos de estadística y probabilidad, visto desde un perspectiva simple y compacta para ser aplicado en diversas disciplinas.
Este documento presenta una tesis de máster sobre el desarrollo de un framework llamado Diagen para el análisis personalizado del ADN. La tesis describe tres fases principales del proceso de análisis genético - tratamiento, alineamiento y conocimiento - y modela cada fase conceptual y técnicamente. Además, implementa cada fase como un módulo independiente y garantiza la integración y flujo de datos entre los módulos a través de informes de resultados.
Este documento analiza los modelos de regresión lineal y regresión logística mediante un enfoque matemático riguroso. Primero, examina las hipótesis estadísticas subyacentes y los problemas de optimización derivados. Luego, cubre técnicas de regularización y el uso del descenso del gradiente para obtener los parámetros óptimos. Finalmente, explica métricas de evaluación de modelos y una metodología para encontrar modelos que generalicen bien con nuevos datos. El autor desarrolló un repositorio
El documento describe métodos iterativos para resolver sistemas de ecuaciones lineales, como el método de Jacobi y Gauss-Seidel. El método de Jacobi involucra iterar una ecuación de recurrencia para mejorar sucesivamente las aproximaciones a la solución, mientras que Gauss-Seidel mejora sobre Jacobi actualizando las variables una por una en cada iteración en lugar de todas juntas.
Este documento describe métodos iterativos para resolver sistemas de ecuaciones lineales, como el método de Jacobi y el método de Gauss-Seidel. Explica que los métodos iterativos calculan sucesivas aproximaciones a la solución de forma recurrente hasta converger, a diferencia de los métodos directos que obtienen la solución exacta. También discute conceptos como matriz diagonalmente dominante y cuando es más conveniente usar métodos iterativos frente a métodos directos.
El documento describe métodos iterativos para resolver sistemas de ecuaciones lineales, como el método de Jacobi y Gauss-Seidel. El método de Jacobi involucra iterar una ecuación de recurrencia para mejorar sucesivamente las aproximaciones a la solución, mientras que Gauss-Seidel mejora sobre Jacobi actualizando las variables una por una en cada iteración en lugar de todas juntas.
Esquemas iterativos en paralelo con OpenMPSotero Ordones
Este documento presenta la tesis de Sotero Ordoñes Nogales para obtener el título de Ingeniero en Teleinformática. El tema de la tesis es "Esquemas Iterativos en Paralelo con OpenMP". El director de la tesis es el Dr. José Antonio Muñoz Gómez y los asesores son el Dr. Luis Isidro Aguirre Salas y el Dr. Omar Aguilar Loreto. Se le informa a Sotero Ordoñes que fue aprobada su modalidad de titulación de tesis y que tiene 8 meses para entregar el document
Este documento presenta una introducción a la criptografía y seguridad en computadores. Explica conceptos básicos como criptografía, criptosistemas, criptoanálisis y seguridad. También incluye fundamentos teóricos como teoría de la información, complejidad algorítmica, aritmética modular, números primos y curvas elípticas. El documento está dirigido a estudiantes como apoyo a la asignatura de Criptografía y Seguridad en Computadores.
Este documento presenta un libro sobre métodos numéricos con Scilab. El libro cubre temas como la solución de sistemas de ecuaciones lineales y no lineales, interpolación, integración, ecuaciones diferenciales ordinarias y parciales, y valores propios. Cada capítulo describe los métodos numéricos y cómo aplicarlos en Scilab. El autor proporciona implementaciones sencillas de los métodos para ayudar a comprenderlos.
Este documento presenta una introducción a la criptografía y la seguridad en computadores. En la primera sección se discuten conceptos básicos como la historia de la criptografía, números grandes y terminología. La segunda sección cubre fundamentos teóricos como teoría de la información, complejidad algorítmica, aritmética modular, curvas elípticas y otros temas. El documento contiene ejemplos y ejercicios propuestos para comprender mejor los conceptos.
Este documento presenta un resumen de tres capítulos de un libro de introducción a la probabilidad y estadística para estudiantes de ciencias. El libro cubre temas como espacios de probabilidad, probabilidad condicional e independencia, variables aleatorias y sus distribuciones, y valor medio y otros parámetros. El autor enfatiza aprender los conceptos correctamente más que memorizar fórmulas.
Este documento presenta un resumen de tres capítulos de un libro de introducción a la probabilidad y estadística para estudiantes de ciencias. El primer capítulo cubre los axiomas y conceptos básicos de la teoría de probabilidad. El segundo capítulo trata sobre probabilidad condicional e independencia. El tercer capítulo introduce las variables aleatorias y sus distribuciones discretas y continuas.
Este documento presenta un curso de estadística en ciencias de la salud. Incluye capítulos sobre estadística descriptiva univariante y bivariante, variables aleatorias y distribución normal, intervalos de confianza, contrastes de hipótesis, comparación de grupos, análisis de varianza, prueba chi-cuadrado y regresión lineal simple. El objetivo del curso es enseñar conceptos y métodos estadísticos fundamentales para analizar e interpretar datos en investigación en salud.
Este documento presenta un índice general de una tesis que analiza modelos de regresión lineal bayesiana. El índice incluye secciones sobre conceptos bayesianos, conceptos astronómicos, análisis de regresión lineal, aplicación de los modelos a datos reales y conclusiones. El documento proporciona una estructura general para el análisis estadístico bayesiano de datos y la aplicación de modelos de regresión lineal bayesiana.
Este documento presenta una introducción a la computación evolutiva. Explica conceptos básicos como análisis de algoritmos, técnicas clásicas y heurísticas de optimización. También provee un histórico de las ideas y teorías biológicas que inspiraron el desarrollo de la computación evolutiva, como la teoría de la evolución de Darwin y las leyes de Mendel sobre la herencia. Finalmente, describe los principales paradigmas como programación evolutiva, estrategias evolutivas y algoritmos genéticos,
06. apuntes de estadística en ciencias de la salud autor p. botella rocamora...MarioRivera243377
Este documento presenta un resumen de los capítulos de un libro de texto sobre estadística en ciencias de la salud. Incluye temas como estadística descriptiva univariante y bivariante, variables aleatorias y distribución normal, intervalos de confianza, contrastes de hipótesis, comparación de grupos, análisis de varianza, prueba chi-cuadrado y regresión lineal. El documento proporciona los índices de los diferentes capítulos y una breve descripción de los temas cubiertos en cada
Este documento presenta apuntes sobre inferencia estadística. Introduce conceptos de probabilidad como esperanza matemática y función característica. Explica diferentes distribuciones de probabilidad como la normal, chi-cuadrado, t de Student y F de Snedecor. Luego cubre temas de inferencia estadística como muestreo, distribuciones muestrales, estimación de parámetros, prueba de hipótesis estadísticas e intervalos de confianza. El documento provee una guía completa sobre los principales conceptos y métodos de
Estudio teórico y práctico sobre redes neuronales Artificiales y los modelos estadísticos convencionales. Además aplicaciones en R cran, algoritmo diseñados.
2. Introducci´n a los Algoritmos Gen´ticos
o e
El siguiente tutorial no pretende ser un documento exhaustivo acer-
ca de los Algoritmos Gen´ticos. M´s bien una referencia que sirva para
e a
introducir la terminolog´ los conceptos claves y una bibliograf´ de ba-
ıa, ıa
se, quedando en manos del lector profundizar en aquellos aspectos que
considere de mayor inter´s.
e
1. Introducci´n
o
Los Algoritmos Gen´ticos son m´todos adaptativos, generalmente usados en
e e
problemas de b´squeda y optimizaci´n de par´metros, basados en la reproduc-
u o a
ci´n sexual y en el principio supervivencia del m´s apto.
o a
M´s formalmente, y siguiendo la definici´n dada por Goldberg, “los Algorit-
a o
mos Gen´ticos son algoritmos de b´squeda basados en la mec´nica de selecci´n
e u a o
natural y de la gen´tica natural. Combinan la supervivencia del m´s apto entre
e a
estructuras de secuencias con un intercambio de informaci´n estructurado, aun-
o
que aleatorizado, para constituir as´ un algoritmo de b´squeda que tenga algo de
ı u
las genialidades de las b´squedas humanas” [Goldberg, 1989].
u
Para alcanzar la soluci´n a un problema se parte de un conjunto inicial
o
de individuos, llamado poblaci´n, generado de manera aleatoria. Cada uno
o
de estos individuos representa una posible soluci´n al problema. Estos indi-
o
viduos evolucionar´n tomando como base los esquemas propuestos por Dar-
a
win [Darwin, 1859] sobre la selecci´n natural, y se adaptar´n en mayor medida
o a
tras el paso de cada generaci´n a la soluci´n requerida.
o o
2. Or´
ıgenes
Si algo funciona bien, ¿por qu´ no imitarlo?. La respuesta a esta pregun-
e
ta nos lleva directamente a los or´ıgenes de la computaci´n evolutiva. Durante
o
millones de a˜os las diferentes especies se han adaptado para poder sobrevivir
n
en un medio cambiante. De la misma manera se podr´ tener una poblaci´n de
ıa o
potenciales soluciones a un problema de las que se ir´ seleccionando las mejo-
ıan
res hasta que se adaptasen perfectamente al medio, en este caso el problema a
resolver. En t´rminos muy generales se podr´ definir la computaci´n evolutiva
e ıa o
como una familia de modelos computacionales inspirados en la evoluci´n. o
M´s formalmente el t´rmino de computaci´n evolutiva se refiere al estudio
a e o
de los fundamentos y aplicaciones de ciertas t´cnicas heur´
e ısticas basadas en los
principios de la evoluci´n natural [Tomassini, 1995]. Estas t´cnicas heur´
o e ısticas
podr´ clasificarse en 3 categor´ principales dando lugar a la ecuaci´n evolu-
ıan ıas o
tiva (Fig. 1).
Figura 1: Ecuaci´n Evolutiva
o
A continuaci´n se detallar´n un poco m´s los or´
o a a ıgenes de cada una de las
disciplinas participantes en dicha ecuaci´n.
o
M. Gestal 2
3. Introducci´n a los Algoritmos Gen´ticos
o e
El desarrollo de los Algoritmos Gen´ticos se debe en gran medida a John
e
Holland, investigador de la Universidad de Michigan. A finales de la d´cada de
e
los 60 desarroll´ una t´cnica que imitaba en su funcionamiento a la selecci´n
o e o
natural. Aunque originalmente esta t´cnica recibi´ el nombre de planes repro-
e o
ductivos, a ra´ de la publicaci´n en 1975 de su libro “Adaptation in Natural
ız o
and Artificial Systems” [Holland, 1975] se conoce principalmente con el nombre
de Algoritmos Gen´ticos.
e
A grandes rasgos un Algoritmo Gen´tico consiste en una poblaci´n de solu-
e o
ciones codificadas de forma similar a cromosomas. Cada uno de estos cromoso-
mas tendr´ asociado un ajuste, valor de bondad, ajuste o fitness, que cuantifica
a
su validez como soluci´n al problema. En funci´n de este valor se le dar´n m´s
o o a a
o menos oportunidades de reproducci´n. Adem´s, con cierta probabilidad se
o a
realizar´n mutaciones de estos cromosomas.
a
Las bases de las Estrategias de Evoluci´n fueron apuntadas en 1973 por
o
Rechemberg en su obra “Evolutionsstrategie: Optimierung Technisher Systeme
nach Prinzipien der Biologischen Evolution” [Rechenberg, 1973]. Las dos Es-
trategias de Evoluci´n m´s empleadas son la (μ + λ)-ES y la (μ, λ)-ES. En la
o a
primera de ellas un total de μ producen λ descendientes reduci´ndose nueva-
e
mente la poblaci´n a μ individuos (los padres de la siguiente generaci´n) por
o o
selecci´n de los mejores individuos. De esta manera los padres sobreviven hasta
o
que son reemplazados por hijos mejores que ellos. En la (μ+λ)-ES la descenden-
cia reemplaza directamente a los padres, sin hacer ning´n tipo de comprobaci´n.
u o
La Programaci´n Evolutiva surge principalmente a ra´ del trabajo “Ar-
o ız
tificial Intelligence Through Simulated Evolution” de Fogel, Owens y Walsh,
publicado en 1966 [Fogel et al., 1966]. En este caso los individuos, conocidos
aqu´ como organismos, son m´quinas de estado finito. Los organismos que mejor
ı a
resuelven alguna de las funciones objetivo obtienen la oportunidad de reprodu-
cirse. Antes de producirse los cruces para generar la descendencia se realiza una
mutaci´n sobre los padres.
o
A su vez la computaci´n evolutiva puede verse como uno de los campos de
o
investigaci´n de lo que se ha dado en llamar Soft Computing (Fig. 2).
o
Figura 2: Soft Computing
Como se ha comentado anteriormente la computaci´n evolutiva tiene una
o
fuerte base biol´gica. En sus or´
o ıgenes los algoritmos evolutivos consistieron
en copiar procesos que tienen lugar en la selecci´n natural. Este ultimo con-
o ´
cepto hab´ sido introducido, rodeado de mucha pol´mica, por Charles Dar-
ıa e
win [Darwin, 1859]. A pesar de que a´n hoy en d´ no todos los detalles de la
u ıa
evoluci´n biol´gica son completamente conocidos, existen algunos hechos apo-
o o
yados sobre una fuerte evidencia experimental:
La evoluci´n es un proceso que opera, m´s que sobre los propios organis-
o a
mos, sobre los cromosomas. Estos cromosomas pueden ser considerados
como herramientas org´nicas que codifican la vida, o visto al rev´s, una
a e
M. Gestal 3
4. Introducci´n a los Algoritmos Gen´ticos
o e
criatura es creada decodificando la informaci´n contenida en los cromoso-
o
mas.
La selecci´n natural es el mecanismo que relaciona los cromosomas con la
o
eficiencia respecto al medio de la entidad que representan. Otorga a los
individuos m´s adaptados al medio un mayor n´mero de oportunidades
a u
de reproducirse.
Los procesos evolutivos tienen lugar durante la etapa de reproducci´n. o
Aunque existe una larga serie de mecanismos que afectan a la reproducci´n o
los m´s comunes son la mutaci´n, causante de que los cromosomas de la
a o
descendencia sean diferentes a los de los padres, y el cruce o recombinaci´n,
o
que combina los cromosomas de los padres para producir la descendencia.
3. Bases Biol´gicas
o
En la naturaleza, los individuos de una poblaci´n compiten constantemente
o
con otros por recursos tales como comida, agua y refugio. Los individuos que
tienen m´s ´xito en la lucha por los recursos tienen mayores probabilidades de
a e
sobrevivir y generalmente una descendencia mayor. Al contrario, los individuos
peor adaptados tienen un menor n´mero de descendientes, o incluso ninguno.
u
Esto implica que los genes de los individuos mejor adaptados se propagar´n a a
un n´mero cada vez mayor de individuos de las sucesivas generaciones.
u
La combinaci´n de caracter´
o ısticas buenas de diferentes ancestros puede ori-
ginar en ocasiones que la descendencia est´ incluso mejor adaptada al medio que
e
los padres. De esta manera, las especies evolucionan adapt´ndose m´s y m´s al
a a a
medio a medida que transcurren las generaciones [Beasley et al., 1993].
Pero la adaptaci´n de un individuo al medio no s´lo est´ determinada por su
o o a
composici´n gen´tica. Influyen otros factores como el aprendizaje, en ocasiones
o e
adquirido por el m´todo de prueba y error, en ocasiones adquirido por imitaci´n
e o
del comportamiento de los padres. Para imitar esta adquisici´n de conocimiento
o
se han desarrollado variantes como el Ajuste Fino.
Pero la adaptaci´n de un individuo al medio no s´lo est´ determinada por su
o o a
composici´n gen´tica. Influyen otros factores como el aprendizaje, en ocasiones
o e
adquirido por el m´todo de prueba y error, en ocasiones adquirido por imitaci´n
e o
del comportamiento de los padres. Para imitar esta adquisici´n de conocimiento
o
pueden emplearse t´cnicas de Ajuste Fino, consistentes en peque˜as modifica-
e n
ciones de los genes de un cromosoma. Por ejemplo, estas modificaciones pueden
realizarse tomando como resultado el mejor individuo tras la ejecuci´n de va-
o
rias generaciones de un Algoritmo Gen´tico cuya poblaci´n previamente ha sido
e o
creada a partir de ligeras variaciones del individuo al que se desea incorporar el
conocimiento.
4. Codificaci´n de Problemas
o
Cualquier soluci´n potencial a un problema puede ser presentada dando
o
valores a una serie de par´metros. El conjunto de todos los par´metros (genes
a a
en la terminolog´ de Algoritmos Gen´ticos) se codifica en una cadena de valores
ıa e
denominada cromosoma.
M. Gestal 4
5. Introducci´n a los Algoritmos Gen´ticos
o e
El conjunto de los par´metros representado por un cromosoma particular
a
recibe el nombre de genotipo. El genotipo contiene la informaci´n necesaria para
o
la construcci´n del organismo, es decir, la soluci´n real al problema, denominada
o o
fenotipo. Por ejemplo, en t´rminos biol´gicos, la informaci´n gen´tica contenida
e o o e
en el ADN de un individuo ser´ el genotipo, mientras que la expresi´n de ese
ıa o
ADN (el propio individuo) ser´ el fenotipo.
ıa
Desde los primeros trabajos de John Holland la codificaci´n suele hacerse
o
mediante valores binarios. Se asigna un determinado n´mero de bits a cada
u
par´metro y se realiza una discretizaci´n de la variable representada por cada
a o
gen. El n´mero de bits asignados depender´ del grado de ajuste que se desee
u a
alcanzar. Evidentemente no todos los par´metros tienen porque estar codificados
a
con el mismo n´mero de bits. Cada uno de los bits pertenecientes a un gen suele
u
recibir el nombre de alelo.
La figura 3 muestra un ejemplo de un individuo binario que codifica 3
par´metros.
a
Figura 3: Individuo Gen´tico Binario
e
Sin embargo, tambi´n pueden existir representaciones que codifiquen direc-
e
tamente cada par´metro con un valor entero, real o en punto flotante. A pesar
a
de que se acusa a estas representaciones de degradar el paralelismo impl´ ıcito
de las representaciones binarias, permiten el desarrollo de operadores gen´ticos
e
m´s espec´
a ıficos al campo de aplicaci´n del Algoritmo Gen´tico.
o e
Un ejemplo t´ıpico de la aplicaci´n de los Algoritmos Gen´ticos es la optimi-
o e
zaci´n de los pesos de una red de neuronas artificiales. La codificaci´n de la red
o o
en forma de cromosoma (fig. 4) es tan sencilla como asignar un gen del cromo-
soma a cada uno de los pesos de la red. Tambi´n se podr´ a˜adir genes que
e ıan n
indicasen el n´mero de capas de la red, y el n´mero de elementos de procesado
u u
en cada capa.
5. Algoritmo Principal
Los Algoritmos Gen´ticos trabajan sobre una poblaci´n de individuos. Cada
e o
uno de ellos representa una posible soluci´n al problema que se desea resolver.
o
Todo individuo tiene asociado un ajuste de acuerdo a la bondad con respecto
al problema de la soluci´n que representa (en la naturaleza el equivalente ser´
o ıa
una medida de la eficiencia del individuo en la lucha por los recursos).
M. Gestal 5
6. Introducci´n a los Algoritmos Gen´ticos
o e
Figura 4: Ejemplo Codificaci´n: Red de Neuronas Artificiales
o
El funcionamiento gen´rico de un Algoritmo Gen´tico puede apreciarse en
e e
el siguiente pseudoc´digo:
o
Inicializar poblaci´n actual aleatoriamente
o
MIENTRAS no se cumpla el criterio de terminaci´n
o
crear poblaci´n temporal vac´a
o ı
MIENTRAS poblaci´n temporal no llena
o
seleccionar padres
cruzar padres con probabilidad Pc
SI se ha producido el cruce
mutar uno de los descendientes con probabilidad Pm
evaluar descendientes
a~adir descendientes a la poblaci´n temporal
n o
SINO
a~adir padres a la poblaci´n temporal
n o
FIN SI
FIN MIENTRAS
aumentar contador generaciones
establecer como nueva poblaci´n actual la poblaci´n temporal
o o
FIN MIENTRAS
Una generaci´n se obtiene a partir de la anterior por medio de los operadores
o
de reproducci´n. Existen 2 tipos:
o
Cruce: Se trata de una reproducci´n de tipo sexual. Se genera una des-
o
cendencia a partir del mismo n´mero de individuos (generalmente 2) de
u
la generaci´n anterior. Existen varios tipos que se detallar´n en un punto
o a
posterior.
Copia: Se trata de una reproducci´n de tipo asexual. Un determinado
o
n´mero de individuos pasa sin sufrir ninguna variaci´n directamente a la
u o
siguiente generaci´n.
o
M. Gestal 6
7. Introducci´n a los Algoritmos Gen´ticos
o e
Una vez generados los nuevos individuos se realiza la mutaci´n con una
o
probabilidad Pm. La probabilidad de mutaci´n suele ser muy baja, por lo general
o
entre el 0.5 % y el 2 %.
Se sale de este proceso cuando se alcanza alguno de los criterios de parada
fijados. Los m´s usuales suelen ser:
a
Los mejores individuos de la poblaci´n representan soluciones suficiente-
o
mente buenas para el problema que se desea resolver.
La poblaci´n ha convergido. Un gen ha convergido cuando el 95 % de la
o
poblaci´n tiene el mismo valor para ´l, en el caso de trabajar con codi-
o e
ficaciones binarias, o valores dentro de un rango especificado, en el caso
de trabajar con otro tipo de codificaciones. Una vez que todos los genes
alcanzan la convergencia se dice que la poblaci´n ha convergido. Cuando
o
esto ocurre la media de bondad de la poblaci´n se aproxima a la bondad
o
del mejor individuo.
Se ha alcanzado el n´mero de generaciones m´ximo especificado.
u a
Sobre este algoritmo inicialmente propuesto por Holland se han definido
numerosas variantes.
Quiz´s una de las m´s extendidas consiste en prescindir de la poblaci´n
a a o
temporal de manera que los operadores gen´ticos de cruce y mutaci´n se aplican
e o
directamente sobre la poblaci´n gen´tica. Con esta variante el proceso de cruces
o e
var´ ligeramente. Ahora no basta, en el caso de que el cruce se produzca, con
ıa
insertar directamente la descendencia en la poblaci´n. Puesto que el n´mero
o u
de individuos de la poblaci´n se ha de mantener constante, antes de insertar la
o
descendencia en la poblaci´n se le ha de hacer sitio. Existen para ello diversas
o
opciones:
Reemplazo de padres: para hacer hueco a la descendencia en la pobla-
ci´n se eliminan de ella a los padres.
o
Reemplazo de individuos similares: cada uno de los individuos de la
descendencia reemplazar´ a un individuo de la poblaci´n con un ajuste
a o
similar al suyo. Para escoger este individuo se obtiene la posici´n en la
o
que se deber´ insertar el nuevo individuo para mantener ordenada la
ıa
poblaci´n y se escoge para insertarlo una posici´n al azar de su vecindad
o o
(p.e. uno de entre los cinco individuos superiores o inferiores).
Reemplazo de los peores individuos: los individuos que se eliminar´n a
de la poblaci´n para dejar paso a la descendencia se seleccionar´n aleato-
o a
riamente de entre los peores individuos de la poblaci´n. Por lo general se
o
consideran individuos pertenecientes al ultimo 10 %.
´
Reemplazo aleatorio: los individuos eliminados se seleccionan al azar.
Evidentemente trabajando con un unica poblaci´n no se puede decir que
´ o
se pase a la siguiente generaci´n cuando se llene la poblaci´n, pues siempre
o o
est´ llena. En este caso el paso a la siguiente generaci´n se producir´ una vez
a o a
que se hayan alcanzado cierto n´mero de cruces y mutaciones. Este n´mero
u u
depender´ de la tasa de cruces y mutaciones especificadas por el usuario y
a
M. Gestal 7
8. Introducci´n a los Algoritmos Gen´ticos
o e
del tama˜o de la poblaci´n. As´ con una tasa de cruces del 90 %, una tasa de
n o ı
mutaciones del 0.02 % y trabajando con 100 individuos se pasar´ a la siguiente
a
generaci´n cuando se alcanzasen 45 cruces (cada cruce genera 2 individuos con
o
lo que se habr´ insertado en la poblaci´n 90 individuos, esto es el 90 %) o 2
ıan o
mutaciones.
6. Operadores Gen´ticos
e
Para el paso de una generaci´n a la siguiente se aplican una serie de opera-
o
dores gen´ticos. Los m´s empleados son los operadores de selecci´n, cruce, copia
e a o
y mutaci´n. En el caso de no trabajar con una poblaci´n intermedia temporal
o o
tambi´n cobran relevancia los algoritmos de reemplazo.
e
A continuaci´n se ver´n en mayor detalle.
o a
6.1. Selecci´n
o
Los algoritmos de selecci´n ser´n los encargados de escoger qu´ individuos
o a e
van a disponer de oportunidades de reproducirse y cu´les no.
a
Puesto que se trata de imitar lo que ocurre en la naturaleza, se ha de otor-
gar un mayor n´mero de oportunidades de reproducci´n a los individuos m´s
u o a
aptos. Por lo tanto la selecci´n de un individuo estar´ relacionada con su valor
o a
de ajuste. No se debe sin embargo eliminar por completo las opciones de repro-
ducci´n de los individuos menos aptos, pues en pocas generaciones la poblaci´n
o o
se volver´ homog´nea.
ıa e
Una opci´n bastante com´n consiste en seleccionar el primero de los indi-
o u
viduos participantes en el cruce mediante alguno de los m´todos expuestos a
e
continuaci´n y el segundo de manera aleatoria.
o
6.1.1. Selecci´n por ruleta
o
Propuesto por DeJong, es posiblemente el m´todo m´s utilizado desde los
e a
or´
ıgenes de los Algoritmos Gen´ticos [Blickle and Thiele, 1995].
e
A cada uno de los individuos de la poblaci´n se le asigna una parte pro-
o
porcional a su ajuste de una ruleta, de tal forma que la suma de todos los
porcentajes sea la unidad. Los mejores individuos recibir´n una porci´n de la
a o
ruleta mayor que la recibida por los peores. Generalmente la poblaci´n est´ or-
o a
denada en base al ajuste por lo que las porciones m´s grandes se encuentran al
a
inicio de la ruleta. Para seleccionar un individuo basta con generar un n´mero
u
aleatorio del intervalo [0..1] y devolver el individuo situado en esa posici´n de
o
la ruleta. Esta posici´n se suele obtener recorriendo los individuos de la pobla-
o
ci´n y acumulando sus proporciones de ruleta hasta que la suma exceda el valor
o
obtenido.
Es un m´todo muy sencillo, pero ineficiente a medida que aumenta el tama˜o
e n
de la poblaci´n (su complejidad es O(n2 )). Presenta adem´s el inconveniente de
o a
que el peor individuo puede ser seleccionado m´s de una vez.
a
En mucha bibliograf´ se suele referenciar a este m´todo con el nombre de
ıa e
Selecci´n de Montecarlo.
o
M. Gestal 8
9. Introducci´n a los Algoritmos Gen´ticos
o e
6.1.2. Selecci´n por torneo
o
La idea principal de este m´todo consiste en realizar la selecci´n en base
e o
a comparaciones directas entre individuos. Existen dos versiones de selecci´n
o
mediante torneo:
Determin´
ıstica
Probabil´
ıstica
En la versi´n determin´
o ıstica se selecciona al azar un n´mero p de indivi-
u
duos (generalmente se escoge p = 2). De entre los individuos seleccionados se
selecciona el m´s apto para pasarlo a la siguiente generaci´n.
a o
La versi´n probabil´
o ıstica unicamente se diferencia en el paso de selecci´n del
´ o
ganador del torneo. En vez de escoger siempre el mejor se genera un n´mero u
aleatorio del intervalo [0..1], si es mayor que un par´metro p (fijado para todo el
a
proceso evolutivo) se escoge el individuo m´s alto y en caso contrario el menos
a
apto. Generalmente p toma valores en el rango 0,5 < p ≤ 1.
Variando el n´mero de individuos que participan en cada torneo se puede
u
modificar la presi´n de selecci´n. Cuando participan muchos individuos en cada
o o
torneo, la presi´n de selecci´n es elevada y los peores individuos apenas tienen
o o
oportunidades de reproducci´n. Un caso particular es el elitismo global. Se trata
o
de un torneo en el que participan todos los individuos de la poblaci´n con lo cual
o
la selecci´n se vuelve totalmente determin´
o ıstica. Cuando el tama˜o del torneo
n
es reducido, la presi´n de selecci´n disminuye y los peores individuos tienen m´s
o o a
oportunidades de ser seleccionados.
Elegir uno u otro m´todo de selecci´n determinar´ la estrategia de b´sque-
e o a u
da del Algoritmo Gen´tico. Si se opta por un m´todo con una alta presi´n de
e e o
selecci´n se centra la b´squeda de las soluciones en un entorno pr´ximo a las
o u o
mejores soluciones actuales. Por el contrario, optando por una presi´n de selec-
o
ci´n menor se deja el camino abierto para la exploraci´n de nuevas regiones del
o o
espacio de b´squeda.
u
Existen muchos otros algoritmos de selecci´n. Unos buscan mejorar la efi-
o
ciencia computacional, otros el n´mero de veces que los mejores o peores in-
u
dividuos pueden ser seleccionados. Algunos de estos algoritmos son muestreo
determin´ ıstico, escalamiento sigma, selecci´n por jerarqu´ estado uniforme,
o ıas,
sobrante estoc´stico, brecha generacional, etc.
a
6.2. Cruce
Una vez seleccionados los individuos, ´stos son recombinados para producir
e
la descendencia que se insertar´ en la siguiente generaci´n. Tal y como se ha
a o
indicado anteriormente el cruce es una estrategia de reproducci´n sexual.
o
Su importancia para la transici´n entre generaciones es elevada puesto que
o
las tasas de cruce con las que se suele trabajar rondan el 90 %.
Los diferentes m´todos de cruce podr´n operar de dos formas diferentes.
e a
Si se opta por una estrategia destructiva los descendientes se insertar´n en la
a
poblaci´n temporal aunque sus padres tengan mejor ajuste (trabajando con una
o
unica poblaci´n esta comparaci´n se realizar´ con los individuos a reemplazar).
´ o o a
Por el contrario utilizando una estrategia no destructiva la descendencia pasar´ a
a
la siguiente generaci´n unicamente si supera la bondad del ajuste de los padres
o ´
M. Gestal 9
10. Introducci´n a los Algoritmos Gen´ticos
o e
(o de los individuos a reemplazar). La idea principal del cruce se basa en que,
si se toman dos individuos correctamente adaptados al medio y se obtiene una
descendencia que comparta genes de ambos, existe la posibilidad de que los
genes heredados sean precisamente los causantes de la bondad de los padres.
Al compartir las caracter´ ısticas buenas de dos individuos, la descendencia, o
al menos parte de ella, deber´ tener una bondad mayor que cada uno de los
ıa
padres por separado. Si el cruce no agrupa las mejores caracter´ ısticas en uno de
los hijos y la descendencia tiene un peor ajuste que los padres no significa que se
est´ dando un paso atr´s. Optando por una estrategia de cruce no destructiva
e a
garantizamos que pasen a la siguiente generaci´n los mejores individuos. Si, a´n
o u
con un ajuste peor, se opta por insertar a la descendencia, y puesto que los genes
de los padres continuar´n en la poblaci´n - aunque dispersos y posiblemente
a o
levemente modificados por la mutaci´n - en posteriores cruces se podr´n volver
o a
a obtener estos padres, recuperando as´ la bondad previamente perdida.
ı
Existen multitud de algoritmos de cruce. Sin embargo los m´s empleados
a
son los que se detallar´n a continuaci´n:
a o
Cruce de 1 punto
Cruce de 2 puntos
Cruce uniforme
6.2.1. Cruce de 1 punto
Es la m´s sencilla de las t´cnicas de cruce. Una vez seleccionados dos indivi-
a e
duos se cortan sus cromosomas por un punto seleccionado aleatoriamente para
generar dos segmentos diferenciados en cada uno de ellos: la cabeza y la cola.
Se intercambian las colas entre los dos individuos para generar los nuevos des-
cendientes. De esta manera ambos descendientes heredan informaci´n gen´tica
o e
de los padres, tal y como puede verse en la figura 5.
En la bibliograf´ suele referirse a este tipo de cruce con el nombre de SPX
ıa
(Single Point Crossover)
Figura 5: Cruce de 1 Punto
6.2.2. Cruce de 2 puntos
Se trata de una generalizaci´n del cruce de 1 punto. En vez de cortar por un
o
unico punto los cromosomas de los padres como en el caso anterior se realizan
´
dos cortes. Deber´ tenerse en cuenta que ninguno de estos puntos de corte
a
coincida con el extremo de los cromosomas para garantizar que se originen tres
M. Gestal 10
11. Introducci´n a los Algoritmos Gen´ticos
o e
segmentos. Para generar la descendencia se escoge el segmento central de uno
de los padres y los segmentos laterales del otro padre (ver figura 6.
Figura 6: Cruce de 2 Puntos
Generalmente se suele referir a este tipo de cruce con las siglas DPX (Double
Point Crossover).
Generalizando se pueden a˜adir m´s puntos de cruce dando lugar a algorit-
n a
mos de cruce multipunto. Sin embargo existen estudios que desaprueban esta
t´cnica [Jong, 1975] . Aunque se admite que el cruce de 2 puntos aporta una
e
sustancial mejora con respecto al cruce de un solo punto, el hecho de a˜adir un
n
mayor n´mero de puntos de cruce reduce el rendimiento del Algoritmo Gen´tico.
u e
El problema principal de a˜adir nuevos puntos de cruce radica en que es m´s
n a
f´cil que los segmentos originados sean corrompibles, es decir, que por separado
a
quiz´s pierdan las caracter´
a ısticas de bondad que pose´ conjuntamente. Sin
ıan
embargo no todo son desventajas y a˜adiendo m´s puntos de cruce se consigue
n a
que el espacio de b´squeda del problema sea explorado m´s a fondo.
u a
6.2.3. Cruce Uniforme
El cruce uniforme es una t´cnica completamente diferente de las vistas hasta
e
el momento. Cada gen de la descendencia tiene las mismas probabilidades de
pertenecer a uno u otro padre.
Aunque se puede implementar de muy diversas formas, la t´cnica implica
e
la generaci´n de una m´scara de cruce con valores binarios. Si en una de las
o a
posiciones de la m´scara hay un 1, el gen situado en esa posici´n en uno de los
a o
descendientes se copia del primer padre. Si por el contrario hay un 0 el gen se
copia del segundo padre. Para producir el segundo descendiente se intercambian
los papeles de los padres, o bien se intercambia la interpretaci´n de los unos y
o
los ceros de la m´scara de cruce.
a
Tal y como se puede apreciar en la figura 7, la descendencia contiene una
mezcla de genes de cada uno de los padres. El n´mero efectivo de puntos de
u
cruce es fijo pero ser´ por t´rmino medio L/2, siendo L la longitud del cromo-
a e
soma (n´mero de alelos en representaciones binarias o de genes en otro tipo de
u
representaciones).
Se suele referir a este tipo de cruce con las siglas UPX (Uniform Point
Crossover).
6.2.4. Cruces espec´
ıficos de codificaciones no binarias
Los tres tipos de cruce vistos hasta el momento son v´lidos para cualquier
a
tipo de representaci´n del genotipo. Si se emplean genotipos compuestos por
o
M. Gestal 11
12. Introducci´n a los Algoritmos Gen´ticos
o e
Figura 7: Cruce Uniforme
valores enteros o reales pueden definirse otro tipo de operadores de cruce:
Media: el gen de la descendencia toma el valor medio de los genes de los
padres. Tiene la desventaja de que unicamente se genera un descendiente
´
en el cruce de dos padres.
Media geom´trica: cada gen de la descendencia toma como valor la ra´
e ız
cuadrada del producto de los genes de los padres. Presenta el problema
a˜adido de qu´ signo dar al resultado si los padres tienen signos diferentes.
n e
Extensi´n: se toma la diferencia existente entre los genes situados en las
o
mismas posiciones de los padres y se suma al valor m´s alto o se resta del
a
valor m´s bajo. Solventa el problema de generar un unico descendiente.
a ´
6.3. Algoritmos de Reemplazo
Cuando en vez de trabajar con una poblaci´n temporal se hace con una unica
o ´
poblaci´n, sobre la que se realizan las selecciones e inserciones, deber´ tenerse en
o a
cuenta que para insertar un nuevo individuo deber´ de eliminarse previamente
a
otro de la poblaci´n. Existen diferentes m´todos de reemplazo:
o e
Aleatorio: el nuevo individuo se inserta en un lugar cualquiera de la
poblaci´n.
o
Reemplazo de padres: se obtiene espacio para la nueva descendencia
liberando el espacio ocupado por los padres.
Reemplazo de similares: una vez obtenido el ajuste de la descendencia
se selecciona un grupo de individuos (entre seis y diez) de la poblaci´n con
o
un ajuste similar. Se reemplazan aleatoriamente los que sean necesarios.
Reemplazo de los peores: de entre un porcentaje de los peores indi-
viduos de la poblaci´n se seleccionan aleatoriamente los necesarios para
o
dejar sitio a la descendencia.
M. Gestal 12
13. Introducci´n a los Algoritmos Gen´ticos
o e
6.4. Copia
La copia es la otra estrategia reproductiva para la obtenci´n de una nueva
o
generaci´n a partir de la anterior. A diferencia del cruce, se trata de una estra-
o
tegia de reproducci´n asexual. Consiste simplemente en la copia de un individuo
o
en la nueva generaci´n.
o
El porcentaje de copias de una generaci´n a la siguiente es relativamente
o
reducido, pues en caso contrario se corre el riesgo de una convergencia prematura
de la poblaci´n hacia ese individuo. De esta manera el tama˜o efectivo de la
o n
poblaci´n se reducir´ notablemente y la b´squeda en el espacio del problema
o ıa u
se focalizar´ en el entorno de ese individuo.
ıa
Lo que generalmente se suele hacer es seleccionar dos individuos para el
cruce, y si ´ste finalmente no tiene lugar, se insertan en la siguiente generaci´n
e o
los individuos seleccionados.
6.5. Mutaci´n
o
La mutaci´n de un individuo provoca que alguno de sus genes, generalmente
o
uno s´lo, var´ su valor de forma aleatoria.
o ıe
Aunque se pueden seleccionar los individuos directamente de la poblaci´n o
actual y mutarlos antes de introducirlos en la nueva poblaci´n, la mutaci´n se
o o
suele utilizar de manera conjunta con el operador de cruce. Primeramente se se-
leccionan dos individuos de la poblaci´n para realizar el cruce. Si el cruce tiene
o
´xito entonces uno de los descendientes, o ambos, se muta con cierta probabili-
e
dad Pm. Se imita de esta manera el comportamiento que se da en la naturaleza,
pues cuando se genera la descendencia siempre se produce alg´n tipo de error,
u
por lo general sin mayor trascendencia, en el paso de la carga gen´tica de padres
e
a hijos.
La probabilidad de mutaci´n es muy baja, generalmente menor al 1 %. Esto
o
se debe sobre todo a que los individuos suelen tener un ajuste menor despu´s de
e
mutados. Sin embargo se realizan mutaciones para garantizar que ning´n punto
u
del espacio de b´squeda tenga una probabilidad nula de ser examinado.
u
Tal y como se ha comentado, la mutaci´n m´s usual es el reemplazo aleatorio.
o a
Este consiste en variar aleatoriamente un gen de un cromosoma. Si se trabaja
con codificaciones binarias consistir´ simplemente en negar un bit. Tambi´n es
a e
posible realizar la mutaci´n intercambiando los valores de dos alelos del cromo-
o
soma. Con otro tipo de codificaciones no binarias existen otras opciones:
Incrementar o decrementar a un gen una peque˜a cantidad generada alea-
n
toriamente.
Multiplicar un gen por un valor aleatorio pr´ximo a 1.
o
Aunque no es lo m´s com´n, existen implementaciones de Algoritmos Gen´ti-
a u e
cos en las que no todos los individuos tienen los cromosomas de la misma lon-
gitud. Esto implica que no todos ellos codifican el mismo conjunto de variables.
En este caso existen mutaciones adicionales como puede ser a˜ adir un nuevo
n
gen o eliminar uno ya existente.
M. Gestal 13
14. Introducci´n a los Algoritmos Gen´ticos
o e
7. Evaluaci´n
o
Para el correcto funcionamiento de un Algoritmo Gen´tico se debe de poseer
e
un m´todo que indique si los individuos de la poblaci´n representan o no buenas
e o
soluciones al problema planteado. Por lo tanto para cada tipo de problema que
se desee resolver deber´ derivarse un nuevo m´todo, al igual que ocurrir´ con la
a e a
propia codificaci´n de los individuos.
o
De esto se encarga la funci´n de evaluaci´n, que establece una medida
o o
num´rica de la bondad de una soluci´n. Esta medida recibe el nombre de ajuste.
e o
En la naturaleza el ajuste (o adecuaci´n) de un individuo puede considerarse co-
o
mo la probabilidad de que ese individuo sobreviva hasta la edad de reproducci´no
y se reproduzca. Esta probabilidad deber´ estar ponderada con el n´mero de
a u
descendientes. Evidentemente no es lo mismo una probabilidad de reproducci´n o
del 25 % en una poblaci´n de un par de cientos de individuos que esa misma
o
probabilidad en una poblaci´n de varios millones.
o
En el mundo de los Algoritmos Gen´ticos se emplear´ esta medici´n para
e a o
controlar la aplicaci´n de los operadores gen´ticos. Es decir, permitir´ controlar
o e a
el n´mero de selecciones, cruces, copias y mutaciones llevadas a cabo.
u
La aproximaci´n m´s com´n consiste en crear expl´
o a u ıcitamente una medida de
ajuste para cada individuo de la poblaci´n. A cada uno de los individuos se les
o
asigna un valor de ajuste escalar por medio de un procedimiento de evaluaci´n o
bien definido. Tal y como se ha comentado, este procedimiento de evaluaci´n o
ser´ espec´
a ıfico del dominio del problema en el que se aplica el Algoritmo Gen´ti-
e
co. Tambi´n puede calcularse el ajuste mediante una manera ’co-evolutiva’. Por
e
ejemplo, el ajuste de una estrategia de juego se determina aplicando esa estra-
tegia contra la poblaci´n entera (o en su defecto una muestra) de estrategias de
o
oposici´n.
o
Se pueden diferenciar cuatro tipos de ajuste o fitness [Koza, 1992]:
Fitness Puro: r(i,t)
Es la medida de ajuste establecida en la terminolog´ natural del propio
ıa
problema. La ecuaci´n 1 establece el c´lculo del valor de bondad de un
o a
individuo i en un instante t (o generaci´n).
o
Nc
r(i, t) = |s(i, j) − c(i, j)| (1)
j=1
Siendo :
s(i, j) = valor deseado para el individuo i en el caso j
c(i, j) = valor obtenido por el individuo i para el caso j
Nc = N´mero de casos
u
Por ejemplo, sup´ngase una poblaci´n de hormigas que deben llenar la
o o
despensa de cara al invierno. La bondad de cada hormiga ser´ el n´mero
a u
de piezas de comida llevadas por ella hasta el hormiguero.
M. Gestal 14
15. Introducci´n a los Algoritmos Gen´ticos
o e
En los problemas de maximizaci´n, como ser´ el de las hormigas mencio-
o ıa
nado anteriormente, los individuos con un fitness puro elevado ser´n los
a
m´s interesantes. Al contrario, en los problemas de minimizaci´n intere-
a o
sar´n los individuos con un fitness puro reducido.
a
Fitness Estandarizado: s(i,t)
Para solucionar esta dualidad ante problemas de minimizaci´n o maximi-
o
zaci´n se modifica el ajuste puro de acuerdo a la ecuaci´n 2.
o o
r(i, t) minimizaci´n
o
s(i, t) = (2)
rmax − r(i, t) maximizaci´n
o
En el caso de problemas de minimizaci´n se emplea directamente la medida
o
de fitness puro. Si el problema es de maximizaci´n se resta de una cota
o
superior rmax del error el fitness puro. Empleando esta m´trica la bondad
e
de un individuo ser´ mayor cuanto m´s cercano est´ a cero el valor del
a a e
ajuste. Por lo tanto, dentro de la generaci´n t, un individuo i siempre
o
ser´ mejor que uno j si se verifica que s(i, t) < s(j, t).
a
Fitness Ajustado: a(i,t)
Se obtiene aplicando la transformaci´n reflejada en la ecuaci´n 3 al fitness
o o
estandarizado.
1
a(i, t) = (3)
1 + s(i, t)
De esta manera, el fitness ajustado tomar´ siempre valores del intervalo
a
[0..1]. Cuando m´s se aproxime el fitness ajustado de un individuo a 1
a
mayor ser´ su bondad.
a
Fitness Normalizado: n(i,t)
Los diferentes tipos de fitness vistos hasta ahora hacen referencia uni-
´
camente a la bondad del individuo en cuesti´n. El fitness normalizado
o
introduce un nuevo aspecto: indica la bondad de una soluci´n con respec-
o
to al resto de soluciones representadas en la poblaci´n. Considerando una
o
poblaci´n de tama˜o N, se obtiene seg´n la ecuaci´n 4.
o n u o
a(i, t)
n(i, t) = N
(4)
k=1 a(k, t)
Al igual que el fitness ajustado, siempre tomar´ valores del intervalo [0..1],
a
con mejores individuos cuanto m´s pr´ximo est´ a la unidad. Pero a di-
a o e
ferencia de antes, un valor cercano a 1 no s´lo indica que ese individuo
o
represente una buena soluci´n al problema, sino que adem´s es una so-
o a
luci´n destacadamente mejor que las proporcionadas por el resto de la
o
poblaci´n.
o
La suma de los valores del fitness normalizado de todos los individuos de
una poblaci´n dar´ siempre 1.
o a
Este tipo de ajuste es empleado en la mayor´ de los m´todos de selecci´n
ıa e o
proporcionales al fitness.
M. Gestal 15
16. Introducci´n a los Algoritmos Gen´ticos
o e
Referencias
[Beasley et al., 1993] Beasley, D., Bull, D. R., and Martin, R. R. (1993). An
overview of genetic algorithms: Part 1, fundamentals. University Computing,
15(2):58–69.
[Blickle and Thiele, 1995] Blickle, T. and Thiele, L. (1995). A comparison of
selection schemes used in genetic algorithms. Technical Report 11, Computer
Engineering and Comunnication Network Lab (TIK), Gloriastrasse 35, 8092
Zurich, Switzerland.
[Darwin, 1859] Darwin, C. (1859). On the Origin of Species by Means of Natural
Selection. John Murray, London.
[Fogel et al., 1966] Fogel, L. J., Owens, A. J., and Walsh, M. J. (1966). Artificial
Intelligence through Simulated Evolution. John Wiley & Sons, New York.
[Goldberg, 1989] Goldberg, D. E. (1989). Genetic Algorithms in Search, Opti-
mization and Machine Learning. Addison-Wesley Longman Publishing Co.,
Inc., Boston, MA, USA.
[Holland, 1975] Holland, J. H. (1975). Adaptation in Natural and Artificial
Systems. University of Michigan Press, Ann Arbor. Republished by the MIT
press, 1992.
[Jong, 1975] Jong, K. A. D. (1975). An analysis of the behavior of a class of
genetic adaptive systems. PhD thesis, University of Michigan.
[Koza, 1992] Koza, J. R. (1992). Genetic Programming: On the Programming
of Computers by Means of Natural Selection (Complex Adaptive Systems).
The MIT Press.
[Rechenberg, 1973] Rechenberg, I. (1973). Evolutionsstrategie: Optimierung te-
chnischer Systeme nach Prinzipien der biologischen Evolution. Frommann-
Holzboog, Stuttgart.
[Tomassini, 1995] Tomassini, M. (1995). A survey of genetic algorithms. Annual
Reviews of Computational Physics, III:87–118.
M. Gestal 16