globe3.h

来自「某个实验事编写粗糙集智能信息处理的程序」· C头文件 代码 · 共 54 行

H
54
字号
 //globe.h
#if !defined (GLOBE_H_)
#define GLOBE_H_
#include "SetClass.h"

///////////////////////////////////////////////////////////////////////////////////////////////////
namespace globe3
{
	
	
	bool SimRelation(float** pIS,char ***ISTable,Set& ConAttrSet,int x,int y);//相似关系
	void SimClass(Set& SClass,float** pIS,char ***ISTable,int RecNum , Set& ConAttrSet,int m);//相似等价类

	bool ReadRecConNum(char* FileName,int* pNum);////读入文件头前4行读入条件属性和记录数目,分别存储在pNum[0]和pNum[1]中
	void InputInfSys(char* FileName,float** &pIS,char ***&ISTable,int* &pDecis,char **&ConName,char** &ConType);//读入信息表
	bool IntTransFloat(float** pRule,int rule_number, Set& set,
				   int* dec,int* pCon,int* pClass,char* cut_file_name,char* rule_file_name,int con_attr_num);
	//写规则文件,输出结果,将规则中的整数还原为原先的浮点类型	
	void Save(char* In_File,Set& Rset,char* FileName,float** pResult,int RecNum,int ConAttrNum,int* pDecisR,int* ,int* ,char**,char**);
	//void MissValue(char* FileName,char** pIS,int RecNum,int ConAttrNum,float MissRate,int* pDecis);
	void EqClassofDecis(Set& EClassD,int* pDecis,int RecNum,int m);//m实例决策的等价类
	void EqClassNumofDecis(Set& EClassDNum,int* pDecis,int RecNum);//划分决策的等价类
	int  CardofPosRegion(float** pIS,char ***ISTable,int* pDecis,int RecNum,Set& ConAttrSet);//返回正域中的元素数目		
	void FindCoreConAttr(Set& Core_ConAttr,int& Core_num,int* pCMiss,Set& Fre,float** pIS,char ***ISTable,int* pDec,int Rec_Num,Set& Con_Attr_Set);//找到条件属性的核属性
    int MissValueNum(Set& Q,int* pCMiss);	//统计信息表总的遗失属性数
	bool SelConAttrSet(float Criterion,Set&  Rset,float** pIS,char ***ISTable,int RecNum,Set& ConAttrSet,int* pDecis);//属性约简
	void ComputerPara(float** pRule,int* pRdec,int RuleNum,Set& Rset,float** pIS,char *** ISTable,int* pDec,int RecNum,int* pCov,int* pClass);//计算规则的覆盖度和限制容差类的元素个数
    void DecisMatrix(Set* pDMatrix,int n,float** pIS,char ***ISTable,int RecNum,int ConAttrNum,int* pDecis);//构建实例n的广义差异矩阵行
	void SetMinSet(Set* pDM, int n, Set& RSet);//设置最小的与或式集合
	void GenerateRules(char* In_File,char* FileName,float** pIS,char ***ISTable,int* pDecis,Set& Rset,int RecNum,int ConAttrNum,char**,char**);//导出规则集

/*
	bool ReadRecConNum(char* FileName,int* pNum);
	void  InputInfSys(char* FileName,int** pIS,int* pDecis,char**,char**);
	bool IntTransFloat(int** pRule,int rule_number, Set& set,
				   int* dec,int* pCon,int* pClass,
				   char* cut_file_name,char* rule_file_name,int con_attr_num);
	void Save(char* In_File,Set& Rset,char* FileName,int** pResult,int RecNum,int ConAttrNum,int* pDecisR,int* ,int* ,char**,char**);
	//void MissValue(char* FileName,char** pIS,int RecNum,int ConAttrNum,float MissRate,int* pDecis);
	void EqClassofDecis(Set& EClassD,int* pDecis,int RecNum,int m);
	void EqClassNumofDecis(Set& EClassDNum,int* pDecis,int RecNum);
	int  CardofPosRegion(int** pIS,int* pDecis,int RecNum,Set& ConAttrSet);
	
	void FindCoreConAttr(Set& Core_ConAttr,Set& Fre,int** pIS,int* pDec,int Rec_Num,Set& Con_Attr_Set);
	int MissValueNum(Set& Q,int* pCMiss);
	bool SelConAttrSet(float Criterion,Set&  Rset,int** pIS,int RecNum,Set& ConAttrSet,int* pDecis);
	void ComputerPara(int** pRule,int* pRdec,int RuleNum,Set& Rset,int** pIS,int* pDec,int RecNum,int* pCov,int* pClass);
    void DecisMatrix(Set* pDMatrix,int n,int** pIS,int RecNum,int ConAttrNum,int* pDecis);
	void SetMinSet(Set* pDM, int n, Set& RSet);
	void GenerateRules(char* In_File,char* FileName,int** pIS,int* pDecis,Set& Rset,int RecNum,int ConAttrNum/*added by lie*///,char**,char**);
  
}
//#define Max3 2000
#endif

⌨️ 快捷键说明

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