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.
- 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.
- Compile the library with Maven
- Import the library in a new project
- Extend
it.unisa.elephant56.user
classes (optional) - Choose a driver (sequential or parallel)
- Register the individual and genetic operator classes to the driver
- Insert
driver.run()
- Pack everything in a JAR
- Run with Hadoop!
We provide a full deployable and runnable example implementing the OneMax problem.
elephant56 is licensed under the terms of the Apache License, version 2.0. Please see the LICENSE file for full details.
Pasquale Salza - Department of Computer Science, University of Salerno, Italy
Filomena Ferrucci - Department of Computer Science, University of Salerno, Italy
Federica Sarro - Department of Computer Science, University College London, United Kingdom