-exponential and quadratic rank selection
-tournament selection
-iterative learning
-some refactoring