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

📄 indval.h

📁 某个实验事编写粗糙集智能信息处理的程序
💻 H
字号:
 #include "stdio.h"
#include "../shareclass.h"

//归纳属性约简类
class IndValRed 
{
public:
	////读入约简的属性集合
	int *atb;//指针数组
	int atbcount;//约简掉的属性数

    char* pFileName;                //待处理的文件名
	int **pIntTable;                //原始表,为int类型,中间对象,转化为info表,最后处理用到
	int **pInfo;                    //原始表,已转化为int,处理中主要对象,约简对象
 	char *cStyle;                   //数据集基本类型
    int iStage;                     //处理的进度标志
	int iConNum;                    //条件属性数,总属性数为con_num+1
	int iRecNum;                    //记录数,约简对象
	int ipriRecNum;					//记录数,原始结果
	char **pAttName;                //属性名称(安列分)
    char **pDataType;               //数据类型(安列分)
    struct WCutRecord *struWCutRecord;//断点链表
	int **pUindD;					//u|d
	int iClassUindDNum;				//u|d中决策类的个数
	int **pRules;					//规则集
	int iRulesNum;					//规则总条数
	int *pSameRec;					//每条规则能覆盖的记录数
	PosD* pNoValCon;				//被约掉的条件属性
	int max1;//


public:
    //methods discrible
	bool SetIntegerTable(FILE *fp,int column, int row);		//设置整形原始数据表
	bool SetCutResult(FILE* fp);		                	//将断点读入到WCutRecord链表中
	bool SetDataType(FILE* fp,int count);	            	//将数据类型读入datatype表中
	bool SetAttName(FILE* fp,int count);	             	//将属性名称读入attname表中
	bool GetInfo(char* FileName);                           //从文件中得到数据,得到int型表
	bool InitTable();                                       //初始化表
   	int DelOverlap();										//删除信息表中的重复项
	bool SaveFile(char* pFileName);							//保存约简到文件
	bool PosXD(int XNum,int* XSet,PosD* PosXD);             //安定义求Pos d(x),结果放在PosXD中,
	void UindX(int XNum,int* XSet,int& iClassNumX,int**&UindX);//求Unid(X);
	bool DemSet(int XNum,int DemNum,int& iDemSetNum,int XCoreNum,int*** pDemSet);     //求CoreCD的Xnum阶幂集,用递归算法
	void FreeContent();										//释放空间
	void CoreDx(int iRecNo,PosD* RuleCoreVal);				//求规则dx的核值属性类
	void CoreY(PosD* RuleClass,PosD* AdvCoreVal);			//求决策类的核值属性集
	void UindCoreVal(int iRecNo,PosD* &CoreValSet,PosD* &UindCoreValX);  //求[x]core(dx)
	void FindSameRec();										//求每条规则能覆盖的记录数
	bool MinRules();										//最小决策算法
	bool OrderCoreA(PosD* CoreA1,PosD* CoreA2,PosD* &CoreA); //由测度函数得有序集OA-->CoreA
	void SetNoValCon();										//求被约掉的条件属性



public:
	bool myindvalred();
    //constrution and destrution
	IndValRed();
	virtual ~IndValRed();
};

⌨️ 快捷键说明

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