Computo Evolutivo
El computo evolutivo es una área de la inteligencia que implementa diversos algoritmos heurísticos (ósea que no se garantiza que de la solución verdadera, pero se acerca lo suficiente) basado en la teoría de la evolución natural para poder resolver problemas de optimización y búsqueda.
El cómputo evolutivo se utiliza para resolver una amplia variedad de problemas computacionales de cualquier área del conocimiento.
Se aplica para la resolución de problemas de optimización combinatoria. La CE está inspirada en los mecanismos de evolución biológica propuestos por Darwin, Medel y Lamark. Sin entrar mucho en detalle sobre los estudios que hicieron estos científicos, solo vamos a mencionar brevemente lo que propusieron. Darwin propuso la "Selección natural de los más adaptados", Medel propuso la "Teoría corpuscular de la herencia" y Lamark propuso la "Herencia de caracteres adquiridos".
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 resolver problemas y trata de encontrar el origen de dicha potencialidad para utilizarla en nuestros programas.
Tres son los paradigmas principales que conforman la computación
evolutiva:
- - Programación evolutiva
- - Estrategias Evolutivas
- - Algoritmos Genéticos
Se basa en una Metáfora Evolutiva
- Una población de individuos coexiste en un determinado entorno con recursos limitados.
- La competición por los recursos provoca la selección de aquellos individuos que están mejor adaptados al entorno.
- Estos individuos se convierten en los progenitores de nuevos individuos a través de procesos de mutación y recombinación.
- Los nuevos individuos pasan a competir por su supervivencia.
- Con el paso del tiempo, esta selección natural provoca el incremento en la “calidad” de los individuos de la población.
El esquema general de un algoritmo evolutivo se muestra en la siguiente imagen
Dentro de lo que es la computación evolutiva, se engloban diferentes estrategias para la resolución de problemas de optimización. Estas estrategias son las siguientes:
- Procesos de Búsqueda Evolutiva: Fue propuesta por Alan Turing en el año 1948.
- Estrategias Evolutivas (EE): Propuesto por Rechenberg en 1964. Representan a los individuos con Vectores reales.
- Programación Evolutiva (PE): Propuesto por Fogel en 1965. Utilizan máquinas de estado finito.
- Algoritmos Genéticos (AG): Propuesto por Holland en 1975. Representan a los individuos como cadenas binarias.
- Programación Genética (PG): Propuesto por Koza en 1992. Utilizan Arboles LISP.
Bibliográfia:
- Caparrini, F. S. (s.f.). Algoritmos Genéticos y Computación Evolutiva. Recuperado el 22 de Septiembre de 2017, de http://www.cs.us.es/~fsancho/?e=65
- Coello, D. C. (s.f.). Introducción a la Computación Evolutiva. Recuperado el 24 de Septiembre de 2017, de http://posgrado.itlp.edu.mx/mcastro/CE/Introducci%F3n%20a%20la%20Computaci%F3n%20Evolutiva%20Coello/clase3-2011.pdf
- Inteligencia artificial. (s.f.). Recuperado el 22 de Septiembre de 2017, de https://sites.google.com/site/inteligenciaartificialkj/computacin-evolutiva
- Moya, R. (18 de Mayo de 2013). Jarroba. Recuperado el 22 de Septiembre de 2017, de https://jarroba.com/computacion-evolutiva-ejemplo-con-un-algoritmo-genetico/#comment-184606