Second commit

Many algorithms implemented
Main algorithms that remain to implement :
- mutate()
- find_solution()