Re-construcción de imagen por medio de figuras y algoritmos Genéticos.

Algoritmo genético para construcción de imágenes. 

El día de hoy te traigo una practica de código de lo mas interesante.

Se trata de construir una imagen por medio de figuras geométricas y lo mas genial de todo es que esto lo podrás visualizar en tiempo real gracias a los algoritmos genéticos. 

Pero antes de pasar al código déjame explicarte un poco de lo que son los algoritmos genéticos.

construcción de imágenes por algoritmos genéticos.

El algoritmo genético intenta replicar el modelo de selección natural propuesto por Darwin. Fundamentalmente, en la población, los individuos supervivientes son individuos más adaptados al medio.


Por ejemplo, entre los camaleones verdes y rojos que viven en la selva, el camaleón verde es más fácil de sobrevivir porque se adapta mejor al medio en el que vive (en este caso, el verde). Sin embargo, es posible que el camaleón rojo no sobreviva porque se lo comerá rápidamente. Además, no tendrán la oportunidad de reproducir sus genes (incluido el rojo) y transmitirlos a su descendencia.


Es por esto que la descendencia que mejor se adapte a su reproducción genética. Por tanto, al ser la mejor combinación de genes de generaciones anteriores, se vuelven más adaptables.

Explicación del código.

El código que podrás consultar en la parte de abajo esta creado en java, específicamente con el IDE de Intellij IDEA, no necesitas agregar ninguna librería, me eh encargado de dejar el proyecto listo para correr. 

Este proyecto se compone por 10 clases, para que el código funcione es necesario crear dos algoritmos genéticos, uno para la generación de los polígonos y otro para detectar la calidad de estos respecto a la imagen, además de esto existe una clase especifica para obtener la función objetivo tanto de la imagen y de los polígonos. Cada polígono es calificado respecto a la imagen original, si la calificación del polígono no es suficiente entonces se descarta , cuando una entidad o polígono obtiene una buena calificación, esta pasara sus genes a las nuevas generaciones, en este caso el color, te darás cuenta que debido a los polígonos y sus irregularidades este programa jamás podrá terminar, actualmente eh corrido el programa un máximo de 2 días, pero al no poder ser exactamente idéntico a la imagen original este no terminara. 

Te animo a que descargues el código, lo modifiques, o intentes replicar lo mismo, es una practica que te enseñar todos los conceptos de los algoritmos genéticos.


Código.

Puedes consultar todo el código de esta practica en GitHub, a continuación te dejo el enlace, recuerda dejar tu estrella.

Enlace GitHub: Algoritmo Genético

Publicar un comentario

0 Comentarios