Técnicas Evolutivas - Algoritmos Genéticos (AG)

Como dice mi madre: la naturaleza es muy sabia


Si en miles y miles de años de evolución, la naturaleza ha sido capaz de crear criaturas capaces de adaptarse a un entorno y de cumplir su objetivo (sobrevivir) ¿Porque no ser vagos y copiar el método de trabajo de la naturaleza y aplicarlo en otro tipo de objetivos? Porque si algo define a los ingenieros, es la pereza (el pecado capital más inofensivo, pues evita que se cometan los otros 6) y el ímpetu en hacer los trabajos mas llevaderos y fáciles (bendito aquel que decidió ponerle un palo a un trapo).

Imagen: genealogía genética.

Así pues, una Técnica Evolutiva es una rama de la IA que se inspira en la evolución biológica para resolver problemas utilizando algoritmos genéticos.

El mundo de las técnicas evolutivas es bastante amplio, por lo que en este blog se explicarán algunos algoritmos de Inteligencia de Enjambre. Pero primero se procederá a explicar lo que es una algoritmo genético.

Algoritmos Genéticos - AG

Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir para dar solución a un problema específico. Y si el algoritmo es genético, los pasos a seguir estarán inspirados en la evolución.

EXAMEN SORPRESA: ¿Qué características tiene que tener un ser para considerarse ser vivo?

Pero, y esto ¿A qué viene? Exactamente, tiene que nacer, crecer, tener la capacidad de reproducirse y morir. De todas estas características, en relación a los algoritmos genéticos, la que más nos interesa es la capacidad de reproducirse. En la naturaleza, aquellas criaturas que son más capaces de sobrevivir o adaptarse al entorno, son las que más probabilidades tienen de reproducirse. Por lo que las generaciones futuras probablemente tendrán las características de la criatura original que logró adaptarse.

Pero, entonces ¿Dónde encajan esos preciosos ojos azules? Unos ojos azules no tienen más posibilidades de sobrevivir en un entorno hostil que unos ojos oscuros. Si existen personas de ojos azules es por una mutación sucedida tiempo atrás, la cual ha conseguido transmitirse generación tras generación hasta el día de hoy. Así pues, no siempre se cumple la ley de la jungla, existen otros factores que pueden ser beneficioso para llegar a dar con el mejor resultado, y no con el primer resultado bueno.

Imagen: heterocromía.
  • Buen resultado: el más fuerte de la jungla.
  • Mejor resultado: el que más recursos tiene para sobrevivir en la jungla.
Ah, si, ya me acuerdo. Un AG se valdrá de la selección del mejor candidato (la ley de la jungla), el cruzamiento (un descendiente tendrá información de sus dos progenitores), la mutación (ojos azules) y de otras estrategias para generar agentes de mayor o menor aptitud para resolver un problema. Así, generación tras generación, la población de agentes irá mejorando (con un cierto porcentaje de mutación aleatoria), hasta llegar a una solución óptima.
  • Ejemplo de agente: porcentaje de apertura de una válvula por la cual fluye un líquido.
  • Ejemplo de una solución óptima: agente cuyo porcentaje permita llenar un tanque del líquido en 10 minutos justos.

Comentarios

Entradas populares de este blog

Proyecto Estación Meteorológica 4: Visualización de Resultados Mediante HTML y D3.js

Diferentes técnicas de las redes neuronales

Proyecto Estación Meteorológica 3: Obtención y Envío de Datos Mediante Python