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

📄 bpnetdlg.h

📁 BP算法
💻 H
字号:
// BPNetDlg.h : header file
//

#if !defined(AFX_BPNETDLG_H__9F1A2E19_8078_4220_98AA_37FFAE3A99CA__INCLUDED_)
#define AFX_BPNETDLG_H__9F1A2E19_8078_4220_98AA_37FFAE3A99CA__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

/////////////////////////////////////////////////////////////////////////////
// CBPNetDlg dialog

#define NMXUNIT 40
#define NMXHLR 5
#define NMXOATTR 40
#define NMXINP  60
#define NMXIATTR 40
#define SEXIT  3
#define RESTRT 2
#define FEXIT 1
#define CONTNE 0

class CBPNetDlg : public CDialog
{
// Construction
public:
	CBPNetDlg(CWnd* pParent = NULL);	// standard constructor

// Dialog Data
	//{{AFX_DATA(CBPNetDlg)
	enum { IDD = IDD_BPNET_DIALOG };
	CListCtrl	m_ListCtrl2;
	CListCtrl	m_ListCtrl1;
	CTreeCtrl	m_TreeCtrl2;
	CTreeCtrl	m_TreeCtrl1;
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CBPNetDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	HICON m_hIcon;

	// Generated message map functions
	//{{AFX_MSG(CBPNetDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnButtonLearn();
	afx_msg void OnButtonOutput();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

public:
	float eta;//冲量系数
	float alpha;//学习率
	float err_curr;//样本集误差
	float maxe;//学习精度
	float maxep;//最大干扰值
	float *wtptr[NMXHLR+1];
	float *outptr[NMXHLR+2];
	float *errptr[NMXHLR+2];
	float *delw[NMXHLR +1];
	float target[NMXINP][NMXOATTR];
	float input[NMXINP][NMXIATTR];
	float output[NMXINP][NMXOATTR],ep[NMXINP];
	int nunit[NMXHLR+2],nhlayer,ninput ,ninattr,noutattr;
	//nhlayer隐蔽层层数,ninput输入样本个数 
	//ninattr输入神经元个数,noutattr输出神经元个数
	int result,cnt,cnt_num;
	int nsnew,nsold;
	CString task_name;
	FILE *fp1,*fp2,*fp3,*fl;
	int fplot10,rule  ;

	bool m_bLearning;

public:
	void user_session();
	void learning();
	int random();
    void init();
	void initwt();
	void set_up();
	void dread(CString taskname);
	void wtread(CString taskname);
	void dwrite( CString taskname );
	void wtwrite(CString taskname);
	void forward(int i);
	int introspective(int nfrom,int nto);
	int rumelhart(int from_snum,int to_snum);
	void output_generation();
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_BPNETDLG_H__9F1A2E19_8078_4220_98AA_37FFAE3A99CA__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -