00001 #ifndef XCSParams_h
00002 #define XCSParams_h
00003
00004 #include "../ECF_base.h"
00005
00006
00007
00012 class XCSParams {
00013 private:
00014 std::string name_;
00015 voidP getParameterValue(RegistryP registry, std::string name)
00016 {
00017 return registry->getEntry(name_ + "." + name);
00018 }
00019 bool registerParameter(RegistryP registry, std::string name, voidP value, ECF::type T)
00020 {
00021 return registry->registerEntry(name_ + "." + name, value, T);
00022 }
00023 public:
00024 uint mna_;
00025
00026 double initF_;
00027 double beta_;
00028 double gama_;
00029 double p_explore_;
00030
00031 uint thresholdGA_;
00032 double thresholdDel_;
00033 double thresholdSub_;
00034
00035 double eps0_;
00036 double alpha_;
00037 double accExp_;
00038 double pdc_;
00039
00040 double pCrossover_;
00041 double pMutation_;
00042
00043 double delta_;
00044 uint popSize_;
00045
00046 XCSParams (std::string name) {name_ = name;}
00047
00048 void registerParams(RegistryP registry);
00049 void readParams(RegistryP registry);
00050 XMLNode getXMLNode();
00051
00052 };
00053 typedef boost::shared_ptr<XCSParams> XCSParamsP;
00054
00055 #endif