https://github.com/drakmord2/node-swarm-intelligence
NodeJS implementation of Swarm Intelligence algorithms
https://github.com/drakmord2/node-swarm-intelligence
artificial-intelligence expressjs gui nodejs swarm-intelligence visualization
Last synced: about 2 months ago
JSON representation
NodeJS implementation of Swarm Intelligence algorithms
- Host: GitHub
- URL: https://github.com/drakmord2/node-swarm-intelligence
- Owner: Drakmord2
- License: gpl-3.0
- Created: 2018-06-01T08:33:39.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2022-12-07T16:16:01.000Z (over 3 years ago)
- Last Synced: 2025-02-21T15:51:30.291Z (over 1 year ago)
- Topics: artificial-intelligence, expressjs, gui, nodejs, swarm-intelligence, visualization
- Language: JavaScript
- Size: 1.08 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# NodeJS Swarm Intelligence
NodeJS implementation of Swarm Intelligence algorithms with visualization
## Swarm Intelligence
Swarm intelligence (SI) is the collective behavior of decentralized,
self-organized systems, natural or artificial.
SI systems consist typically of a population of simple agents or boids
interacting locally with one another and with their environment.
The inspiration often comes from nature, especially biological systems.
## Algorithms
- **Particle Swarm Optimization** ([PSO](https://en.wikipedia.org/wiki/Particle_swarm_optimization))
- **Fish School Search** ([FSS](https://en.wikipedia.org/wiki/Fish_School_Search))
- **Artificial Bee Colony** ([ABC](https://en.wikipedia.org/wiki/Artificial_bee_colony_algorithm))
## How to use
The quickest way to get started is by starting a [Docker](https://www.docker.com/what-docker)
container with docker-compose.
```bash
$> docker-compose up --build
```
After setting up you can use this software in two ways:
- **Web Interface**
- Just type ```http://localhost:8181``` on your browser and you're good to go.

- **REST API**
- Using a tool like [Postman](https://www.getpostman.com/) you can send requests to the NodeJS server and get
the raw data for the web interface or the simplified data for convergence graphs.
- **Routes**
- ```POST /pso /fss /abc```
- ```POST /pso/stats /fss/stats /abc/stats```