El algoritmo de colonia de hormigas es una clase de algoritmos que se clasifican bajo la etiqueta “metaheurística”. Estos son problemas en los que la computadora solo tiene que “buscar” la solución. Pruebe nuevos valores, nuevas rutas y nuevas combinaciones para llegar a alguna solución a un problema que es un poco o mucho mejor que la solución inicial.
Como ha sido demostrado por el teorema del “no almuerzo gratis”, no existe una mejor estrategia para los problemas en general. La búsqueda de una solución óptima a menudo se compara con tratar de encontrar la cima de una montaña en una espesa niebla. Si caminas lo suficiente, eventualmente lo encontrarás, pero una “metaheurística” común en este caso es caminar hacia arriba desde tu punto de partida. Sigue haciendo eso y podrías llegar a la cima de la montaña. O dependiendo del paisaje, puede terminar en una pequeña colina. La metaheurística común es tomar nota de esta ubicación y luego ir a otro lugar al azar, intente nuevamente y vea si esta vez sube más. Esta idea simple está en el corazón de muchos algoritmos que suenan elegantes, incluidos algunos algoritmos de optimización de colonias de hormigas, algoritmos genéticos, recocido simulado y más.
Si se extrae alguna sabiduría particular de los algoritmos metaheurísticos, es probable que “no se quede atascado en la misma cadena de pensamiento, dé un paso atrás, acérquese desde un ángulo diferente” y “discuta con otros, compare notas, vea si una combinación de tus ideas podría ser mejor que cada una sola “. Esto no es terriblemente profundo, pero muchas metaheurísticas nacen del pensamiento de sentido común, por lo que realmente son las computadoras que aprenden de nosotros y no al revés.
- ¿Cómo se implementan las tablas hash en el kernel de Linux? ¿Cómo funcionan para diferentes tipos de datos y estructuras?
- Cómo resolver la Tierra y los meteoritos en el Algoritmo Calificador 2 de Hackerearth
- ¿Cuál es el algoritmo de búsqueda utilizado por el motor de búsqueda de Google? ¿Cuál es su complejidad?
- ¿Qué significa la recursividad en matemáticas?
- ¿Cuáles son algunos cuadriláteros que se usan en la vida real?