8

He estado leyendo cosas aquí y allá por un tiempo sobre el uso de un modelo de "colonia de hormigas" como un enfoque heurístico para optimizar varios tipos de algoritmos. Sin embargo, aún no he encontrado un artículo o libro que analice las optimizaciones de colonias de hormigas de manera introductoria o incluso con muchos detalles. ¿Alguien puede señalarme algunos recursos donde puedo aprender más sobre esta idea?¿Dónde puedo obtener más información sobre las optimizaciones de "colonia de hormigas"?

Respuesta

5

En caso de que sepa alemán (sí, lo siento ...), un amigo y yo hemos escrito un introduction with code sobre este tema que me parece bastante aceptable. El texto y el código usan el ejemplo de TSP para introducir el concepto.

Incluso si no sabe alemán, eche un vistazo al código y las fórmulas en el texto, esto podría seguir sirviendo.

+0

Gracias a este enlace! Desafortunadamente, mi alemán se limita a lo que aprendí en la escuela media (¿quiero hablar sobre el clima?), Pero Google Translate hizo un gran trabajo en el artículo. – MattK

+0

Creo que la traducción del cómic XKCD fue bastante bien ... el resto ... no tanto. ;-) Nota: Esta no es la forma en que alemán hablo en normal. –

1

A primera vista, esto parece estar estrechamente relacionado con (o quizás un caso especial de) the Metropolis algorithm. Entonces esa es otra dirección posible para buscar.

Adición:This PDF file incluye una referencia al documento original Metropolis de 1953.

1

Bueno, encontré el Homepage of Eric Rollins y sus diferentes implementaciones (Haskell, Scala, Erlang, ...) de un algoritmo ACO útil. Y también el Libro de Enrique Alba, titulado "Metaheurísticas Paralelas: Una Nueva Clase de Algoritmos" donde puedes encontrar un capítulo completo de explicación sobre los Algoritmos ACO y sus diferentes usos.

HTH

5

link Wikipedia realmente me inició. Leí el artículo y llegué a la codificación. Estaba resolviendo una variación perversa del problema del vendedor ambulante. Es una meta-heurística sorprendente. Básicamente, cualquier tipo de problema de búsqueda que se pueda poner en un gráfico (nodos & bordes, simétricos o no) se puede resolver con un ACO.

Tenga en cuenta la diferencia entre los rastros de feromonas locales y mundiales. Feromonas locales desalentar una generación de hormigas de atravesar la misma ruta. Evitan que el modelo converja. Las feromonas globales son atrayentes y deberían atrapar al menos una hormiga por generación. Fomentan trayectorias óptimas a lo largo de varias generaciones.

La mejor sugerencia que tengo, es simplemente jugar con el algoritmo. Configure un solucionador de TSP básico y una visualización básica de colonia. Entonces diviértete. Trabajar con hormigas, conceptualmente, es genial. Usted programa sus comportamientos básicos y luego los suelta. Incluso me encariñé con ellos. :)

Los ACO son una forma más codiciosa de algoritmos genéticos. Jugar con ellos. Alterar sus comportamientos comunicativos y comportamiento de empacar. Pronto comenzará a ver la programación de redes/gráficos de una manera completamente diferente. Ese es su mayor beneficio, no la receta que la mayoría de las personas lo ven así.

Simplemente tienes que jugar con eso para realmente entenderlo. Los libros & documentos de investigación solo ofrecen una comprensión general de alto nivel. Como una bicicleta, solo debes comenzar a montar. :)

ACOs, de lejos, son mi abstracción favorita para los problemas de gráfico.

Cuestiones relacionadas