Exemple #1
0
ConfigDialog::ConfigDialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::ConfigDialog)
{
    ui->setupUi(this);

    this->setWindowFlags(Qt::Dialog|Qt::WindowCloseButtonHint);

    alreadyChangingData=false;
    ui->tableView->horizontalHeader()->setMaximumHeight(25);
    ui->tableView->horizontalHeader()->setSectionsMovable(true);
    ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Fixed);
    ui->tableView->verticalHeader()->setSectionResizeMode(QHeaderView::Fixed);

    loadProblems();

    connect(&model,SIGNAL(dataChanged(QModelIndex,QModelIndex)),this,SLOT(dataChangedEvent(QModelIndex,QModelIndex)));
}
Exemple #2
0
Job::Job(const QString & id,
         const QString & trainingSetJson,
         const QString & brainJson,
         const int & brainCount,
         bool & ok,
         const Brain::Mode & mode) :
    QObject(),
    id(id),
    problems(),
    bestBrain(),
    bestBrainEver(),
    brains(),
    brainCount(brainCount),

    infosToSaveCount(100),

    lastNratios(QVector<float>(100, 0.0f)),
    averageRatio(0.0f),
    lastAverageRatio(0.0f),
    mutexLastNratios(),
    mutexAverageRatio(),
    //bestRatioEver(0),
    lastNbalances(QVector<float>(100, 0.0f)),
    averageBalance(0),
    lastAverageBalance(0),
    mutexLastNbalances(),
    mutexAverageBalance(),
    bestBalanceEver(-10000),
    lastNError(QVector<float>(100, 0.0f)),
    averageError(0.0f),
    lastAverageError(0.0f),
    mutexLastNError(),
    mutexAverageError(),
    bestErrorEver(10000),

    mutexBestBrain(),
    mutexBestBrainEver(),
    mutationFrequency(Util::getLineFromConf("mutationFrequency").toFloat()),
    mutationFrequencyAuto(Util::getLineFromConf("mutationFrequencyAuto").toInt()),
    mutationFrequencyUp(Util::getLineFromConf("mutationFrequencyUp").toFloat()),
    mutationFrequencyDown(Util::getLineFromConf("mutationFrequencyDown").toFloat()),
    mutationFrequencyMax(Util::getLineFromConf("mutationFrequencyMax").toFloat()),
    mutationFrequencyMin(Util::getLineFromConf("mutationFrequencyMin").toFloat()),
    mutationIntensity(Util::getLineFromConf("mutationIntensity").toFloat()),
    mutationIntensityAuto(Util::getLineFromConf("mutationIntensityAuto").toInt()),
    mutationIntensityUp(Util::getLineFromConf("mutationIntensityUp").toFloat()),
    mutationIntensityDown(Util::getLineFromConf("mutationIntensityDown").toFloat()),
    mutationIntensityMax(Util::getLineFromConf("mutationIntensityMax").toFloat()),
    mutationIntensityMin(Util::getLineFromConf("mutationIntensityMin").toFloat()),
    limitDeviation(Util::getLineFromConf("limitDeviation").toFloat()),
    mode(mode),
    session(QDateTime::currentDateTime()),
    evaluationMode(BALANCE)
{
    if(ok)
    {
        loadProblems(trainingSetJson, ok);
    }
    if(ok)
    {
        loadBrains(brainJson, ok);
    }
    saveDirectory = Util::getLineFromConf("pathToBrains")
            + "/"
            + QString::number(session.date().year())
            + "_"
            + QString::number(session.date().month())
            + "_"
            + QString::number(session.date().day())
            + "-"
            + QString::number(session.time().hour())
            + "_"
            + QString::number(session.time().minute())
            + "_"
            + QString::number(session.time().second());
    QDir directory;
    directory.mkdir(saveDirectory);
}