www.pudn.com > LuckLottery.rar > LuckyLottery.h


// LuckyLottery.h : main header file for the LUCKYLOTTERY application 
// 
 
#if !defined(AFX_LUCKYLOTTERY_H__8FBD7D05_B6D0_11D4_B1F4_0800690F4DCC__INCLUDED_) 
#define AFX_LUCKYLOTTERY_H__8FBD7D05_B6D0_11D4_B1F4_0800690F4DCC__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
#ifndef __AFXWIN_H__ 
	#error include 'stdafx.h' before including this file for PCH 
#endif 
 
#include "resource.h"       // main symbols 
 
///////////////////////////////////////////////////////////////////////////// 
// CLuckyLotteryApp: 
// See LuckyLottery.cpp for the implementation of this class 
// 
 
 
#define IN_NUM 280 			//输入层 单元数 
#define HIDE_NUM 70			//隐层   单元数 
#define OUT_NUM 7			//输出层 单元数 
#define DATA_NUM 40   		//训练数据的组数 
#define END_VALUE 0.5 		//误差值结束条件 
#define END_COUNT 100000    //训练次数结束条件 
 
 
 
class CLuckyLotteryApp : public CWinApp 
{ 
public: 
	CLuckyLotteryApp(); 
 
// Overrides 
	// ClassWizard generated virtual function overrides 
	//{{AFX_VIRTUAL(CLuckyLotteryApp) 
	public: 
	virtual BOOL InitInstance(); 
	//}}AFX_VIRTUAL 
 
// Implementation 
public: 
	double data_in[DATA_NUM][IN_NUM];	//训练数据的输入 
	double data_ot[DATA_NUM][OUT_NUM];	//训练数据的输出 
	 
	double ot_in[IN_NUM];				//输入层 单元的输出 
	double teach[OUT_NUM];				//输出层输出的期望值 
	double error_value; 
 
 
	double ot_hd[HIDE_NUM];				//隐层   单元的输出 
	double  w_in_hd[HIDE_NUM][IN_NUM];	//来自输入层的连接权值 
	double dw_in_hd[HIDE_NUM][IN_NUM];	//来自输入层的连接权值的修正值 
	double ow_in_hd[HIDE_NUM][IN_NUM];	//来自输入层的连接权值的上一次修正值 
	double  cw_hd[HIDE_NUM];			//隐层单元的阈值 
	double dcw_hd[HIDE_NUM];			//隐层单元的阈值的修正值 
	double ocw_hd[HIDE_NUM];			//隐层单元的阈值的上一次修正值 
 
	double ot_ot[OUT_NUM];				//输出层 单元的输出 
	double  w_hd_ot[OUT_NUM][HIDE_NUM];	//来自隐层的连接权值  
	double dw_hd_ot[OUT_NUM][HIDE_NUM];	//来自隐层的连接权值的修正值  
	double ow_hd_ot[OUT_NUM][HIDE_NUM];	//来自输入层的连接权值的上一次修正值  
	double  cw_ot[OUT_NUM];				//输出层单元的阈值 
	double dcw_ot[OUT_NUM];				//输出层单元的阈值的修正值 
	double ocw_ot[OUT_NUM];				//输出层单元的阈值的上一次修正值 
 
	double del_ot[OUT_NUM];				//输出层单元的误差中间值 
	double del_hd[HIDE_NUM];			//隐层单元的误差中间值 
	double alpha;						//调整权值变化量的参数 
	double steplength;					//调整权值变化量的学习步长 
	double ru0;							//决定sigmode函数形状的参数 
 
	char buffer[9*(DATA_NUM+(IN_NUM/7)+1)]; 
 
public: 
	void GetData(); 
	void InitNetwork(); 
	double Sigmf(double su); 
	CString ForecastLottery(CString input_data); 
	//{{AFX_MSG(CLuckyLotteryApp) 
	afx_msg void OnAppAbout(); 
	afx_msg void OnInputLottery(); 
	afx_msg void OnTrainNetwork(); 
	afx_msg void OnOutputLottery(); 
	afx_msg void OnWriteLottery(); 
	//}}AFX_MSG 
	DECLARE_MESSAGE_MAP() 
}; 
 
 
///////////////////////////////////////////////////////////////////////////// 
 
//{{AFX_INSERT_LOCATION}} 
// Microsoft Visual C++ will insert additional declarations immediately before the previous line. 
 
#endif // !defined(AFX_LUCKYLOTTERY_H__8FBD7D05_B6D0_11D4_B1F4_0800690F4DCC__INCLUDED_)