Ant Colony Algorithm
We developed a web-based simulation of the Ant Colony Algorithm, a project that helped us understand complex optimization techniques and led to the creation of another project, Metropol Wanderer. This simulation was built with Angular and Node.js, focusing on delivering a simple and intuitive user experience. The process involved learning the algorithm, designing the UI, and coding the project while transitioning the algorithm's execution from client-side to server-side.
İstanbul, Turkey
Oct 2019 - Jun 2020
Computing Science
Challenge
The Ant Colony Algorithm is an optimization technique inspired by how ants find the shortest path to food sources. In nature, ants lay down pheromones as they travel, and over time, the shortest paths become the most heavily traveled and reinforced. Similarly, this algorithm is used to solve complex problems like route optimization and network design by simulating the ants' behavior and finding the most efficient paths through a given problem space.
Process
Learning the Ant Colony Algorithm
The first step in this project was understanding how the Ant Colony Algorithm works. We studied how ants use pheromones to find the shortest paths and how this behavior could be modeled in a computational algorithm. This knowledge was crucial as it laid the groundwork for the simulation and later inspired more complex algorithms in our other project, Metropol Wanderer.
Designing the UI
The design phase focused on creating a user interface that was both simple and effective. I prototyped the UI in Figma, ensuring it followed standard UX principles. The goal was to make the simulation accessible and easy to use, with a clean design that allowed users to interact with the algorithm without distraction.
Coding with Angular
With the design in place, the programmer began coding the front-end using Angular. Angular was chosen for its ability to create dynamic and responsive UIs. The simulation's interface allows users to adjust parameters and see the algorithm's effects in real-time, making the complex process of path optimization easy to understand.
Running the Algorithm
Initially, the algorithm was run on the client-side to provide real-time feedback and interaction. However, as the project grew in complexity, we moved the algorithm to the server-side using Node.js. This transition improved the simulation's performance and allowed for more sophisticated calculations, ensuring smooth and efficient operation for the users.