This is an implementation of various algorithms from http://www.cleveralgorithms.com
Clever Algorithms are the programming techniques that try to solve problems by approximation or non deterministic techniques. Generally inspired from various fields of AI, Natural Organisms and Computation Theory.
Natural organisms solve lots of interesting problems by their own techniques. Implementing and understanding these algorithms open us to non deterministic problem solving methodology.
After finding a post about Clever Algorithms - The Book, here on HackerNews I thought about implementing these algorithms.
Algorithms will be structured in same way as they are in the book itself.
- Random Search
- Adaptive Random Search
- Stochastic Hill Climbing
- Iterated Local Search
- Guided Local Search
- Variable Neighborhood Search
- Greedy Randomized Adaptive Search
- Scatter Search
- Tabu Search
- Reactive Tabu Search
- Genetic Algorithm
- Genetic Programming
- Evolution Strategies
- Differential Evolution
- Evolutionary Programming
- Grammatical Evolution
- Gene Expression Programming
- Learning Classifier System
- Strength Pareto Evolutionary Algorithm
- Non-dominated Sorting Genetic Algorithm
- Simulated Annealing
- Extremal Optimization
- Harmony Search
- Cultural Algorithm
- Memetic Algorithm
- Population-Based Incremental Learning
- Univariate Marginal Distribution Algorithm
- Compact Genetic Algorithm
- Bayesian Optimization Algorithm
- Cross-Entropy Method
- Particle Swarm Optimization
- Ant System
- Ant Colony System
- Bees Algorithm
- Bacterial Foraging Optimization Algorithm
- Clonal Selection Algorithm
- Negative Selection Algorithm
- Artificial Immune Recognition System
- Immune Network Algorithm
- Dendritic Cell Algorithm
- Perceptron
- Back-propagation
- Hopfield Network
- Learning Vector Quantization
- Self-Organizing Map
