general concept of genetic algorithm