123456789101112131415161718192021222324252627282930313233343536373839 |
- #ifndef AIP_H
- #define AIP_H
- #include <string>
- #include "CGeniusAI.h"
- #include "neuralNetwork.h"
- namespace geniusai {
- class Network
- {
- public:
- Network();
- Network(vector<unsigned int> whichFeatures);// random network
- Network(istream & input);
- vector<unsigned int> whichFeatures;
- float feedForward(const vector<float> & stateFeatures);
- neuralNetwork net; //a network with whichFeatures.size() inputs, and 1 output
- };
- class Priorities
- {
- public:
- Priorities(const string & filename); //read brain from file
- vector<float> stateFeatures;
- int specialFeaturesStart;
- int numSpecialFeatures;
- void fillFeatures(const CGeniusAI::HypotheticalGameState & AI);
- float getValue(const CGeniusAI::AIObjective & obj);
- float getCost(vector<int> &resourceCosts,const CGHeroInstance * moved,int distOutOfTheWay);
- vector<vector<Network> > objectNetworks;
- vector<map<int,Network> > buildingNetworks;
- };
- }
- #endif
|