Hablar de inteligencia artificial (IA) es hablar de un área inmensa de conocimiento, tan profunda en sus cimientos matemáticos como extensa en sus alcances y cruces con otras áreas. Éste es el caso de la seguridad informática, donde desde hace algún tiempo encontramos soluciones basadas en IA. Quizá el ejemplo más evidente son los sistemas de detección de spam, que se valen de técnicas de máquinas de vectores de soporte, LSI y, principalmente, de estadística bayesiana. Pero una nueva técnica llega desde la universidad de Harvard, una basada en algoritmos genéticos.
No es que los algoritmos genéticos sean cosa reciente. Podemos rastrear sus orígenes desde los años 50 y 60, hasta la publicación del libro que prácticamente fundó una nueva área del conocimiento: Adaptation in Natural and Artificial Systems, de John Holland, desde entonces conocido como padre de los algoritmos genéticos. Y estos son, en esencia, algoritmos para la búsqueda de soluciones inspirados en la teoría de la evolución. En otras palabras, dado un problema computacional, seguimos estos pasos:
- Inicialización - Creamos una montón de soluciones aleatorias válidas, es decir, la población inicial, los genes.
- Selección - Elegimos las mejores soluciones de la población inicial en función de un criterio. En cambio, las “peores” soluciones son reemplazadas. Esto es como cuando la naturaleza elige a los más fuertes.
- Reproducción - Generamos una segunda población o siguiente generación de la población. Esto con ayuda de dos operaciones de inspiración evolutiva: cruza y mutación. En la cruza mezclamos soluciones (los genes). En la mutación modificamos ligeramente uno o más miembros de la población de soluciones. Aquí comienza la magia de la evolución.
- Terminación - Repetimos los pasos 1 a 3 hasta que se alcance una condición predeterminada.
Fuente: alt1040.com/
No hay comentarios:
Publicar un comentario