#ifndef __BISTPROBLEM_H_
#define __BISTPROBLEM_H_

#include "ProblemDomain.h"
#include "TestVectors.h"
#include <string>

class BistProblem : public ProblemDomain {
  private:
    static const unsigned int ITERATIONS;
    static const AlleleType NUM_ALLOWED_RULES;
    TestVectors tv;
    FloatType fitnessFactor;
    AlleleType *ruleLUT;

  public:
    BistProblem( std::string filename );
    ~BistProblem();
    bool isGood() const;
    void setInitialBias( IprocessConvergedAllele *pca );
    FloatType getFitness( const AlleleType *chromosome ) const;
    void print() const;
};

#endif /* __BISTPROBLEM_H_ */
