hitskeeper.h

来自「粗糙集应用软件」· C头文件 代码 · 共 45 行

H
45
字号
// HitsKeeper.h: interface for the HitsKeeper class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_HITSKEEPER_H__6F1C52E1_4961_11D2_AF9F_000000000000__INCLUDED_)
#define AFX_HITSKEEPER_H__6F1C52E1_4961_11D2_AF9F_000000000000__INCLUDED_

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

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

#include "../ea/Keeper.h"
#include "Context.h"

class HitsCriteria : public Criteria
{
	float limit;
	public:
	HitsCriteria(float threshold) : limit(threshold) {}
  int keep(Individual * ind, double /*fitness*/)
  {
    return ind->cover >= (double)limit;
  }
};

class HitsKeeper : public Keeper
{
	Vector(Keeper *) keepers;
	Context &context;
public:
	int keptList(Vector(Vector(Individual *)) &out);
	int kept(Vector(Individual *) &out);
	int keep(Individual *i, double fitness);
	int size();
	HitsKeeper(Context &c);
	virtual ~HitsKeeper();
	double low();
  bool contains(Individual *i, double fitness);
  
};

#endif // !defined(AFX_HITSKEEPER_H__6F1C52E1_4961_11D2_AF9F_000000000000__INCLUDED_)

⌨️ 快捷键说明

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