Bioinformática Tema 1: Computación p basada en modelos naturales Temario teórico 1 Computación basada en modelos naturales 1. naturales. 2. 3. 4. 5. 6 6. 7. Inteligencia de enjambres. Introducción a la computación evolutiva. Algoritmos genéticos. Conceptos Básicos. Algoritmos genéticos. Diversidad y Convergencia. Ot Otros modelos d l evolutivos. l ti Algoritmos Genéticos. Problemas multimodales. Problemas multiobjetivo. j 8. Introducción a las redes neuronales artificiales. Neurocomputación. 9 9. F d Fundamentos t de d redes d neuronales l artificiales. tifi i l 10. Modelos evolutivos de aprendizaje. 11 Otros modelos de computacion bio-inspirados 11. bio inspirados. Objetivos Entender el concepto de algoritmos bioinspirados. inspirados Conocer, a nivel introductorio, algunos de los algoritmos bio-inspirados más desarrollados. Índice 1. Modelos de computación bio-inspirados 2 Ejemplos de modelos de computación bioinspirados 2. 2.1. Algoritmos evolutivos 2.2. Redes neuronales 2.3. Algoritmos inmunológicos 2.4. Algoritmos de optimización basados en enjambres 2.5. Algoritmos basados en colonias de hormigas 3 Bibliografía 3. Bibli fí 1. Modelos de computación bioinspirados La Computación Bioinspirada (Bioinspired Algorithms/Natural Computing) se basa en emplear analogías con sistemas naturales o sociales para la resolución de problemas problemas. Los algoritmos bioinspirados simulan el comportamiento de sistemas naturales para el diseño de métodos heurísticos no determinísticos de “búsqueda”, de ” ”aprendizaje”, di j ” d de iimitación it ió d de ””comportamiento”, t i t ” ... En la act actualidad alidad los algoritmos bio bio-inspirados inspirados son uno no de los campos más prometedores de investigación en el diseño de algoritmos. g 1. Modelos de computación bioinspirados Características de los algoritmos bio-inspirados bio inspirados Modelan ((de forma aproximada) p ) un fenómeno existente en la naturaleza Metáfora biológica para resolver problemas Son no d S determinísticos. t i í ti A menudo presentan, implícitamente, una estructura paralela (múltiples agentes) agentes). Son adaptativos (utilizan realimentación con el entorno para modificar el modelo y los parámetros). 1. Modelos de computación bioinspirados Algoritmos bio bio-inspirados inspirados <> Bioinformática Bioinformática es la aplicación de las matemáticas y de la informática en el procesamiento de datos experimentales para comprender problemas biológicos, normalmente l creando d o utilizando ili d programas iinformáticos, f ái modelos d l matemáticos ái o ambos. Una de las principales aplicaciones de la bioinformática es la simulación, la minería de datos (data mining) y el análisis de los datos obtenidos en los proyectos genoma (Proyecto Genoma Humano) o el proteoma. Otras aplicaciones son el alineamiento de secuencias, la predicción de estructuras proteicas y las redes metabólicas. La bioinformática se nutre especialmente de dos grandes áreas del conocimiento, las ciencias biológicas y las ciencias de la computación. Dado este origen existen dos grandes líneas de trabajo: La primera en la que las ciencias de la computación utilizan modelos de las ciencias biológicas, ejemplo de ello lo constituyen las redes neuronales, los algoritmos genéticos, computación con DNA, entre otras. La segunda en la cual las ciencias biológicas utilizan modelos y herramientas de las ciencias de la computación computación. Ésta es la que se considera en mayor medida Bioinformática Bioinformática. 2. Ejemplos de modelos de computación bio-inspirados bio inspirados Algunos modelos de computación bio-inspirados: 1. 2. 3. 4 4. Algoritmos evolutivos Redes neuronales Algoritmos inmunológicos Algoritmos basados en enjambres (swarm intelligence) y dentro de ellos 5 Algoritmos basados en colonias de hormigas 5. 2 1 Algoritmos evolutivos 2.1. Basados en los principios Darwinianos de Evolución N Natural l Modelan la evolución natural 2 1 Algoritmos evolutivos 2.1. El fenómeno natural: La evolución natural En la naturaleza,, los p procesos evolutivos ocurren cuando se satisfacen las siguientes condiciones: Una entidad o individuo tiene la habilidad de reproducirse. reproducirse Hay una población de tales individuos que son capaces de reproducirse. Existe alguna variedad, diferencia, entre los individuos que se reproducen. Algunas diferencias en la habilidad para sobrevivir en el entorno están asociadas con esa variedad. 2 1 Algoritmos evolutivos 2.1. El fenómeno natural: La evolución natural Los mecanismos q que conducen esta evolución no son totalmente conocidos, pero sí algunas de sus características: La evolución es un proceso que opera sobre los cromosomas más que sobre las estructuras de la vida que están codificadas en ellos. La selección natural es el enlace entre los cromosomas y la actuación de sus estructuras decodificadas. El proceso de reproducción es el punto en el cual la evolución toma parte, actúa. La evolución biológica no tiene memoria memoria. 2 1 Algoritmos evolutivos 2.1. La técnica bio-inspirada: la evolución artificial Está E tá compuesta t por modelos d l d de evolución l ió b basados d en poblaciones cuyos elementos representan soluciones a problemas. problemas La simulación de este proceso en un ordenador es una técnica de optimización probabilística, que con frecuencia mejora j a otros métodos clásicos en problemas difíciles. 2 1 Algoritmos evolutivos 2.1. Paradigmas básicos: Algoritmos g Genéticos q que utilizan operadores p genéticos sobre cromosomas. Estrategias g de Evolución q que enfatizan los cambios de comportamiento al nivel de los individuos. Programación g Evolutiva q que enfatizan los cambios de comportamiento al nivel de las especies. Programación Genética que evoluciona expresiones representadas como árboles. Existen otros modelos de evolución de poblaciones. 2 2 Redes neuronales artificiales 2.2. El fenómeno natural: El cerebro humano Excepto en tareas basadas en el cálculo aritmético simple, actualmente el cerebro humano es superior a cualquier ordenador: reconocimiento i i t d de iimágenes, á interpretación de sonidos, en g general,, en tareas de percepción p p Características del cerebro: Robusto: su funcionamiento f no se altera ante fallos f de pequeña importancia Flexible: se adapta con facilidad a un entorno cambiante Puede tratar con información ambigua o incompleta 2 2 Redes neuronales artificiales 2.2. La técnica bio-inspirada: bio inspirada: Las redes neuronales artificiales Surgen como un intento de desarrollar sistemas que emulen las características del cerebro para conseguir su sofisticada capacidad de procesamiento de información información. Sistemas convencionales de I.A. frente a las redes neuronales artificiales: Los sistemas convencionales de IA pretenden modelar las funciones de la mente humana con independencia de la estructura física en la que está basada (cerebro). En las redes neuronales artificiales la inteligencia surge de la interacción de las células nerviosas (neuronas artificiales) que componen el cerebro (la red neuronal). 2 2 Redes neuronales artificiales 2.2. La técnica bioinspirada: p Las redes neuronales artificiales Basadas en la simulación del comportamiento del sistema nervioso Pretenden sintetizar un sistema con la estructura funcional del cerebro y que desarrolle un equivalente algorítmico de los procesos de reconocimiento y aprendizaje di j 2.3. Sistemas inmunológicos artificiales El fenómeno natural: El sistema inmune natural El sistema inm inmune ne nat natural ral es un n sistema m muy complejo con varios arios mecanismos para la defensa contra organismos patógenos. El propósito principal del sistema inmune es reconocer todas las células (o las moléculas) dentro del cuerpo y categorizar esas células como propios o no. no Las células no propias se categorizan más a fondo para inducir un tipo apropiado de mecanismo de defensa. El sistema inmune aprende con la evolución a distinguir entre los antígenos g p peligrosos g ((bacterias,, virus,, etc.)) y células o las moléculas del cuerpo propias. 2.3. Sistemas inmunológicos artificiales La a téc técnica ca b bio-inspirada: o sp ada Los os ssistemas ste as inmunológicos u o óg cos artificiales Basados en la simulación del comportamiento del sistema inmunológico El éxito de los sistemas inmunológicos se basa en que el organismo continúa su función normalmente aunque alguna parcela de él haya sido infectada por lo que el cuerpo infectada, tiene tiempo para producir suficientes anticuerpos para reaccionar al virus. http://ais.cs.memphis.edu/home/ 2.4. Algoritmos de optimización basados en enjambres El fenómeno natural: Las sociedades de insectos Objetivo: Imitar la inteligencia colectiva emergente de un grupo de agentes simples Características de las sociedades de insectos: Llevan a cabo actuaciones colectivas que no serían posibles para un único individuo Proporcionan comportamientos adecuados para la computación distribuida El repertorio t i de d comportamientos t i t de d cada d iinsecto t es lilimitado it d No existe acceso individual al estado completo de la colonia No p pueden hacer una división efectiva de la labor a realizar No pueden garantizar el progreso de la colonia 2.4. Algoritmos de optimización basados en enjambres La técnica bio-inspirada: Los algoritmos de optimización b basados d en enjambres j b ((swarm intelligence) i lli ) Algoritmos o mecanismos distribuidos d resolución de l ió d de problemas bl inspirados en el comportamiento colectivo de colonias de insectos sociales u otras sociedades de animales http://www.swarmintelligence.org/ 2.5. Algoritmos basados en colonias de hormigas El fenómeno natural: Las colonias de hormigas Las hormigas g son insectos sociales que viven en colonias y que tienen un comportamiento dirigido al desarrollo de la colonia como un todo mas que a un desarrollo individual Una característica interesante del comportamiento de las colonias de hormigas es cómo pueden encontrar los caminos más cortos entre el hormiguero y la comida Lo hacen a través de un rastro de feromona 2.5. Algoritmos basados en colonias de hormigas La técnica bio-inspirada: Los algoritmos de optimización basados en colonias de hormigas La optimización basada en colonias de hormigas está basada en la simulación del comportamiento de las hormigas cuando recogen comida Bibliografía. Modelos de computación bio-inspirados bio inspirados P. Bentley P Bentley, DIGITAL BIOLOGY. How Nature is Transforming g our Technology. Headline, 2001. Bibliografía. Modelos de computación bio-inspirados bio inspirados M. Shipper. M Shipper MACHINE NATURE. The Coming Age of Bio-Inspired Computing. McGraw-Hill, 2002. Bibliografía. Modelos de computación bio-inspirados bio inspirados Nancyy Forbes IMITATION OF LIFE. How Biology Is Inspiring Computing. The MIT MIT,2004 2004 Preface ix 1 Artificial Neural Networks 1 2 Evolutionary i Algorithms A i 13 3 Cellular Automata 25 4 Artificial Life 37 5 DNA Computation 51 6 Biomolecular Self-Assembly 67 7 Amorphous Computing 83 8 Computer Immune Systems 97 9 Biologically Inspired Hardware 113 10 Biology through the Lens of Computer Science 139 Epilogue 155 Notes 159 Index 163 Bibliografía. Modelos de computación bio-inspirados bio inspirados Leandro N. de Castro, Fernando J. Von Zuben Recent Developments in Biologically Inspired Computing. p g Idea Group Publishing, 2005. Bibliografía. Modelos de computación bio-inspirados bio inspirados Algunas revistas científicas: MIT Press Springer IEEE Press Springer Elsevier MIT Press IEEE Press Springer Springer Bibliografía. Algoritmos basados en colonias de hormigas E. Bonabeau, M. Dorigo, G. Theraulaz Swarm Intelligence. From Nature to Artificial Systems. Oxford University Press Press, 1999 1999. M. Dorigo, T. Stuetzle Ant Colony Optimization. MIT Press, 2004. Bibliografía. Computación evolutiva A.E. Eiben, J.E. Smith Introduction to Evolutionary Computation. Springer Verlag 2003. 2003 (Natural Computing Series) D.B. D B Fogel (Ed (Ed.)) Evolutionary Computation. The Fossil Record. (Selected Readings on the Historyy of Evolutionaryy Computation). p ) IEEE Press, 1998. Bibliografía Redes neuronales Bibliografía. Neural networks for pattern recognition g C. M. Bishop Oxford University Press, 1995 Redes de neuronas artificiales. artificiales Un enfoque práctico. P. Isasi sas Viñuela, ue a, I. M. Ga Galván á León eó McGraw Hill, 2004 Bibliografía: Swarm intelligence Kennedy, JJ., Eberhart Kennedy Eberhart, R R. C C., and Shi Shi, Y Y., Swarm intelligence San Francisco: Morgan Kaufmann Publishers Publishers, 2001 2001. Bibliografía: Sistemas inmune artificiales Artificial Immune Systems: A New Comp tational Intelligence Approach Computational Castro, Leandro Nunes de, Timmis, Jonathan 2002, Springer. Immunity-Based Systems A Design Perspective Ishida Yoshiteru Ishida, 2004, Springer.