code: separate RUleset class
code: improve integral probabilities calculation.
code: separate genetic code to a new file
improvement: in genetic algo, remember the best genome and return it.
code: separate fitness function from genetic algo
code: wrap genetical operations into the separate class
refactor: more incapsulation
minor performance fix
incomplete: move optiomizatrion to a class
refactor: finish moving optimizer code to the class