1
INTRODUCCIONJohn Holland (profesor de psicología, ingeniería eléctrica yciencias de la computación) desde pequeño, se preg...
¿QUE ES UN ALGORITMO GENETICO?       El algoritmo genético es una técnica de búsqueda basada en la teoría de laevolución d...
que imita a la evolución biológica como estrategia para resolver problemas. Esuna serie de pasos organizados que describe ...
descendientes "superindividuos", cuya adaptación es mucho mayor que la decualquiera de sus ancestros. De esta manera, las ...
ALGORITMO GENETICO SIMPLE   El Algoritmo Genético Simple, también denominado Canónico, se necesita unacodificación o repre...
Algoritmo SimpleBEGIN /* Algoritmo Genético Simple */Generar una población inicial y computar la funciónde evaluación de c...
Genéticos. La adaptación al problema de un individuo depende de la evaluación delgenotipo. Esta última puede inferirse a p...
exploración rápida del espacio de búsqueda, este último asegura que ningún punto delespacio de búsqueda tenga probabilidad...
Sin embargo también pueden existir representaciones que codifiquendirectamente cada parámetro con un valor entero, real o ...
una forma modificada por la que el individuo mejor, o algunos de los mejores,son copiados hacia la siguiente generación en...
Selección por estado estacionario: la descendencia de los individuos       seleccionados en cada generación vuelven al ace...
segmentos diferenciado en cada uno de ellos. La cabeza y la cola. Seintercambia las colas entre los dos individuos para ge...
Cruce Uniforme: completamente distinta a las técnicas anteriores. Cadagen de la descendencia tiene las mismas probabilidad...
MUTACION   Una vez que la selección ha elegido a los individuos aptos, éstos deben seralterados aleatoriamente con la espe...
algunos de sus genes, generalmente uno solo, varié su valor de forma aleatoria. Lamutación generalmente suele utilizar de ...
CONCLUSION       De todo lo anteriormente dicho se puede decir que la principal ventaja de losalgoritmos genéticos radica ...
18
Upcoming SlideShare
Loading in …5
×

Trabajo+completo+de+inteligencia+algoritmo+genetico

555 views
511 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
555
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Trabajo+completo+de+inteligencia+algoritmo+genetico

  1. 1. 1
  2. 2. INTRODUCCIONJohn Holland (profesor de psicología, ingeniería eléctrica yciencias de la computación) desde pequeño, se preguntaba cómologra la naturaleza, crear seres cada vez más No sabía la respuesta,pero tenía una cierta idea de como hallarla: tratando dehacer pequeños modelos de la naturaleza, que tuvieran algunade sus características, y ver cómo funcionaban. En los años 50entró en contacto con los primeros ordenadores, donde pudo llevara cabo algunas de sus ideas, aunque no se encontró con unambiente intelectual fértil para propagarlas. Fue a principios de los60, en la Universidad de Michigan en Ann Arbor, donde, dentrodel grupo Logic of Computers, sus ideas comenzaron a desarrollarsey a dar frutos. Y fue, además, leyendo un libro escrito por unbiólogo evolucionista, R. A. Fisher, titulado La teoría genética de laselección natural, como comenzó a descubrir los medios de llevar acabo sus propósitos de comprensión de la naturaleza y tomó ladecisión de aplicar estas ideas para desarrollar programas bienadaptados para un fin determinado.En esa universidad, Holland impartía un curso titulado Teoría desistemas adaptativos. Dentro de este curso, y con una participaciónactiva por parte de sus estudiantes, fue donde se crearon las ideasque más tarde se convertirían en los algoritmos genéticos.Por tanto, cuando Holland se enfrentó a los algoritmos genéticos,los objetivos de su investigación fueron dos:  imitar los procesos adaptativos de los sistemas naturales, y  diseñar sistemas artificiales (normalmente programas) que retengan los mecanismos importantes de los sistemas naturales.} 2
  3. 3. ¿QUE ES UN ALGORITMO GENETICO? El algoritmo genético es una técnica de búsqueda basada en la teoría de laevolución de Darwin, que ha cobrado tremenda popularidad en todo el mundo durantelos últimos años. En los últimos años, la comunidad científica internacional hamostrado un creciente interés en una nueva técnica de búsqueda basada en la teoría dela evolución y que se conoce como el algoritmo genético. Esta técnica se basa en losmecanismos de selección que utiliza la naturaleza, de acuerdo a los cuales losindividuos más aptos de una población son los que sobreviven, al adaptarse másfácilmente a los cambios que se producen en su entorno. Un investigador de la Universidad de Michigan llamado John Holland eraconsciente de la importancia de la selección natural, y a fines de los 60sdesarrolló una técnica que permitió incorporarla a un programa. Su objetivo eralograr que las computadoras aprendieran por sí mismas. A la técnica que inventóHolland se le llamó originalmente "planes reproductivos", pero se hizo popular bajoel nombre "algoritmo genético" tras la publicación de su libro en 1975. Los Algoritmos Genéticos (AGs) son métodos adaptativos que pueden usarsepara resolver problemas de búsqueda y optimización. Están basados en el procesogenético de los organismos vivos. A lo largo de las generaciones, las poblacionesevolucionan en la naturaleza de acorde con los principios de la selección naturaly la supervivencia de los más fuertes, postulados por Darwin. Por imitación deeste proceso, los Algoritmos Genéticos son capaces de ir creando soluciones paraproblemas del mundo real. La evolución de dichas soluciones hacia valores óptimosdel problema depende en buena medida de una adecuada codificación de las mismas. Consiste en una función matemática o una rutina de software que tomacomo entradas a los ejemplares y retorna como salidas cuáles de ellos debengenerar descendencia para la nueva generación. Es una técnica de programación 3
  4. 4. que imita a la evolución biológica como estrategia para resolver problemas. Esuna serie de pasos organizados que describe el proceso que se debe seguir, paradar solución a un problema específico. En los años 1970, de la mano de JohnHenry Holland, surgió una de las líneas más prometedoras de la inteligenciaartificial, la de los algoritmos genéticos. Son llamados así porque se inspiran enla evolución biológica y su base genético-molecular. Estos algoritmos hacenevolucionar una población de individuos sometiéndola a acciones aleatoriassemejantes a las que actúan en la evolución biológica (mutaciones yrecombinaciones genéticas), así como también a una Selección de acuerdo conalgún criterio, en función del cual se decide cuáles son los individuos másadaptados, que sobreviven, y cuáles los menos aptos, que son descartados. Son métodos adaptativo usados en la búsqueda de optimización deparámetros basados en la reproducción sexual y en el principio de lasupervivencia del más apto. Estos son algoritmos de búsquedas basadas en lamecánica de selección natural y de la genética natural. Para alcanzar lasolución de un problema se parte de un conjunto inicial de individuos, llamadospoblación, generado de manera aleatoria. Cada uno de estos individuosrepresenta una posible solución al problema. Problemática En la naturaleza los individuos de una población compiten entre sí en labúsqueda de recursos tales como comida, agua y refugio. Incluso los miembros deuna misma especie compiten a menudo en la búsqueda de un compañero. Aquellosindividuos que tienen más éxito en sobrevivir y en atraer compañeros tienen mayorprobabilidad de generar un gran número de descendientes. Por el contrario individuospoco dotados producirán un menor número de descendientes. Esto significa que los genes de los individuos mejor adaptados se propagaránen sucesivas generaciones hacia un número de individuos creciente. La combinaciónde buenas características provenientes de diferentes ancestros, puede a veces producir 4
  5. 5. descendientes "superindividuos", cuya adaptación es mucho mayor que la decualquiera de sus ancestros. De esta manera, las especies evolucionan logrando unascaracterísticas cada vez mejor adaptadas al entorno en el que viven. Los Algoritmos Genéticos usan una analogía directa con el comportamientonatural. Trabajan con una población de individuos, cada uno de los cuales representauna solución factible a un problema dado. A cada individuo se le asigna un valor ópuntuación, relacionado con la bondad de dicha solución. En la naturaleza estoequivaldría al grado de efectividad de un organismo para competir por unosdeterminados recursos. Cuanto mayor sea la adaptación de un individuo al problema,mayor será la probabilidad de que el mismo sea seleccionado para reproducirse,cruzando su material genético con otro individuo seleccionado de igual forma. Estecruce producirá nuevos individuos. descendientes de los anteriores . los cualescomparten algunas de las características de sus padres. Cuanto menor sea laadaptación de un individuo, menor será la probabilidad de que dicho individuo seaseleccionado para la reproducción, y por tanto de que su material genético sepropague en sucesivas generaciones. De esta manera se produce una nueva población de posibles soluciones, lacual reemplaza a la anterior y verifica la interesante propiedad de que contiene unamayor proporción de buenas características en comparación con la población anterior.Así a lo largo de las generaciones las buenas características se propagan a través de lapoblación. Favoreciendo el cruce de los individuos mejor adaptados, van siendoexploradas las áreas más prometedoras del espacio de búsqueda. Si el AlgoritmoGenético ha sido bien diseñado, la, población convergerá hacia una solución óptimadel problema. 5
  6. 6. ALGORITMO GENETICO SIMPLE El Algoritmo Genético Simple, también denominado Canónico, se necesita unacodificación o representación del problema, que resulte adecuada al mismo. Ademásse requiere una función de ajuste o adaptación al problema, la cual asigna un númeroreal a cada posible solución codificada. Durante la ejecución del algoritmo, los padresdeben ser seleccionados para la reproducción, a continuación dichos padresseleccionados se cruzarán generando dos hijos, sobre cada uno de los cuales actuaráun operador de mutación. El resultado de la combinación de las anteriores funcionesserá un conjunto de individuos (posibles soluciones al problema), los cuales en laevolución del Algoritmo Genético formarán parte de la siguiente población. 6
  7. 7. Algoritmo SimpleBEGIN /* Algoritmo Genético Simple */Generar una población inicial y computar la funciónde evaluación de cada individuoWHILE NOT Terminado DOBEGIN /* Producir nueva generación */FOR Tamañopoblación/2 DOBEGIN /*Ciclo Reproductivo */Seleccionar dos individuos de la anterior generación, para el cruce (probabilidad deselección proporcional a la función de evaluación del individuo) Cruzar con ciertaprobabilidad los dos individuos obteniendo dos descendientes Mutar los dosdescendientes con cierta probabilidad Computar la función de evaluación de los dosdescendientes mutadosInsertar los dos descendientes mutados en la nueva generaciónENDIF la población ha convergido THENTerminado:= TRUEENDEND Evolución de los Algoritmos Genéticos Simples Se supone que los individuos (posibles soluciones del problema), puedenrepresentarse como un con junto de parámetros (que denominaremos genes), loscuales agrupados forman una ristra de valores (a menudo referida como cromosoma).Si bien el alfabeto utilizado para representar los individuos no debe necesariamenteestar constituido por el 0 y 1 buena parte de la teoría en la que se fundamentan losAlgoritmos Genéticos utiliza dicho alfabeto. En términos biológicos, el conjunto deparámetros representando un cromosoma particular se denomina fenotipo. El fenotipocontiene la información requerida para construir un organismo, el cual se refierecomo genotipo. Los mismos términos se utilizan en el campo de los Algoritmos 7
  8. 8. Genéticos. La adaptación al problema de un individuo depende de la evaluación delgenotipo. Esta última puede inferirse a partir del fenotipo, es decir puede sercomputada a partir del cromosoma, usando la función de evaluación. La función de adaptación debe ser diseñada para cada problema de maneraespecífica. Dado un cromosoma particular, la función de adaptación le asigna unnúmero real, que se supone refleja el nivel de adaptación al problema del individuorepresentado por el cromosoma. Durante la fase reproductiva se seleccionan losindividuos de la población para cruzarse y producir descendientes, que constituirán,una vez mutados, la siguiente generación de individuos. La selección de padres seefectuar al azar usando un procedimiento que favorezca a los individuos mejoradaptados, ya que a cada individuo se le asigna una probabilidad de ser seleccionadoque es proporcional a su función de adaptación. Este procedimiento se dice que está basado en la ruleta sesgada. Según dichoesquema, los individuos bien adaptados se escogerán probablemente varias veces porgeneración, mientras que los pobremente adaptados al problema, no se escogerán másque de vez en cuando. Una vez seleccionados dos padres, sus cromosomas secombinan, utilizando habitualmente los operadores de cruce y nutación. Las formasbásicas de dichos operadores se describen a continuación. El operador de cruce, cogedos padres seleccionados y corta sus ristras de cromosomas en una posición escogidaal azar, para producir dos subristras iniciales y dos subristrasnales. Ambosdescendientes heredan genes de cada uno de los padres. Este operador se conocecomo operador de cruce basado en un punto. Habitualmente el operador de cruce nose aplica a todos los pares de individuos que han sido seleccionados para emparejarse,sino que se aplica de manera aleatoria, normalmente con una probabilidadcomprendida entre 0.5 y 1.0. En el caso en que el operador de cruce no se aplique, ladescendencia se obtiene simplemente duplicando los padres. El operador de mutación se aplica a cada hijo de manera individual, y consiste enla alteración aleatoria (normalmente con probabilidad pequeña) de cada gencomponente del cromosoma. Si bien puede en principio pensarse que el operador decruce es más importante que el operador de mutación, ya que proporciona una 8
  9. 9. exploración rápida del espacio de búsqueda, este último asegura que ningún punto delespacio de búsqueda tenga probabilidad cero de ser examinado, y es de capitalimportancia para asegurar la convergencia de los Algoritmos Genéticos. GEN Y CROMOSOMAS Se refiere a un candidato a solución del problema, que a menudo se codificacomo una cadena de bits.Individuos de la población –cromosomas representados porun conjunto de parámetros -genes- utilizando un cierto alfabeto -{0, 1}-. Función de adaptación para cada cromosoma devuelve un número real, que sesupone es proporcional a la adaptación del individuo al problema.Cualquier soluciónpotencial a un problema puede ser presentada dando valores a una serie deparámetros. El conjunto de parámetros (genes en la terminología de algoritmosGenéticos) se codifica en una cadena de valores denominada cromosomas. Elconjunto de parámetros representados por un cromosoma particular recibe el nombrede genotipo. El genotipo contiene la información necesaria para la construcción delorganismo, es decir, la solución real al problema, denominada fenotipo. Desde los primeros trabajos de Jhon Holland la codificación suele hacersemediante valores binario. Se asigna un determinado número de bit a cada parámetro yse realiza un discretizacion de la variable representa da por cada gen. El número debits asignados dependerá del grado de ajuste que se desee alcanzar. Evidentementeno todos los parámetros tienen porque estar codificados con el mismo número debits.Cada uno de los bits pertenecientes a un gen suele recibir el nombre de alelo. La siguiente figura muestra un ejemplo de un individuo binario que codifica 3parámetros. 9
  10. 10. Sin embargo también pueden existir representaciones que codifiquendirectamente cada parámetro con un valor entero, real o en punto flotante SELECCIÓN Los algoritmos de selección serán los encargados de escoger que individuosvan a disponer de oportunidades de reproducirse o no. Puesto que se trata de imitar loque ocurre en la naturaleza, se ha de otorgar un mayor número de oportunidades dereproducción a los individuos más aptos. Por lo tanto la selección de un individuoestará relacionada con su valor de ajuste. No se debe sin embargo eliminar porcompleto las opciones de reproducción de los individuos menos aptos, pues en pocasgeneraciones de la población se volvería homogénea. Una opción bastante comúnconsiste en seleccionar el primero de los individuos participantes Métodos deselección Un algoritmo genético puede utilizar muchas técnicas diferentes paraseleccionar a los individuos que deben copiarse hacia la siguiente generación, peroabajo se listan algunos de los más comunes. Algunos de estos métodos sonmutuamente exclusivos, pero otros pueden utilizarse en combinación, algo que sehace a menudo. Selección elitista: se garantiza la selección de los miembros más aptos de cada generación. (La mayoría de los AGs no utilizan elitismo puro, sino que usan 10
  11. 11. una forma modificada por la que el individuo mejor, o algunos de los mejores,son copiados hacia la siguiente generación en caso de que no surja nadamejor).Selección proporcional a la aptitud: los individuos más aptos tienen másprobabilidad de ser seleccionados, pero no la certeza.Selección por rueda de ruleta: una forma de selección proporcional a laaptitud en la que la probabilidad de que un individuo sea seleccionado esproporcional a la diferencia entre su aptitud y la de sus competidores.(Conceptualmente, esto puede representarse como un juego de ruleta -cadaindividuo obtiene una sección de la ruleta, pero los más aptos obtienensecciones mayores que las de los menos aptos. Luego la ruleta se hace girar, yen cada vez se elige al individuo que ``posea la sección en la que se pare laruleta).Selección escalada: al incrementarse la aptitud media de la población, lafuerza de la presión selectiva también aumenta y la función de aptitud se hacemás discriminadora. Este método puede ser útil para seleccionar más tarde,cuando todos los individuos tengan una aptitud relativamente alta y sólo lesdistingan pequeñas diferencias en la aptitud.Selección por torneo: se eligen subgrupos de individuos de la población, y losmiembros de cada subgrupo compiten entre ellos. Sólo se elige a un individuode cada subgrupo para la reproducción.Selección por rango: a cada individuo de la población se le asigna un rangonumérico basado en su aptitud, y la selección se basa en este ranking, en lugarde las diferencias absolutas en aptitud. La ventaja de este método es quepuede evitar que individuos muy aptos ganen dominancia al principio aexpensas de los menos aptos, lo que reduciría la diversidad genética de lapoblación y podría obstaculizar la búsqueda de una solución aceptable.Selección generacional: la descendencia de los individuos seleccionados encada generación se convierte en toda la siguiente generación. No se conservanindividuos entre las generaciones. 11
  12. 12. Selección por estado estacionario: la descendencia de los individuos seleccionados en cada generación vuelven al acervo genético preexistente, reemplazando a algunos de los miembros menos aptos de la siguiente generación. Se conservan algunos individuos entre generaciones. Selección jerárquica: los individuos atraviesan múltiples rondas de selección en cada generación. Las evaluaciones de los primeros niveles son más rápidas y menos discriminatorias, mientras que los que sobreviven hasta niveles más altos son evaluados más rigurosamente. La ventaja de este método es que reduce el tiempo total de cálculo al utilizar una evaluación más rápida y menos selectiva para eliminar a la mayoría de los individuos que se muestran poco o nada prometedores, y sometiendo a una evaluación de aptitud más rigurosa y computacionalmente más costosa sólo a los que sobreviven a esta prueba inicial. CRUCE Se trata de una reproducción de tipo sexual. Se genera una descendencia a partirdel mismo número de individuo (generalmente 2) de la generación anterior. Una vezseleccionados los individuos, estos son recombinados para reproducir la descendíaque ese insertara en la siguiente generación. Es una estrategia de reproducción sexual,su importancia para la transición entre generaciones es elevada puesto que las tasas decruce con las que se suele trabajar rondan el 90%. La idea principal del cruce es que si se toman dos individuos correctamenteadaptados al medio y se obtiene descendencia que comparta genes de ambos, existe laposibilidad de lo que lo genes heredado sean precisamente causantes de la bondad delos padres. Al compartir las características buenas de dos individuos, lasdescendencias, o al menos parte de ellas, debería tener una bondad mayor que cadauno de los padres por separados. Existen varios tipos de cruce: Cruce de 1 punto: una vez seleccionados dos individuos se cortan sus cromosomas por un punto seleccionado aleatoriamente para generar 12
  13. 13. segmentos diferenciado en cada uno de ellos. La cabeza y la cola. Seintercambia las colas entre los dos individuos para generar nuevosdescendientes. De esta manera ambos descendientes heredan informacióngenética de los padres, tal como aparece en la siguiente figura.Cruce de 2 puntos: se trata de una generalización del cruce de un punto.En vez de cortar por un único punto los cromosomas de los padres, serealizan dos cortes. Deberá tenerse en cuenta que ninguno de estos puntosde corte coincidan con el extremo de los cromosomas para garantiza quese originen 3 segmentos. Para generar la descendencia se escoge elsegmento central de uno de los padres y los segmentos laterales del otropadre: 13
  14. 14. Cruce Uniforme: completamente distinta a las técnicas anteriores. Cadagen de la descendencia tiene las mismas probabilidades de pertenecer auno u otro padre. La técnica implica la generación de una máscara decruce con valores binarios. Si en una de las posiciones de mascara hay un1, el gen situado en esa posición en uno de los descendientes se copia delprimer padre. Si por el contrario hay un 0 el gen se copia del segundopadre. Para reproducir el segundo descendiente se intercambian lospapeles de los padres, o bien se intercambian la interpretación de los unosy los ceros de la máscara de cruce. La descendencia contiene una mezclade genes de los 2 padres. 14
  15. 15. MUTACION Una vez que la selección ha elegido a los individuos aptos, éstos deben seralterados aleatoriamente con la esperanza de mejorar su aptitud para lasiguiente generación. Existen dos estrategias básicas para llevar esto a cabo. Laprimera y más sencilla se llama mutación. Al igual que una mutación en los seresvivos cambia un gen por otro, una mutación en un algoritmo genético tambiéncausa pequeñas alteraciones en puntos concretos del código de un individuo. Se define mutación como una variación de las informaciones contenidas en elcódigo genético -habitualmente, un cambio de un gen a otro producido por algúnfactor exterior al algoritmo genético.La mutación de un individuo provoca que 15
  16. 16. algunos de sus genes, generalmente uno solo, varié su valor de forma aleatoria. Lamutación generalmente suele utilizar de manera conjunta con el operador de cruce.Primeramente se seleccionan los individuos de la población para generar el cruce. Siel cruce es exitosos entonces uno de los descendientes, o ambos, se muta con ciertaprobabilidad pm. Se imita de esta manera el comportamiento que se da en lanaturaleza, pues cuando se genera la descendencia siempre se produce algún tipo deerror, por lo general sin mayor transcendencia. 16
  17. 17. CONCLUSION De todo lo anteriormente dicho se puede decir que la principal ventaja de losalgoritmos genéticos radica en su sencillez. Se requiere poca información sobre elespacio de búsqueda ya que se trabaja sobre un conjunto de soluciones o parámetroscodificados (hipótesis o individuos). Se busca una solución por aproximación de lapoblación, en lugar de una aproximación punto a punto. Con un control adecuadopodemos mejorar la aptitud promedio de la población, obteniendo nuevos y mejoresindividuos y, por lo tanto, mejores soluciones. Se consigue un equilibrio entre la eficacia y la eficiencia. Este equilibrio esconfigurable mediante los parámetros y operaciones usados en el algoritmo. Así, porejemplo, bajando el valor del umbral conseguiremos una rápida solución a cambio deperder en “calidad”. Si aumentamos dicho valor, tendremos una mejor solución acambio de un mayor tiempo consumido en la búsqueda. Es decir, obtenemos unabuena relación entre la calidad de la solución y el costo. La programación mediante algoritmos genéticos suponen un nuevo enfoqueque permite abarcar todas aquellas áreas de aplicación donde no sepamos cómoresolver un problema. 17
  18. 18. 18

×