WeebAlgorithms is a project developed as part of the Web Development course
This project allows you to look at the visualization of the work of popular algorithms
Killer feature of the project (also fully implemented by me) - implementation of the ant colony algorithm for a "real" ant colony
Also present in the project are:
- Algorithm A* by Cortuzz & Ssslakter
- A genetic algorithm for solving the traveling salesman problem by Alyoneek
- Ant algorithm for solving the traveling salesman problem by Cortuzz
- Algorithm for clustering points on a plane by Ssslakter
- Decision Tree by Alyoneek & Cortuzz
- Neural network for handwriting detection by Ssslakter & Cortuzz
- N: Batrakov Oleg
- G: Cortuzz
- N: Chaunin Vyacheslav
- G: Ssslakter
- N: Tarasova Alyona
- G: alyoneek
P.S. The fields are: Surname Name (N), GitHub account (G).
To start the algorithm, you need to set the start and end points. Also you can add borders or generate it by button with variable filling rate.
Similarly, you can choose maze generation (with this technology, it is guaranteed that there is a path between any two points):
Changing the "heuristic metric" parameter will affect the evaluation of different cells by the algorithm:
function euclidHeuristic(pointA, pointB) {
return 2 * Math.sqrt((pointA.x - pointB.x) ** 2 + (pointA.y - pointB.y) ** 2);
}
function manhattanHeuristic(pointA, pointB) {
return Math.abs((pointA.x - pointB.x)) + Math.abs((pointA.y - pointB.y));
}
After finding a path between the points, the algorithm will display the most optimal route and output its path length (or that the route does not exist).
Docs in development