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

📄 hits.h

📁 粗糙集应用软件
💻 H
字号:
// Hits.h: interface for the Hits class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_HITS_H__F2ED4F86_3DDE_11D2_AF91_000000000000__INCLUDED_)
#define AFX_HITS_H__F2ED4F86_3DDE_11D2_AF91_000000000000__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000

#include "../copyright.h" // Added 000323 by Aleksander 豩rn.

#include "../ea/CrossoverOperator.h"
#include "../ea/InversionOperator.h"
#include "../ea/MutateOperator.h"
#include "../ea/CloneOperator.h"
#include "../ea/BinaryOperation.h"
#include "../ea/UnaryOperation.h"
#include "../ea/EliteOperation.h"
#include "../ea/ParentsSelector.h"
#include "../ea/Reaper.h"
#include "../ea/Evaluator.h"
#include "../ea/Stats.h"
#include "../ea/RecombineReplaceSample.h"
#include "../ea/RecombineReplaceParents.h"
#include "../ea/RecombineAdd.h"
#include "../ea/Boltzscaler.h"



#include <kernel/basic/bits.h>
#include "Context.h"
#include "HitsEngine.h"
#include "HitsFitness.h"
#include "HistStop.h"
#include "HitsInit.h"

struct HittingSetInfo
{
	float cover;     // cover calculated by algorithm
	float acc_cover; // accumulated cover by absorbed sets
	float cost;      // cost of set
	HittingSetInfo(float c = 0.0f, float a = 0.0f, float o = 0.0f) : 
		cost(c), cover(a), acc_cover(o) {}
};

class Hits  
{
public:
	Parameters &params;
	const Vector(const Bits*) &sets;

	Context *context;
	HitsEngine *engine;
	HitsFitness *fitness;
	Keeper *keeper;
	HistStop *stop;
	AbstractInitializer *init;
	// AbstractEvaluator * eval;
	Evaluator * eval;
	
	CrossoverOperator * crsop;
	InversionOperator * invop;
	MutateOperator * mutop;
	CloneOperator * clnop;

	BinaryOperation * binop;
	UnaryOperation * unop1;
	UnaryOperation * unop2;
	UnaryOperation * unop3;
	EliteOperation * elite;

	AbstractOperation * recombinator;
	ParentsSelector * parents_selector;
	AbstractOperation * scaler;

	Reaper * reaper;
	AbstractSampler * sampler;
	Stats * stats;

	Vector(AbstractOperation *) ops;
        int stat_initialized; // 0 not (error) , 1 not init but ok (empty fun),2 ok

public:
	bool hard(Vector(Vector(Bits)) & solutions, Vector(Vector(HittingSetInfo)) &info, bool simp = true);
	bool hard(Vector(Bits) &solution, Vector(HittingSetInfo) &info, bool simp = true);
	Hits(const Vector(const Bits *) &bits, Parameters &parameters);
	virtual ~Hits();

};

#endif // !defined(AFX_HITS_H__F2ED4F86_3DDE_11D2_AF91_000000000000__INCLUDED_)

⌨️ 快捷键说明

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