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

📄 rsesdecisiontable.h

📁 粗糙集应用软件
💻 H
字号:
//-------------------------------------------------------------------
// Author........: Aleksander 豩rn
// Date..........: 960307
// Description...:
// Revisions.....:
//===================================================================

#ifndef __RSESDECISIONTABLE_H__
#define __RSESDECISIONTABLE_H__

#include <copyright.h>

#include <kernel/structures/decisiontable.h>

#include <kernel/rses/library/tdtable.h>

//-------------------------------------------------------------------
// Class.........: RSESDecisionTable
// Author........: Aleksander 豩rn
// Date..........: 960307
// Description...: Encapsulation class for decision tables from the
//                 RSES library.
// Revisions.....:
//===================================================================

class RSESDecisionTable : public DecisionTable {
private:

	//- Friend declarations............................................
  friend class RSESStaticReducer;
	friend class RSESOrthogonalScaler;
	friend class RSESOrthogonalFileScaler;
	friend class RSESRuleGenerator;
	friend class RSESReductShortener;
	friend class RSESClassifier;
	friend class RSESDecisionTableImporter;
	friend class RSESReducts;

private:

	//- Private member variables.......................................
  TDTable                      *decisiontable_; // From the RSES library.

private:

	//- Private methods................................................
	void                          InstantiateRSESTable();

protected:

  //- Constructors...................................................
  RSESDecisionTable(const RSESDecisionTable &in);

public:

#ifdef _DEBUG
	//- For debugging purposes only....................................
	void                          DebugDimensions(const String &caller) const;
#endif

	//- For limiting the table size....................................
	bool                          HasExceededMaximumDimensions(bool warn) const;

public:

  //- Constructors/destructor........................................
  RSESDecisionTable();
  virtual ~RSESDecisionTable();

  //- Methods inherited from Identifier..............................
	DECLAREIDMETHODS()

  //- Methods inherited from Structure..............................
  virtual Structure            *Duplicate() const;
  virtual void                  Clear();

  //- Methods inherited from DecisionTable..........................
  virtual int                   GetNoObjects(bool masked) const;
  virtual int                   GetNoAttributes(bool masked) const;

	virtual bool                  Resize(int no_objects, int no_attributes, bool masked);

  virtual int                   GetEntry(int object_no, int attribute_no, bool masked) const;
  virtual bool                  SetEntry(int object_no, int attribute_no, int value, bool masked);

  virtual bool                  InsertObject(int object_no, bool masked);
  virtual bool                  AppendObject(bool masked);
  virtual bool                  RemoveObject(int object_no, bool masked);

  virtual bool                  InsertAttribute(int attribute_no, const Attribute *attribute, bool masked);
  virtual bool                  RemoveAttribute(int attribute_no, bool masked);

  virtual bool                  SwapAttributes(int i, int j, bool masked);

	virtual DecisionTable::Status GetStatus(int attribute_no, bool masked) const;
	virtual bool                  SetStatus(int attribute_no, DecisionTable::Status status, bool masked);

	virtual DecisionTable::Mask   GetAttributeMask(int attribute_no) const;
	virtual bool                  SetAttributeMask(int attribute_no, DecisionTable::Mask mask, bool safe = true);

	virtual DecisionTable::Mask   GetObjectMask(int object_no) const;
	virtual bool                  SetObjectMask(int object_no, DecisionTable::Mask mask, bool safe = true);

	virtual int                   GetUnmaskedAttribute(int masked_attribute_no) const;

};

#endif

⌨️ 快捷键说明

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