Main Page | Namespace List | Class Hierarchy | Class List | File List | Class Members | File Members

SnnsKrui.h

Go to the documentation of this file.
00001 #ifndef SNNSKRUI_HEADER
00002 #define SNNSKRUI_HEADER
00003 
00004 #include <iostream.h>
00005 
00006 #include "TObject.h"
00007 #include "snns_kr_ui.h"
00008 
00009 class SnnsKrui : virtual public TObject {
00010 
00011 public:
00012 
00013   SnnsKrui();
00014   ~SnnsKrui();
00015 
00016   void          (*krui_errorHandler)(int);
00017   int             krui_error_code;
00018 
00019   int             getNoOfUnits(void);
00020   int             getFirstUnit(void);
00021   int             getNextUnit(void);
00022   int             getCurrentUnit(void);
00023   krui_err        setCurrentUnit(int unit_no);
00024   char           *getUnitName(int UnitNo);
00025   krui_err        setUnitName(int unit_no, char *unit_name);
00026   int             searchUnitName(char *unit_name);
00027   int             searchNextUnitName(void);
00028   char           *getUnitOutFuncName(int UnitNo);
00029   krui_err        setUnitOutFunc(int unit_no, char *unitOutFuncName);
00030   char           *getUnitActFuncName(int UnitNo);
00031   krui_err        setUnitActFunc(int unit_no, char *unitActFuncName);
00032   char           *getUnitFTypeName(int UnitNo);
00033   FlintType       getUnitActivation(int UnitNo);
00034   krui_err        setUnitActivation(int UnitNo,
00035                                          FlintTypeParam unit_activation);
00036   FlintType       getUnitInitialActivation(int UnitNo);
00037   void            setUnitInitialActivation(int UnitNo,
00038                                             FlintTypeParam unit_i_activation);
00039   FlintType       getUnitOutput(int UnitNo);
00040   krui_err        setUnitOutput(int unit_no, FlintTypeParam unit_output);
00041   FlintType       getUnitBias(int UnitNo);
00042   void            setUnitBias(int UnitNo, FlintTypeParam unit_bias);
00043   FlintType       getUnitValueA(int UnitNo);
00044   void            setUnitValueA(int UnitNo, FlintTypeParam unit_valueA);
00045   int             getUnitSubnetNo(int UnitNo);
00046   void            setUnitSubnetNo(int UnitNo, int subnet_no);
00047   unsigned short  getUnitLayerNo(int UnitNo);
00048   void            setUnitLayerNo(int UnitNo, int layer_no);
00049   void            getUnitPosition(int UnitNo, struct PosType *position);
00050   void            setUnitPosition(int UnitNo, struct PosType *position);
00051   int             getUnitNoAtPosition(struct PosType *position,
00052                                            int subnet_no);
00053   int             getUnitNoNearPosition(struct PosType *position,
00054                                              int subnet_no,
00055                                              int range, int gridWidth);
00056   int             getUnitTType(int unit_no);
00057   krui_err        setUnitTType(int unit_no, int UnitTType);
00058   krui_err        freezeUnit(int unit_no);
00059   krui_err        unfreezeUnit(int unit_no);
00060   bool            isUnitFrozen(int unit_no);
00061   int             getUnitInputType(int unit_no);
00062   int             createDefaultUnit(void);
00063   int             createUnit(char *unit_name, char *out_func_name,
00064                             char *act_func_name, FlintTypeParam i_act,
00065                             FlintTypeParam bias);
00066   krui_err        deleteUnit(int unit_no);
00067   krui_err        deleteUnitList(int no_of_units, int unit_list[]);
00068   int             createFTypeUnit(char *Ftype_symbol);
00069   krui_err        setUnitFType(int unit_no, char *Ftype_symbol);
00070   int             copyUnit(int unit_no, int copy_mode);
00071   bool            setFirstFTypeEntry(void);
00072   bool            setNextFTypeEntry(void);
00073   bool            setFTypeEntry(char *Ftype_symbol);
00074   char           *getFTypeName(void);
00075   krui_err        setFTypeName(char *Ftype_symbol);
00076   char           *getFTypeActFuncName(void);
00077   krui_err        setFTypeActFunc(char *act_func_name);
00078   krui_err        setFTypeOutFunc(char *out_func_name);
00079   bool            setFirstFTypeSite(void);
00080   bool            setNextFTypeSite(void);
00081   char           *getFTypeSiteName(void);
00082   krui_err        setFTypeSiteName(char *FType_site_name);
00083   krui_err        createFTypeEntry(char *Ftype_symbol, char *act_func_name,
00084                                         char *out_func_name, int no_of_sites,
00085                                         char **array_of_site_names);
00086   krui_err        deleteFTypeEntry(char *Ftype_symbol);
00087   int             getNoOfFunctions(void);
00088   void            getFuncInfo(int func_no, char **func_name,int *func_type);
00089   bool            isFunction(char *func_name, int func_type);
00090   bool            getFuncParamInfo(char *func_name, int func_type,
00091                                     int *no_of_input_params,
00092                                     int *no_of_output_params);
00093   bool            getFirstSiteTableEntry(char **site_name,char **site_func);
00094   bool            getNextSiteTableEntry(char **site_name, char **site_func);
00095   char           *getSiteTableFuncName(char *site_name);
00096   krui_err        createSiteTableEntry(char *site_name, char *site_func);
00097   krui_err        changeSiteTableEntry(char *old_site_name,
00098                                             char *new_site_name,
00099                                             char *new_site_func);
00100   krui_err        deleteSiteTableEntry(char *site_name);
00101   bool            setFirstSite(void);
00102   bool            setNextSite(void);
00103   krui_err        setSite(char *site_name);
00104   FlintType       getSiteValue(void);
00105   char           *getSiteName(void);
00106   krui_err        setSiteName(char *site_name);
00107   char           *getSiteFuncName(void);
00108   krui_err        addSite(char *site_name);
00109   bool            deleteSite(void);
00110   int             getFirstPredUnit(FlintType *strength);
00111   int             getFirstPredUnitAndData(FlintType *strength,float *val_a,float *val_b, float *val_c);
00112   int             getNextPredUnit(FlintType *strength);
00113   int             getNextPredUnitAndData(FlintType *strength,float *val_a,float *val_b, float *val_c);
00114   int             getCurrentPredUnit(FlintType *strength);
00115 
00116   int             getFirstSuccUnit(int source_unit_no, FlintType *weight);
00117   int             getNextSuccUnit(FlintType *weight);
00118   bool            areConnected(int source_unit_no, int target_unit_no);
00119   bool            areConnectedWeight(int source_unit_no,int target_unit_no,
00120                                           FlintType *weight);
00121   bool            isConnected(int source_unit_no);
00122   FlintType       getLinkWeight(void);
00123   void            setLinkWeight(FlintTypeParam weight);
00124   krui_err        createLink(int source_unit_no, FlintTypeParam weight);
00125   struct Link*    createLinkWithAdditionalParameters(
00126                          int source_unit_no, FlintTypeParam weight,
00127                          float val_a,float val_b,float val_c);
00128   krui_err        deleteLink(void);
00129   krui_err        deleteAllInputLinks(void);
00130   krui_err        deleteAllOutputLinks(void);
00131 
00132   void            jogWeights(FlintTypeParam minus, FlintTypeParam plus);
00133   krui_err        jogCorrWeights(FlintTypeParam minus, FlintTypeParam plus,
00134                                       FlintTypeParam mincorr);
00135   krui_err        updateSingleUnit(int unit_no);
00136   char           *getUpdateFunc(void);
00137   krui_err        setUpdateFunc(char *update_func);
00138   krui_err        setRemapFunc(char *name, float *params);
00139   krui_err        updateNet(float *parameterInArray, int NoOfInParams);
00140   char           *getInitialisationFunc(void);
00141   krui_err        setInitialisationFunc(char *initialisation_func);
00142   krui_err        initializeNet(float *parameterInArray, int NoOfInParams);
00143   char           *getLearnFunc(void);
00144   krui_err        setLearnFunc(char *learning_func);
00145   krui_err        trainNetwork(NetLearnParameters *parameters);
00146   krui_err        getNetworkErrorArray(double **learnErrors,int **atEpoch,
00147                                             int *noOfErrors);
00148   krui_err        stopTraining(void);
00149   krui_err        learnAllPatterns(float *parameterInArray,int NoOfInParams,
00150                                         float **parameterOutArray,
00151                                         int *NoOfOutParams);
00152   krui_err        testAllPatterns(float *parameterInArray, int NoOfInParams,
00153                                        float **parameterOutArray,
00154                                        int *NoOfOutParams);
00155   krui_err        learnSinglePattern(int pattern_no,float *parameterInArray,
00156                                           int NoOfInParams,
00157                                           float **parameterOutArray,
00158                                           int *NoOfOutParams);
00159   krui_err        testSinglePattern(int pattern_no, float *parameterInArray,
00160                                          int NoOfInParams,
00161                                          float **parameterOutArray,
00162                                          int *NoOfOutParams);
00163   int             checkPruning (void);
00164   krui_err        learnAllPatternsFF(float *parameterInArray,
00165                                           int NoOfInParams,
00166                                           float **parameterOutArray,
00167                                           int *NoOfOutParams);
00168   krui_err        learnSinglePatternFF(int pattern_no,
00169                                             float *parameterInArray,
00170                                             int NoOfInParams,
00171                                             float **parameterOutArray,
00172                                             int *NoOfOutParams);
00173   krui_err        setClassDistribution(unsigned int *classDist);
00174   krui_err        setClassInfo(char *name);
00175   krui_err        useClassDistribution(bool use_it);
00176   char           *getPrunFunc (void);
00177   char           *getFFLearnFunc (void);
00178   krui_err        setFFLearnFunc (char *FF_learning_func);
00179   krui_err        setPrunFunc (char *pruning_func);
00180   krui_err        showPattern(int mode);
00181   krui_err        allocNewPatternSet(int *set_no);
00182   krui_err        newPattern(void);
00183   krui_err        setPatternNo(int pattern_no);
00184   krui_err        getPatternNo(void);
00185   krui_err        deletePattern(void);
00186   krui_err        modifyPattern(void);
00187   void            deleteAllPatterns(void);
00188   krui_err        shufflePatterns(bool on_or_off);
00189   krui_err        shuffleSubPatterns(bool on_or_off);
00190   int             getNoOfPatterns(void);
00191   int             getTotalNoOfSubPatterns(void);
00192   krui_err        loadNewPatterns(char *filename, int *number);
00193   krui_err        setCurrPatSet(int number);
00194   krui_err        saveNewPatterns(char *filename, int number);
00195   krui_err        deletePatSet(int number);
00196   krui_err        GetPatInfo(pattern_set_info *set_info,
00197                                   pattern_descriptor *pat_info);
00198   krui_err        DefShowSubPat(int *insize, int *outsize,
00199                                      int *inpos, int *outpos);
00200   krui_err        DefTrainSubPat(int *insize, int *outsize,
00201                                       int *instep, int *outstep,
00202                                       int *max_n_pos);
00203   krui_err        AlignSubPat(int *inpos, int *outpos, int *no);
00204   krui_err        GetShapeOfSubPattern(int *insize, int *outsize,
00205                                             int *inpos, int *outpos, int n_pos);
00206   krui_err        saveNet(char *filename, char *netname);
00207   krui_err        loadNet(char *filename, char **netname);
00208   krui_err        saveResultParam(char *filename, bool create,
00209                                        int startpattern, int endpattern,
00210                                        bool includeinput, bool includeoutput,
00211                                        float *Update_param_array,
00212                                        int NoOfUpdateParam);
00213   krui_err        allocateUnits(int no_of_units);
00214   void            deleteNet(void);
00215   bool            getFirstSymbolTableEntry(char **symbol_name,
00216                                                 int *symbol_type);
00217   bool            getNextSymbolTableEntry(char **symbol_name,
00218                                                int *symbol_type);
00219   bool            symbolSearch(char *symbol, int symbol_type);
00220   char           *getVersion(void);
00221   void            getNetInfo(int *no_of_sites, int *no_of_links,
00222                                   int *no_of_STable_entries,
00223                                   int *no_of_FTable_entries);
00224   void            getMemoryManagerInfo(int *unit_bytes,
00225                          int *site_bytes, int *link_bytes,
00226                          int *NTable_bytes, int *STable_bytes,
00227                          int *FTable_bytes);
00228   void            getUnitDefaults(FlintType *act, FlintType *bias, int *st,
00229                          int *subnet_no, int *layer_no, char **act_func,
00230                          char **out_func);
00231   krui_err        setUnitDefaults(FlintTypeParam act,
00232                          FlintTypeParam bias, int st, int subnet_no,
00233                          int layer_no, char *act_func, char *out_func);
00234   void            resetNet(void);
00235   void            setSeedNo(long int seed);
00236   int             getNoOfInputUnits(void);
00237   int             getNoOfOutputUnits(void);
00238   int             getNoOfTTypeUnits(int UnitTType);
00239   int             getNoOfSpecialInputUnits(void);
00240   int             getNoOfSpecialOutputUnits(void);
00241   krui_err        xyTransTable(int op, int *x, int *y, int z);
00242   krui_err        getUnitCenters(int unit_no, int center_no,
00243                          struct PositionVector **unit_center);
00244   krui_err        setUnitCenters(int unit_no, int center_no,
00245                          struct PositionVector *unit_center);
00246   char           *error(int error_code);
00247   float           NA_Error(int currentPattern, int error_unit,
00248                                     int error, bool ave);
00249 
00250   float           getVariance (void);
00251   int             countLinks(void);
00252 
00253 #ifdef MASPAR_KERNEL
00254 
00255   krui_err        MasPar( mode );
00256   krui_err        getMasParStatus(void);
00257   krui_err        MasParBenchmark( func_type, cycles, result );
00258 
00259 #endif
00260 
00261   krui_err        setSpecialNetworkType(int net_type);
00262   int             getSpecialNetworkType(void);
00263   int             initInversion(void);
00264   void            inv_forwardPass(struct UnitList *inputs);
00265   double          inv_backwardPass(float learn, float delta_max,
00266                                         int *err_units, float ratio,
00267                                         struct UnitList *inputs,
00268                                         struct UnitList *outputs);
00269   void            kohonen_SetExtraParameter(int x);
00270   void            spanning_tree(void);
00271   void            cc_updatePosOfSpecialUnits(void);
00272   krui_err        cc_deleteAllSpecialUnits(void);
00273   int             getErrorCode(void);
00274   krui_err        setErrorHandler(void(* error_Handler )(int));
00275   void            execHandler(int error_code);
00276 
00277   ClassDef(SnnsKrui, 1)
00278 };
00279 
00280 #endif

Generated on Wed Feb 15 17:06:36 2006 for ROOTSNNS by doxygen 1.3.6