globe2.h

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

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

///////////////////////////////////////////////////////////////////////////////////////////////////
namespace globe2
{
	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);

	bool ToleRwL(float** pIS,char ***ISTable,Set& ConAttrSet,int x,int y);//比较m,n实例是否属于限制容差关系,true,属于; false,不属于
	void ToleClasswL(Set& TClasswL,float** pIS,char ***ISTable,int RecNum , Set& ConAttrSet,int m);//得到m实例的限制容差类, RecNum:实例数目

	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);//找到条件属性的核属性
	//加入了Core_num,记录区分因子中属性个数
//    void FindCoreConAttr(Set& Core_ConAttr,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**);//导出规则集
}
//#define Max2 4500
#endif

⌨️ 快捷键说明

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