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

📄 reducer.h

📁 The ROSETTA C++ library is a collection of C++ classes and routines that enable discernibility-based
💻 H
字号:
//-------------------------------------------------------------------// Author........: Aleksander 豩rn// Date..........: 960307// Description...:// Revisions.....://===================================================================#ifndef __REDUCER_H__#define __REDUCER_H__#include <copyright.h>#include <kernel/algorithms/algorithm.h>#include <kernel/algorithms/objectselector.h>#include <kernel/structures/discernibilityfunction.h>#include <kernel/structures/booleansopfunction.h>#include <kernel/structures/reduct.h>#include <kernel/structures/reducts.h>#include <kernel/structures/generalizeddecision.h>//-------------------------------------------------------------------// Class.........: Reducer// Author........: Aleksander 豩rn// Date..........: 960307// Description...:// Revisions.....://===================================================================class Reducer : public Algorithm {protected:	//- Algorithm parameters...........................................	Reduct::Discernibility   discernibility_;      // Type of reducts to calculate (full or object related).	bool                     modulo_decision_;     // Compute reducts modulo decision attribute?	ObjectSelector           selector_;            // Handles object selection.	bool                     idg_;                 // Use indiscernibility definition graph (IDG)?	String                   filename_idg_;        // IDG location, if relevant.	bool                     precompute_;          // Precompute all disc. matrix entries?	bool                     brt_;                 // Use boundary region thinning (BRT)?	float                    precision_brt_;       // BRT precision, if relevant;protected:	//- Helper methods.................................................	virtual bool             CreateFunction(DiscernibilityFunction &function, const DiscernibilityMatrix &matrix, const DecisionTable &table, bool masked, const Discerner &discerner) const;	virtual bool             CreateFunction(DiscernibilityFunction &function, const DiscernibilityMatrix &matrix, int object_no, const DecisionTable &table, bool masked, const Discerner &discerner, const GeneralizedDecision::Handles *decisions) const;	virtual bool             AppendReduct(Reducts &reducts) const;	virtual bool             AppendReducts(const BooleanSOPFunction &primeimplicants, const Vector(int) &supports, Reducts &reducts) const;	virtual bool             AppendReducts(const BooleanSOPFunction &primeimplicants, const DecisionTable &table, int object_no, bool masked, const Vector(int) &supports, Reducts &reducts) const;public:  //- Constructors/destructor........................................  Reducer();  virtual ~Reducer();  //- Methods inherited from Identifier..............................	DECLAREIDMETHODS()	//- Methods inherited from Algorithm...............................	virtual String           GetParameters() const;	virtual bool             SetParameter(const String &keyword, const String &value);	virtual bool             IsApplicable(const Structure &structure, bool warn = true) const;	virtual Structure       *Apply(Structure &structure) const = 0;	//- New virtual methods............................................	virtual bool             ComputePrimeImplicants(const DiscernibilityFunction &function, BooleanSOPFunction &primeimplicants, Vector(int) &supports) const;	//- Parameter methods..............................................	Reduct::Discernibility   GetDiscernibility() const {return discernibility_;}	bool                     SetDiscernibility(Reduct::Discernibility discernibility) {discernibility_ = discernibility; return true;}	bool                     ModuloDecision() const {return modulo_decision_;}	bool                     ModuloDecision(bool modulo_decision) {modulo_decision_ = modulo_decision; return true;}	ObjectSelector          &GetObjectSelector() {return selector_;}	const ObjectSelector    &GetObjectSelector() const {return selector_;}	bool                     SetObjectSelector(ObjectSelector &selector) {selector_ = selector; return true;}	virtual bool             UseIDG() const;	virtual bool             UseIDG(bool idg);	virtual const String    &GetIDGFilename() const;	virtual bool             SetIDGFilename(const String &filename);	virtual bool             PrecomputeMatrix() const;	virtual bool             PrecomputeMatrix(bool precompute);	virtual bool             UseBRT() const;	virtual bool             UseBRT(bool brt);	virtual float            GetBRTPrecision() const;	virtual bool             SetBRTPrecision(float precision);	//- Parameter methods, for internal use only.......................	virtual bool             IsDynamicComponent() const;	virtual bool             IsDynamicComponent(bool is_dynamic);};#endif

⌨️ 快捷键说明

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