[spa] Los algoritmos genéticos son unos algoritmos de optimización basados en la selección
natural, donde las especies evolucionan mediante la reproducción a lo largo de las
generaciones. Es un método de resolución muy flexible, que se puede usar en diferentes
campos. Son muy potentes para solucionar problemas que para los cuales no existe una
técnica de resolución específica, pero si para la resolución de un problema en concreto
existen técnicas específicas, estos últimos suelen quedar por delante en eficiencia.
Este trabajo de fin de grado busca que el lector entienda cómo funcionan los
algoritmos genéticos. Primero se presentarán los elementos básicos: los cromosomas,
la reproducción, el “fitness”, la mutación, el elitismo, la selección de progenitores... Sin
embargo, se pondrá especial interés en la implementación de los mismos, con dos
ejemplos totalmente distintos, que se desarrollarán y explicarán paso a paso.
Se ha decido llevar a cabo un primer problema en el campo registro de imágenes,
cuya finalidad es la creación de una imagen panorámica, y un segundo problema en el
ámbito de la criptología,más concretamente, el desencriptado de un texto, siendo este
últimomás complejo de entender. Se ha optado por implementar estos dos problemas
tan diferentes con la intención de demostrar su gran flexibilidad y potencia. A pesar de
su gran capacidad de resolución, se probará que son más sencillos de programar y de
entender de lo que parecen, de hecho, se puede observar que solo una clase se cambia
para la resolución de ambos problemas, mientras que tanto las clases restantes como el
esquema y la idea del funcionamiento del algoritmo son idénticos en los dos ejercicios.
Sin embargo, si que se necesita un buen conocimiento del problema y del algoritmo en
sí, ya que cualquiermínimo cambio puede afectar, tanto para bien como para mal, el
desempeño del mismo.
Por otra parte, se presentarán las principales dificultades y limitaciones de estos
algoritmos, así como sus ventajas, para que el lector tenga una idea de cuando aplicar
aplicar este método es buena idea y cuando no,mostrando los resultados obtenidos de
los ejercicios resueltos.