-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCGenerace.h
38 lines (32 loc) · 979 Bytes
/
CGenerace.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//
// Created by Jaroslav Hrách on 26.12.16.
//
#ifndef GENETIKA_CGENERACE_H
#define GENETIKA_CGENERACE_H
#include <vector>
#include "CKlauzule.h"
#include "CChromozom.h"
using namespace std;
class CGenerace {
private:
vector<CChromozom *> listChromozomu;
int delkaChromozomu;
int velikostPopulace;
int pocetKlauzuli;
CKlauzule * klauzule;
int * vahy;
public:
CGenerace(int delkaChromozomu, int velikostPopulace, int pocetKlauzuli, CKlauzule klauzule[], int vahy[]);
~CGenerace();
void pridatChromozom(CChromozom * chromozom);
void evoluce(double pravdepodobnostKrizeni, double pravdepodobnostMutace, int elitismus);
void selekce(int elitismus);
void krizeni(double pravdepodobnostKrizeni);
void mutace(double pravdepodobnostMutace, int elitismus);
void vypsatGeneraci();
void vypsatNejlepsiReseni();
int nejlepsiVaha();
int nejlepsiFitness();
int splneneKlauzule();
};
#endif //GENETIKA_CGENERACE_H