⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hopf.h

📁 hopfield 算法的实现与应用。附带demo演示
💻 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 + -