https://github.com/nico-curti/walkers
Random Walk and Optimizer Simulator
https://github.com/nico-curti/walkers
evolutionary-algorithms nature-inspired-algorithms optimization-algorithms random-walk
Last synced: 8 months ago
JSON representation
Random Walk and Optimizer Simulator
- Host: GitHub
- URL: https://github.com/nico-curti/walkers
- Owner: Nico-Curti
- License: gpl-3.0
- Created: 2018-10-01T20:30:52.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2019-02-11T19:57:42.000Z (over 7 years ago)
- Last Synced: 2024-12-28T16:18:22.260Z (over 1 year ago)
- Topics: evolutionary-algorithms, nature-inspired-algorithms, optimization-algorithms, random-walk
- Language: Python
- Homepage: https://nico-curti.github.io/Walkers
- Size: 522 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Authors: AUTHORS.md
Awesome Lists containing this project
README
| **Authors** | **Project** | **Build Status** | **Latest Version** | **License** |
|:------------:|:-----------:|:-----------------------------:|:------------------:|:-----------:|
| N. Curti | Walkers | **Linux** : [](https://travis-ci.com/Nico-Curti/Walkers)
**Windows** : [](https://ci.appveyor.com/project/Nico-Curti/walkers) |  | [](https://github.com/Nico-Curti/Walkers/blob/master/LICENSE)
[](https://github.com/Nico-Curti/walkers/pulls)
[](https://github.com/Nico-Curti/walkers/issues)
[](https://github.com/Nico-Curti/walkers/stargazers)
[](https://github.com/Nico-Curti/walkers/watchers)
# Random Walkers Simulator
The Walkers toolbox provides a set of optimization algorithms and random walk process inspired by natural process and physical equations. The package also includes a set of common score functions (landscape) to study the characteristics of each walkers and the pro and cons of each optimization strategy.
1. [Prerequisites](#prerequisites)
2. [Installation](#installation)
3. [Usage](#usage)
3. [Background](#background)
4. [Contribution](#contribution)
4. [Authors](#authors)
5. [Acknowledgement](#Acknowledgement)
## Prerequisites
**Walkers** support a pure Python implementation and a pure C++ version. To install the two components see the section below.
The **Python version** depends only by the most common scientific libraries (NumPy, SciPy, Matplotlib).
The **C++ version** supports only c++ standard 17 and needs OpenGL to perform walker visualization. To enable the multithreading support just build the files with the OMP flags ON.
## Installation
For the **Python installation** see [here](https://github.com/Nico-Curti/Walkers/blob/master/docs/python_install.md).
For the **C++ installation** see [here](https://github.com/Nico-Curti/Walkers/blob/master/docs/cpp_install.md).
For any troubles with the dependencies installation we recomend the use of [**ShUt**](https://github.com/Nico-Curti/shut) which includes a complete set of *no root* users installation scripts.
**NOTE:** In the Python version the directory [wip](https://github.com/Nico-Curti/Walkers/tree/master/Walkers/wip) includes incomplete and untested methods that are *work in progress* yet.
**NOTE:** The C++ version is incomplete and untested yet so pay attention to use it! I will finish it ASAP (compatibly with my social life).
## Usage
**Walkers** includes a large set of landscape functions commonly used in optimization algorithms testing. These functions are supported either in the Python version either in the C++ one and they are extracted from [https://www.sfu.ca/~ssurjano/optimization.html](https://www.sfu.ca/~ssurjano/optimization.html).
Each Python source code includes a small *__main__* function to test and show how to use it also in relation with the other codes. A complete example is given in [test.py](https://github.com/Nico-Curti/Walkers/blob/master/Walkers/tests/main.py).
Regard the C++ implementation a fully example is given in [run.cpp](https://github.com/Nico-Curti/Walkers/blob/master/example/run.cpp) which is also the only real cpp file in the project. All the optimization algorihtms are available just including the single header [walkers.h](https://github.com/Nico-Curti/Walkers/blob/master/cpp/include/walkers.h).
## Background
The Walkers project is inspired by the [EvoloPy](https://github.com/7ossam81/EvoloPy) project and it is proposed as an optimization and extension of that.
## Contribution
Any contribution is more than welcome :heart:. Just fill an issue or a pull request and I will check ASAP!
## Authors
* **Nico Curti** [git](https://github.com/Nico-Curti), [unibo](https://www.unibo.it/sitoweb/nico.curti2)
See also the list of [contributors](https://github.com/Nico-Curti/walkers/contributors) who partecipated in this project.
## Acknowledgments
Thanks goes to all contributors of this project:
[
Dott.ssa Silvia Vitali](https://github.com/silviavitali)