Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pasqualesalza/elephant56
A Genetic Algorithms framework for Hadoop MapReduce.
https://github.com/pasqualesalza/elephant56
genetic-algorithm hadoop hadoop-mapreduce parallel
Last synced: 5 days ago
JSON representation
A Genetic Algorithms framework for Hadoop MapReduce.
- Host: GitHub
- URL: https://github.com/pasqualesalza/elephant56
- Owner: pasqualesalza
- License: apache-2.0
- Created: 2016-04-04T09:02:23.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-05-30T12:55:16.000Z (over 6 years ago)
- Last Synced: 2023-12-28T19:38:42.969Z (12 months ago)
- Topics: genetic-algorithm, hadoop, hadoop-mapreduce, parallel
- Language: Java
- Homepage:
- Size: 123 KB
- Stars: 10
- Watchers: 0
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# elephant56
*elephant56* is a Genetic Algorithms (GAs) framework for Hadoop MapReduce with the aim of easing the development of distributed GAs. It provides high level functionalities which can be reused by developers, who no longer need to worry about complex internal structures.
## Features
- Sequential Genetic Algorithm
- Parallel Genetic Algorithm
- Global model, also called master-slave model
- Grid model, also called cellular model or fine-grained parallel model
- Island model, also called distributed model or coarse-grained parallel model
- Report of execution time and population evolution
- Sample individual and genetic operator implementations
- Number sequence individuals, roulette wheel selection, single point crossover, etc.## Usage
1. Compile the library with Maven
2. Import the library in a new project
3. Extend `it.unisa.elephant56.user` classes (optional)
4. Choose a driver (sequential or parallel)
6. Register the individual and genetic operator classes to the driver
5. Insert `driver.run()`
6. Pack everything in a JAR
7. Run with Hadoop!## Example of Use
We provide a full deployable and runnable [example](examples/onemax) implementing the *OneMax* problem.
## License
*elephant56* is licensed under the terms of the [Apache License, version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html). Please see the [LICENSE](LICENSE.md) file for full details.
## Credits
[Pasquale Salza](mailto:[email protected]) - Department of Computer Science, University of Salerno, Italy
[Filomena Ferrucci](mailto:[email protected]) - Department of Computer Science, University of Salerno, Italy
[Federica Sarro](mailto:[email protected]) - Department of Computer Science, University College London, United Kingdom