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

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

?? ksreduct.cpp

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

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

#include <kernel/structures/ksreduct.h>

//-------------------------------------------------------------------
// Methods for class KSReduct.
//===================================================================

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

//-------------------------------------------------------------------
// Method........: Copy constructor.
// Author........:
// Date..........:
// Description...:
// Comments......:
// Revisions.....:
//===================================================================

KSReduct::KSReduct(const KSReduct &in) : Reduct(in) {
	attributes_     = in.attributes_;
	discernibility_ = in.discernibility_;
	object_no_      = in.object_no_;
	support_        = in.support_;
	modulo_         = in.modulo_;
}

//-------------------------------------------------------------------
// Method........: Constructor.
// Author........:
// Date..........:
// Description...:
// Comments......:
// Revisions.....:
//===================================================================

KSReduct::KSReduct() {
	discernibility_ = Reduct::DISCERNIBILITY_FULL;
	object_no_      = Undefined::Integer();
	support_        = 0;
	modulo_         = false;
}

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

KSReduct::~KSReduct() {
}

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

IMPLEMENTIDMETHODS(KSReduct, KSREDUCT, Reduct)

//-------------------------------------------------------------------
// Methods inherited from Structure.
//===================================================================

Structure *
KSReduct::Duplicate() const {
	return new KSReduct(*this);
}

//-------------------------------------------------------------------
// Methods inherited from Reduct.
//===================================================================

//-------------------------------------------------------------------
// Method........: GetNoAttributes
// Author........:
// Date..........:
// Description...: Returns the number of attributes (indices) defining
//                 the reduct.
//
//                 Example:  R = {3, 6, 7, 9}
//                           R has four attributes.
//
// Comments......:
// Revisions.....:
//===================================================================

int
KSReduct::GetNoAttributes() const {
	return attributes_.size();
}

//-------------------------------------------------------------------
// Method........: GetAttribute
// Author........:
// Date..........:
// Description...: Returns the attribute number in the given position.
//
//                 Example:  R = {3, 6, 7, 9}
//                           R.GetAttribute(0) will return 3.
//                           R.GetAttribute(1) will return 6.
//                           R.GetAttribute(2) will return 7.
//                           R.GetAttribute(3) will return 9.
//                           R.GetAttribute(4) will return Undefined::Integer()
//
// Comments......:
// Revisions.....:
//===================================================================

int
KSReduct::GetAttribute(int position_no) const {

#ifdef _DEBUG
	// Is the index argument legal?
	if ((position_no < 0) || (position_no >= GetNoAttributes())) {
		Message::Error("Reduct position index out of range.");
		return Undefined::Integer();
	}
#endif

	return attributes_[position_no];

}

//-------------------------------------------------------------------
// Method........: InsertAttribute
// Author........:
// Date..........:
// Description...: A reduct is conceptually defined through a list of
//                 attribute numbers (indices).  Returns true if the
//                 specified attribute was actually appended to the
//                 reduct, false otherwise.  The list of attribute
//                 indices is hence kept unique.
//
//                 Example:  R = {3, 6, 7, 9}
//                           R.AppendAttribute(5) returns true.
//                           R = {3, 6, 7, 9, 5}
//                           R.AppendAttribute(7) returns false.
//                           R = {3, 5, 6, 7, 9}
//
// Comments......: Keep the reduct sorted?
// Revisions.....:
//===================================================================

bool
KSReduct::InsertAttribute(int attribute_no) {

	// Is the attribute already a member?  If so, do not violate uniqueness.
	if (IsMember(attribute_no))
		return false;

	attributes_.push_back(attribute_no);

	return true;

}

//-------------------------------------------------------------------
// Method........: RemoveAttribute
// Author........:
// Date..........:
// Description...: Given a position index into the list of attribute
//                 indices defining the reduct, returns true if the
//                 specified attribute was removed from the reduct,
//                 false otherwise.
//
//                 Example:  R = {3, 6, 7, 9}
//                           R.RemoveAttribute(4) returns false.
//                           R = {3, 6, 7, 9}
//                           R.RemoveAttribute(1) returns true.
//                           R = {3, 7, 9}
//
// Comments......:
// Revisions.....:
//===================================================================

bool
KSReduct::RemoveAttribute(int position_no) {

#ifdef _DEBUG
  // Legal index?
  if ((position_no < 0) || (position_no >= GetNoAttributes())) {
		Message::Error("Position index in reduct out of range.");
    return false;
	}
#endif

	attributes_.erase(attributes_.begin() + position_no);

	return true;

}

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

bool
KSReduct::Reserve(int no_attributes) {

	attributes_.reserve(no_attributes);

	return true;

}

//-------------------------------------------------------------------
// Method........: Reindex
// Author........: Aleksander 豩rn
// Date..........:
// Description...: Reindexes the attribute indexes according to some
//                 supplied vector of new indices.
//
//                 Example:
//
//                    R = {0, 3, 4}
//                    R.Reindex([3, 4, 6, 7, 9]);
//                    R = {3, 7, 9}
//
// Comments......:
// Revisions.....:
//===================================================================

bool
KSReduct::Reindex(const Vector(int) &/*indices*/) {
	Message::Debug("KSReduct::Reindex not implemented yet.");
	return false;
}

//-------------------------------------------------------------------
// Method........: GetDiscernibilityType
// Author........: Aleksander 豩rn
// Date..........:
// Description...: Returns the reduct discernibility type.
//
//                 DISCERNIBILITY_FULL:           Among all objects.
//                 DISCERNIBILITY_OBJECTRELATED:  Each object separately (relative
//                                                to each object).
// Comments......:
// Revisions.....:
//===================================================================

Reduct::Discernibility
KSReduct::GetDiscernibilityType() const {
	return discernibility_;
}

//-------------------------------------------------------------------
// Method........: SetDiscernibilityType
// Author........: Aleksander 豩rn
// Date..........:
// Description...: Cf. the GetDiscernibilityType method.
// Comments......:
// Revisions.....:
//===================================================================

bool
KSReduct::SetDiscernibilityType(Reduct::Discernibility discernibility) {
	discernibility_ = discernibility;
	return true;
}

//-------------------------------------------------------------------
// Method........: GetObject
// Author........: Aleksander 豩rn
// Date..........:
// Description...: If the reduct is relative to an object, returns
//                 the object the reduct is relative to.
// Comments......:
// Revisions.....:
//===================================================================

int
KSReduct::GetObject() const {

	// Is the reduct really object-related?
	if (GetDiscernibilityType() == DISCERNIBILITY_FULL)
		return Undefined::Integer();

	return object_no_;

}

//-------------------------------------------------------------------
// Method........: SetObject
// Author........: Aleksander 豩rn
// Date..........:
// Description...:
// Comments......: Cf. GetObject method.
// Revisions.....:
//===================================================================

bool
KSReduct::SetObject(int object_no) {
	object_no_ = object_no;
	return true;
}

//-------------------------------------------------------------------
// Method........: GetSupport
// Author........: Aleksander 豩rn
// Date..........:
// Description...: Returns the "support" of the reduct.
// Comments......:
// Revisions.....:
//===================================================================

int
KSReduct::GetSupport() const {
	return support_;
}

//-------------------------------------------------------------------
// Method........: SetSupport
// Author........: Aleksander 豩rn
// Date..........:
// Description...: Cf. the GetSupport method.
// Comments......:
// Revisions.....:
//===================================================================

bool
KSReduct::SetSupport(int support) {
	support_ = support;
	return true;
}

//-------------------------------------------------------------------
// Method........: IsModuloDecision
// Author........: Aleksander 豩rn
// Date..........:
// Description...: Is the reduct computed modulo the decision?
// Comments......:
// Revisions.....:
//===================================================================

bool
KSReduct::IsModuloDecision() const {
	return modulo_;
}

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

bool
KSReduct::IsModuloDecision(bool modulo) {
	modulo_ = modulo;
	return true;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久亚洲伦| 美日韩一区二区| 性久久久久久久久| 九九视频精品免费| 91免费看视频| 久久精品人人做| 日韩国产精品久久久| 99国产精品一区| 精品剧情在线观看| 日韩成人一级片| 在线亚洲精品福利网址导航| 久久久久久久久久电影| 日韩精品乱码免费| 色婷婷综合久久久久中文一区二区| 久久精品免视看| 六月丁香综合在线视频| 在线播放中文字幕一区| 亚洲成av人片在线观看| 色噜噜夜夜夜综合网| 久久久不卡网国产精品二区| 另类综合日韩欧美亚洲| 欧美一级一区二区| 日产欧产美韩系列久久99| 欧美日韩一区久久| 亚洲精品欧美激情| 99久久精品免费精品国产| 中文字幕在线视频一区| www.日本不卡| 最新国产成人在线观看| 91麻豆国产福利精品| 亚洲欧美日韩国产综合| 91年精品国产| 亚洲第一电影网| 欧美日韩大陆在线| 日韩成人av影视| 日韩免费福利电影在线观看| 看片的网站亚洲| 久久久欧美精品sm网站| 国产成人精品一区二| 国产女人aaa级久久久级| 成人精品一区二区三区四区| 亚洲同性gay激情无套| 91久久久免费一区二区| 亚洲成人黄色影院| 在线电影一区二区三区| 麻豆精品在线观看| 国产欧美精品一区| 91天堂素人约啪| 亚洲国产精品人人做人人爽| 欧美浪妇xxxx高跟鞋交| 激情欧美日韩一区二区| 国产午夜精品久久久久久免费视| 不卡的av电影在线观看| 亚洲精品国久久99热| 欧美一二区视频| 成人免费黄色大片| 亚洲综合色区另类av| 91精品国产乱码久久蜜臀| 精品一区二区三区免费毛片爱| 中文字幕精品一区二区精品绿巨人| 色综合久久久久综合99| 日本美女一区二区三区视频| 久久综合五月天婷婷伊人| av电影天堂一区二区在线观看| 亚欧色一区w666天堂| 久久精品在线观看| 欧美网站一区二区| 国产乱一区二区| 亚洲国产欧美一区二区三区丁香婷| 欧美大片在线观看一区二区| 成人高清av在线| 美女一区二区久久| 亚洲激情中文1区| 久久综合久久久久88| 欧美亚洲国产怡红院影院| 久久国产精品第一页| 依依成人综合视频| 久久久噜噜噜久久中文字幕色伊伊 | av不卡在线播放| 丝袜亚洲另类丝袜在线| 国产精品久久久久久久久果冻传媒| 欧美人与禽zozo性伦| 91网上在线视频| 国产大陆a不卡| 青青草精品视频| 亚洲444eee在线观看| 国产精品久久久久久久岛一牛影视| 777午夜精品视频在线播放| 波多野洁衣一区| 韩国v欧美v日本v亚洲v| 性做久久久久久| 亚洲一区二区视频在线| 亚洲国产精品ⅴa在线观看| 欧美一级理论性理论a| 欧美性大战久久久| 91视频一区二区三区| 成人毛片视频在线观看| 国产成人午夜高潮毛片| 经典三级一区二区| 久久精品99久久久| 日韩成人免费看| 三级成人在线视频| 亚洲国产另类精品专区| 一区二区三区国产精华| 亚洲视频在线一区| 国产精品福利一区| 成人欧美一区二区三区小说| 国产精品视频一区二区三区不卡| 久久精品一区蜜桃臀影院| 久久久久久久久97黄色工厂| 日韩精品一区二区三区视频在线观看| 88在线观看91蜜桃国自产| 欧美一区二区三区成人| 91精品国产综合久久福利| 日韩一区国产二区欧美三区| 欧美一区二区精美| 日韩免费成人网| 国产亚洲一区字幕| 国产午夜一区二区三区| 国产精品入口麻豆九色| 日韩一区欧美一区| 一区二区三区国产精品| 午夜久久久影院| 精品一区二区三区不卡| 国产福利一区二区三区视频| 丁香婷婷综合五月| 91美女精品福利| 欧美日本乱大交xxxxx| 日韩一区二区三区免费看| 欧美精品一区男女天堂| 中国av一区二区三区| 亚洲一区视频在线观看视频| 亚洲第一综合色| 精品一区二区日韩| 99久久婷婷国产精品综合| 在线一区二区观看| 日韩精品影音先锋| 中文一区在线播放| 亚洲国产一二三| 国产一区999| 欧美在线免费观看亚洲| 日韩一级黄色片| 国产精品久久毛片av大全日韩| 亚洲一区在线视频观看| 免费看欧美美女黄的网站| 成人精品小蝌蚪| 欧美一区二区在线播放| 中文无字幕一区二区三区 | 91极品视觉盛宴| 日韩欧美卡一卡二| 国产精品国产三级国产专播品爱网 | 国产精品乱码人人做人人爱| 亚洲精品视频在线观看免费| 免费观看日韩电影| 成人福利电影精品一区二区在线观看| 欧美日韩中文字幕一区二区| 精品国产一二三区| 亚洲精品国久久99热| 国产一区高清在线| 欧美日韩在线一区二区| 日本一区二区视频在线| 日本午夜精品一区二区三区电影 | 91福利小视频| 久久青草欧美一区二区三区| 一区二区三区精品久久久| 国产激情视频一区二区在线观看| 欧美午夜电影在线播放| 日本一区二区综合亚洲| 激情综合色综合久久| 欧美日韩一级片在线观看| 中文字幕在线视频一区| 国产精品一区二区你懂的| 欧美精品色一区二区三区| 综合久久综合久久| 国产黄色精品视频| 欧美一级黄色大片| 天天综合色天天综合色h| 99久久国产免费看| 国产日韩av一区二区| 久久精品国产亚洲aⅴ| 在线播放91灌醉迷j高跟美女 | 国产精品理论片| 国产精品一区二区果冻传媒| 3atv一区二区三区| 亚洲18色成人| 欧美午夜电影网| 亚洲自拍与偷拍| 日本道在线观看一区二区| 亚洲图片欧美激情| www.成人在线| 中文字幕一区二区不卡| 国产风韵犹存在线视精品| 久久夜色精品一区| 国产精品亚洲专一区二区三区| 日韩欧美一区二区不卡| 精品一区二区av| 久久亚洲精精品中文字幕早川悠里| 久久国产生活片100| 精品美女一区二区三区| 韩国v欧美v日本v亚洲v|