📄 hopf.h
字号:
/*---------------------------------------------------------------------- File : hopf.h Contents: Hopfield network as associative memory Author : Christian Borgelt History : 2002.12.01 file created from file xsom.c----------------------------------------------------------------------*/#ifndef __HOPFNET__#define __HOPFNET__/*---------------------------------------------------------------------- Type Definitions----------------------------------------------------------------------*/typedef struct { /* --- Hopfield network --- */ int width, height; /* width and height of neuron grid */ int unitcnt; /* number of neurons/units */ int curr; /* current unit to update */ int **wgts; /* weight matrix */ int patcnt; /* number of patterns */ int **pats; /* stored patterns */ int *acts[1]; /* neuron activations */} HOPFNET; /* (Hopfield network) *//*---------------------------------------------------------------------- Functions----------------------------------------------------------------------*/extern HOPFNET* hfn_create (int width, int height);extern void hfn_delete (HOPFNET *hfn);extern int hfn_width (HOPFNET *hfn);extern int hfn_height (HOPFNET *hfn);extern void hfn_init (HOPFNET *hfn);extern void hfn_shuffle (HOPFNET *hfn, double randfn(void));extern void hfn_clear (HOPFNET *hfn);extern void hfn_rand (HOPFNET *hfn, double randfn(void));extern void hfn_actset (HOPFNET *hfn, int x, int y, int act);extern int hfn_actget (HOPFNET *hfn, int x, int y);extern void hfn_curr (HOPFNET *hfn, int *x, int *y);extern int hfn_update (HOPFNET *hfn, int x, int y);extern int hfn_patcnt (HOPFNET *hfn);extern int hfn_patadd (HOPFNET *hfn);extern void hfn_patrem (HOPFNET *hfn, int index);extern void hfn_patget (HOPFNET *hfn, int index);extern int hfn_patfind (HOPFNET *hfn);extern int hfn_save (HOPFNET *hfn, FILE *file);extern HOPFNET* hfn_load (FILE *file);/*---------------------------------------------------------------------- Preprocessor Definitions----------------------------------------------------------------------*/#define hfn_width(h) ((h)->width)#define hfn_height(h) ((h)->height)#define hfn_patcnt(h) ((h)->patcnt)#define hfn_actget(h,x,y) ((h)->acts[y][x])#define hfn_actset(h,x,y,a) ((h)->acts[y][x] = (a))#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -