亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rsesdynamicreducer.cpp

?? 粗慥集成算法集合 ,并有詳細的文檔資料和測試數(shù)據(jù)處
?? CPP
字號:
//-------------------------------------------------------------------
// Author........: Aleksander 豩rn
// Date..........: 960307
// Description...:
// Revisions.....:
//===================================================================

#include <stdafx.h> // Precompiled headers.
#include <copyright.h>

#include <kernel/rses/algorithms/rsesdynamicreducer.h>
#include <kernel/rses/algorithms/rsesexhaustivereducer.h>
#include <kernel/rses/algorithms/rsesjohnsonreducer.h>
#include <kernel/rses/algorithms/rsesgeneticreducer.h>

#include <kernel/rses/structures/rsesdecisiontable.h>
#include <kernel/rses/structures/rsesreducts.h>

#include <kernel/rses/library/trr_calc.h>
#include <kernel/rses/library/tdtable.h>
#include <kernel/rses/library/trr_mem.h>
#include <kernel/rses/library/err.h>

#include <kernel/algorithms/keyword.h>

#include <kernel/utilities/creator.h>

#include <common/objectmanager.h>

//-------------------------------------------------------------------
// RNG used by RSES for dynamic reduct sampling.
//===================================================================

extern int RANDOM(int);

//-------------------------------------------------------------------
// Methods for class RSESDynamicReducer.
//===================================================================

//-------------------------------------------------------------------
// Constructors/destructor.
//===================================================================

//-------------------------------------------------------------------
// Method........: Constructor
// Author........: Aleksander 豩rn
// Date..........:
// Description...:
// Comments......: Sets default parameters.
// Revisions.....:
//===================================================================

RSESDynamicReducer::RSESDynamicReducer() {
	reducer_          = NULL;
	seed_             = 54321;
	no_levels_        = 5;
	no_samples_       = 10;
	lower_percentage_ = 50;
	upper_percentage_ = 90;
	include_whole_    = false;
}

//-------------------------------------------------------------------
// Method........: Destructor
// Author........: Aleksander 豩rn
// Date..........:
// Description...:
// Comments......:
// Revisions.....:
//===================================================================

RSESDynamicReducer::~RSESDynamicReducer() {
}

//-------------------------------------------------------------------
// Methods inherited from Identifier.
//===================================================================

IMPLEMENTIDMETHODS(RSESDynamicReducer, RSESDYNAMICREDUCER, RSESReducer)

//-------------------------------------------------------------------
// Methods inherited from Algorithm.
//===================================================================

//-------------------------------------------------------------------
// Method........: GetParameters
// Author........: Aleksander 豩rn
// Date..........:
// Description...:
// Comments......:
// Revisions.....:
//===================================================================

String
RSESDynamicReducer::GetParameters() const {

	String parameters;

	// Seed.
	parameters += Keyword::Seed();
	parameters += Keyword::Assignment();
	parameters += String::Format(GetSeed());

	parameters += Keyword::Separator();

	// Levels.
	parameters += Keyword::Levels();
	parameters += Keyword::Assignment();
	parameters += String::Format(GetNoLevels());

	parameters += Keyword::Separator();

	// Samples.
	parameters += Keyword::Samples();
	parameters += Keyword::Assignment();
	parameters += String::Format(GetNoSamples());

	parameters += Keyword::Separator();

	// Lower percentage.
	parameters += Keyword::Percentage() + Keyword::Dot() + Keyword::Lower();
	parameters += Keyword::Assignment();
	parameters += String::Format(GetLowerPercentage());

	parameters += Keyword::Separator();

	// Upper percentage.
	parameters += Keyword::Percentage() + Keyword::Dot() + Keyword::Upper();
	parameters += Keyword::Assignment();
	parameters += String::Format(GetUpperPercentage());

	parameters += Keyword::Separator();

	// IncludeWhole.
	parameters += Keyword::IncludeWhole();
	parameters += Keyword::Assignment();
	parameters += String::Format(IncludeWholeTable());

	parameters += Keyword::Separator();

	// Reducer.
	parameters += Keyword::Reducer();
	parameters += Keyword::Assignment();

	if (GetReducer() == NULL) {
		parameters += "NULL";
	}
	else {
		parameters += IdHolder::GetClassname(GetReducer()->GetId());
		parameters += Keyword::Separator();
		parameters += GetReducer()->GetParameters();
	}

	return parameters;

}

//-------------------------------------------------------------------
// Method........: SetParameter
// Author........: Aleksander 豩rn
// Date..........:
// Description...:
// Comments......:
// Revisions.....:
//===================================================================

bool
RSESDynamicReducer::SetParameter(const String &keyword, const String &value) {

	// Seed.
	if (keyword == Keyword::Seed() && value.IsInteger())
		return SetSeed(value.GetInteger());

	// Levels.
	if (keyword == Keyword::Levels() && value.IsInteger())
		return SetNoLevels(value.GetInteger());

	// Samples.
	if (keyword == Keyword::Samples() && value.IsInteger())
		return SetNoSamples(value.GetInteger());

	// Upper percentage.
	if ((keyword == Keyword::Percentage() + Keyword::Dot() + Keyword::Upper()) && value.IsInteger())
		return SetUpperPercentage(value.GetInteger());

	// Upper percentage (backwards compatibility).
	if (keyword == Keyword::UPercentage() && value.IsInteger())
		return SetUpperPercentage(value.GetInteger());

	// Lower percentage.
	if ((keyword == Keyword::Percentage() + Keyword::Dot() + Keyword::Lower()) && value.IsInteger())
		return SetLowerPercentage(value.GetInteger());

	// Lower percentage (backwards compatibility).
	if (keyword == Keyword::LPercentage() && value.IsInteger())
		return SetLowerPercentage(value.GetInteger());

	// IncludeWhole.
	if (keyword == Keyword::IncludeWhole() && value.IsBoolean())
		return IncludeWholeTable(value.GetBoolean());

	// Reducer.
	if (keyword == Keyword::Reducer()) {
		Handle<Algorithm> algorithm = ObjectManager::GetIdentifiedAlgorithm(IdHolder::GetId(value));
		if (algorithm != NULL && !algorithm->IsA(RSESSTATICREDUCER)) {
			Message::Error("Specified reducer is not a non-dynamic RSESReducer.");
			return false;
		}
		return SetReducer(dynamic_cast(RSESStaticReducer *, algorithm.GetPointer()));
	}

	// Pass on to reducer?
	if (GetReducer() != NULL) {
		if (GetReducer()->SetParameter(keyword, value))
			return true;
	}

	return RSESReducer::SetParameter(keyword, value);

}

//-------------------------------------------------------------------
// Method........: Apply
// Author........: Aleksander 豩rn
// Date..........:
// Description...:
// Comments......:
// Revisions.....:
//===================================================================

Structure *
RSESDynamicReducer::Apply(Structure &structure) const {

	// Is the input structure of right type?
	if (!IsApplicable(structure))
		return NULL;

	// Is a proper RSES reducer set?
	if (GetReducer() == NULL) {
		Message::Error("No reducer has been set.");
		return NULL;
	}

	// Work-around bug in RSES library.
	if (GetUpperPercentage() <= GetLowerPercentage()) {
		Message::Error("The upper sampling percentage must be strictly higher than the lower sampling percentage.");
		return NULL;
	}

	// Hack setting seed for RNG used by RSES library.
	try {
	  RANDOM(1);
	}
	catch (Error &error) {
		Message::RSESError("Error initializing the RSES library RNG.", error.GetMessage());
		return NULL;
	}

	// Reinitialize the internal RNG used by the RSES library.
	srand(GetSeed());

	// Set dynamic parameters in embedded RSES library.
	int no_levels         = GetNoLevels();
	int no_samples        = GetNoSamples();
	int no_obj_upper      = GetUpperPercentage();
	int no_obj_lower      = GetLowerPercentage();
	int include_whole_tab = (IncludeWholeTable()) ? 1 : 0;

	try {
		GetReducer()->algorithm_->SetCalcDynamicRedParam(no_levels, no_samples, no_obj_upper, no_obj_lower, include_whole_tab);
	}
	catch (Error &error) {
		Message::RSESError("Error setting RSES dynamic parameters.", error.GetMessage());
		return NULL;
	}

	// Ugly hack: Set dynamic flag in set RSESReducer.
	GetReducer()->IsDynamicComponent(true);

	// Compute reducts.
	Handle<Structure> result = structure.Apply(*GetReducer());

	// Ugly hack: Reset dynamic flag in set RSESReducer.
	GetReducer()->IsDynamicComponent(false);

	return result.Release();

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品国产a级| 欧美午夜寂寞影院| 色综合天天性综合| 欧美日韩成人在线| wwww国产精品欧美| 中文字幕字幕中文在线中不卡视频| 亚洲国产你懂的| 狠狠色狠狠色合久久伊人| 成人晚上爱看视频| 欧美性淫爽ww久久久久无| 欧美电影免费观看高清完整版在| 国产精品色在线观看| 亚洲国产精品麻豆| 国产成人一区在线| 欧美精品丝袜中出| 国产欧美日韩三区| 午夜精品福利一区二区蜜股av | 欧美少妇一区二区| 久久影音资源网| 一二三四区精品视频| 韩国欧美一区二区| 欧美三区免费完整视频在线观看| 亚洲精品一区二区三区香蕉| 亚洲乱码中文字幕| 国产伦理精品不卡| 欧美日韩精品一区二区天天拍小说| 国产亚洲精品久| 偷窥少妇高潮呻吟av久久免费| 丁香六月久久综合狠狠色| 在线91免费看| 亚洲精品少妇30p| 国产在线观看免费一区| 欧美自拍丝袜亚洲| 国产精品日韩成人| 激情国产一区二区| 欧美日韩精品一区视频| 亚洲色图一区二区| 国产美女精品一区二区三区| 3atv一区二区三区| 亚洲一区在线视频观看| 波多野洁衣一区| 国产亚洲1区2区3区| 日本在线播放一区二区三区| 91美女片黄在线| 国产精品视频观看| 国产一区二区三区视频在线播放| 欧美日韩国产bt| 亚洲精品第一国产综合野| 成人性生交大合| 久久亚洲欧美国产精品乐播| 麻豆精品一区二区av白丝在线| 欧美日韩免费电影| 亚洲精品成人天堂一二三| hitomi一区二区三区精品| 国产农村妇女精品| 国产电影精品久久禁18| 久久久久久免费网| 久久激情五月婷婷| 日韩视频在线永久播放| 天堂久久一区二区三区| 欧美视频中文一区二区三区在线观看| 亚洲人成小说网站色在线| www.欧美色图| 亚洲欧美在线视频| 国产精品拍天天在线| 国产精品69毛片高清亚洲| 久久综合九色综合久久久精品综合| 日本欧美在线观看| 777午夜精品免费视频| 视频一区二区不卡| 91精品国产综合久久香蕉的特点| 丝袜美腿成人在线| 91精品免费观看| 麻豆精品视频在线观看免费 | 美女视频黄 久久| 欧美一级片在线| 久久精品国产成人一区二区三区 | 国产一区二区在线观看视频| 久久噜噜亚洲综合| 国产成人精品免费在线| 中文字幕av在线一区二区三区| 国产 欧美在线| 中文字幕五月欧美| 欧美亚洲综合一区| 水野朝阳av一区二区三区| 91精品国产综合久久精品图片 | 制服丝袜激情欧洲亚洲| 日韩av电影天堂| 欧美电影免费提供在线观看| 精品一区二区三区免费毛片爱| 精品国精品自拍自在线| 国产乱淫av一区二区三区 | 99久久国产综合精品色伊| 自拍偷在线精品自拍偷无码专区| 色88888久久久久久影院野外 | 日韩欧美成人午夜| 国产在线精品免费| 中文字幕不卡在线播放| 一本久久精品一区二区| 婷婷综合在线观看| 久久综合av免费| 99精品视频在线免费观看| 亚洲国产一区二区a毛片| 日韩欧美电影一区| 成人手机在线视频| 亚洲一区在线看| 日韩一级片网址| 成人av中文字幕| 亚洲国产成人porn| 久久伊人中文字幕| 91女神在线视频| 日本三级亚洲精品| 国产精品美女久久福利网站| 欧美性猛片aaaaaaa做受| 精品一区二区三区在线观看国产 | 99久久久国产精品免费蜜臀| 亚洲电影视频在线| 久久久噜噜噜久久人人看| 色综合久久综合网欧美综合网| 男女男精品网站| 亚洲欧洲日产国产综合网| 欧美精品日韩精品| 成人性生交大片免费看在线播放 | 7777精品伊人久久久大香线蕉经典版下载 | gogogo免费视频观看亚洲一| 午夜精品免费在线观看| 国产亚洲成年网址在线观看| 欧亚洲嫩模精品一区三区| 国产一区二区三区香蕉| 亚洲福利视频导航| 国产精品素人视频| 911国产精品| 99久久国产综合色|国产精品| 日本成人在线网站| 亚洲免费观看高清完整版在线观看熊 | 国产精品不卡一区| 日韩视频一区二区在线观看| 91性感美女视频| 久久国产精品72免费观看| 亚洲一级不卡视频| 国产精品美女一区二区| 日韩精品一区二区三区视频| 在线一区二区三区四区五区| 国产a精品视频| 久久精品国产亚洲高清剧情介绍| 亚洲自拍偷拍网站| 国产精品拍天天在线| 精品国产一区二区三区不卡| 欧美日韩在线三区| 懂色av中文一区二区三区| 六月丁香婷婷色狠狠久久| 亚洲国产成人av网| 亚洲精品国产无天堂网2021| 欧美激情综合五月色丁香小说| 欧美成人aa大片| 3atv一区二区三区| 欧美图区在线视频| 一本色道久久综合狠狠躁的推荐| 国产精品亚洲一区二区三区在线| 欧美aaaaa成人免费观看视频| 亚洲亚洲人成综合网络| 国产精品成人午夜| 国产精品乱人伦| 国产亚洲一区二区三区四区| 亚洲精品在线一区二区| 欧美大胆一级视频| 91精品麻豆日日躁夜夜躁| 欧美日韩久久久| 欧美三级欧美一级| 欧美色国产精品| 欧美色爱综合网| 欧美自拍丝袜亚洲| 欧美亚洲综合一区| 在线看一区二区| 在线亚洲一区二区| 色天使色偷偷av一区二区| 93久久精品日日躁夜夜躁欧美| 丁香天五香天堂综合| 丁香婷婷综合五月| 国产91精品露脸国语对白| 国产激情精品久久久第一区二区| 国产专区综合网| 国产成人综合在线| 国产成人丝袜美腿| 懂色中文一区二区在线播放| 成人激情小说网站| 成人黄色软件下载| 色综合天天综合狠狠| 色狠狠桃花综合| 欧美性感一区二区三区| 欧美精品自拍偷拍| 欧美一区二区不卡视频| 日韩欧美一级在线播放| 日韩美女视频一区二区在线观看| 日韩欧美黄色影院| 久久精品视频在线免费观看 | fc2成人免费人成在线观看播放| aaa国产一区| 在线观看av不卡| 91精品国产一区二区三区|