Implementação inicial do AG