ts-aggregator/project_template/Dsa.h
2022-12-13 12:36:06 +04:00

48 lines
1.6 KiB
C++

#ifndef DSA_H
#define DSA_H
#include <vector>
#include "A.h"
#include "Method.h"
#include "Param.h"
using namespace std;
class Dsa : public Method {
private:
vector<A> a; // íàáîð ôóíêöèé ïðèíàäëåæíîñòè
int countFuzzyParts;// êîëè÷åñòâî èíòåðâàëîâ óíèâåðñóìà
vector<vector<int>> rulesIn; // âõîäíàÿ ÷àñòü ïðàâèë
vector<int> rulesOut; // âûõîäíàÿ ÷àñòü
int countRulesIn; // êîëè÷åñòâî âõîäíûõ ïåðåìåííûõ
double universumMin;
double universumMax;
double sizeLabels;
vector<int> fuzzyTs; // íå÷åòêèé âðåìåííîé ðÿä
double alpha; // ïàðàìåòð ñãëàæèâàíèÿ
double gamma; // ïàðàìåòð ñãëàæèâàíèÿ òðåíäà
double delta; // ïàðàìåòð ñãëàæèâàíèÿ ñåçîííîé êîìïîíåíòû
int p; // ïåðèîä ñåçîííîñòè
double phi; // ïàðàìåòð äåìïèíãà
void defineUniversum(); // îïðåäåëèòü óíèåðñóì äëÿ âðåìåííîãî ðÿäà
void createRules(); // ñîçäàòü ïðàâèëà, ïàðàìåòð çàäàåò êîëè÷åñòâî âõîäíûõ ïåðåìåííûõ
int fuzzyfication(double); // ïîëó÷èòü íå÷åòêèé âðåìåííîé ðÿä â âèäå ïîñëåäîâàòåëüíîñòè íå÷åòêèõ ìíîæåñòâ
double defuzzyfication(int); // ïîëó÷èòü íå÷åòêèé âðåìåííîé ðÿä â âèäå ïîñëåäîâàòåëüíîñòè íå÷åòêèõ ìíîæåñòâ
vector<int> searchRules(vector<int>);
vector<int> searchRulesForSeason(int);
public:
Dsa(vector<double>, int);
~Dsa(void);
vector<double> getForecast();
void init();
void createModel();
void createModelForEstimation();
void setParam(string, double);
double calcEstimation(Aic *);
Param* optimize(Estimation *); // ìåòîä îïòèìèçàöèè îäíîãî ïàðàìåòðà
int getNamberParam();
};
#endif