#ifndef GA_H
#define GA_H

#include <random>

#include "GGA.h"

class GA : public GGA {
    public:
        GA(int mu, int lda, int selection, double sbm_proba, double crossover_proba, int crossover_method, int version, std::default_random_engine& randomizer) :
            GGA(mu, lda, selection, crossover_method, version, randomizer), m_crossover_proba{crossover_proba}, m_sbm_proba{sbm_proba} {};
        double get_crossover_proba(double progress);
        double get_sbm_proba(double progress);

    protected:
        double m_crossover_proba;
        double m_sbm_proba;
};

#endif // GA_H