Sistemas expertos
Desde los años 1930s, algunos investigadores comenzaron a ver el proceso de evolución de las especies como un proceso de aprendizaje, mediante el cual la naturaleza dota a las especies de diferentes mecanismos, buscando hacerlas más aptas para sobrevivir. Partiendo de estos preceptos no resulta entonces difícil percatarse de que pueden desarrollarse algoritmos que traten deresolver problemas de búsqueda y optimización guiados por el principio de la “supervivencia del más apto” que postulara Charles Darwin en su famosa (y controversial) teoría de la evolución de las especies. Dichos algoritmos son denominados, hoy en día, algoritmos evolutivos y su estudio conforma la computación evolutiva.
Puede resultar chocante que ya los primeros ordenadores, aquellos con miles deválvulas, interpretaran programas emulando las técnicas evolutivas actuales. Ya en los años sesenta se empezaban a usar los términos “programación evolutiva”, “estrategias de evolución” y “algoritmo genético”. De entre aquellos pioneros, Jonh Holland fue uno de los más influyentes y se le considera el padre de la disciplina, seguramente porque en su obra “Adaptation in Natural and ArtificialSystems” nos dejó los formalismos que permiten comprender la potencia computacional de esta tecnología.
Sin embargo, no es hasta la última década del siglo pasado cuando el campo de la computación evolutiva florece: la aplicación de los algoritmos genéticos se extiende a una gama muy variada de problemas y nacen estrategias nuevas, como la programación genética. Ya entrado el siglo XXI, el que hasido denominado siglo de la Biología, la computación evolutiva pasa a ser una de las estrategias representativas en el área de la inteligencia computacional.
En la naturaleza todos los seres vivos se enfrentan a problemas que deben resolver con éxito, como conseguir más luz del sol, o cazar una mosca. La Computación Evolutiva interpreta la naturaleza como una inmensa máquina de resolverproblemas y trata de encontrar el origen de dicha potencialidad para utilizarla en nuestros programas.
Pero, ¿qué han aprendido de la evolución biológica las Ciencias de la Computación? La evolución, como proceso transformador de las formas vivas, es una de las ideas que más ha influido en el pensamiento humano desde los antiguos filósofos griegos y era una teoría científica aceptada (aunque noprobada) ya en el siglo XVIII. El trabajo de Jean-Baptiste Lamarck a principios del XIX y finalmente la publicación del trabajo cumbre de Charles Darwin On the origin of species (un libro al que se le ha criticado que explique todo sobre la selección natural, excepto el origen mismo de las especies) situaron a la teoría de la evolución en un lugar central para las ciencias de la vida. Por tanto, no es deextrañar que la evolución haya inspirado modelos de cómputo. En efecto, los conceptos de selección natural, adaptación al ambiente y herencia, o los más actuales, como mutación genética, formas alélicas o reproducción sexual, poseen un componente computacional que ha sido interpretado y formalizado por científicos e ingenieros para dar lugar a lo que hoy conocemos como computación evolutiva.¿Cómo puede un programa de ordenador simular la evolución y beneficiarse de ella? La inteligencia computacional es una variante de la inteligencia artificial que se separó de la línea simbólica más tradicional (la de pasar años intentando que un brazo robótico levante una taza de café, para entendernos). Incluye técnicas como las ‘redes neuronales artificiales’, la optimización con enjambres departículas o la misma computación evolutiva, es decir, estrategias basadas en la inteligencia que emerge de las interacciones en un colectivo, sean neuronas, partículas u organismos. Y así fue: 30 años de sólida inteligencia artificial empezaron a resquebrajarse cuando Rodney Brooks, un investigador del MIT (Massachusetts Institute of Technology), publicó un artículo con el enigmático título de...
Regístrate para leer el documento completo.