一个复杂度为maxOCU省略2UC的快速属性约简算法徐章艳.docx
《一个复杂度为maxOCU省略2UC的快速属性约简算法徐章艳.docx》由会员分享,可在线阅读,更多相关《一个复杂度为maxOCU省略2UC的快速属性约简算法徐章艳.docx(29页珍藏版)》请在冰豆网上搜索。
一个复杂度为maxOCU省略2UC的快速属性约简算法徐章艳
一个复杂度为max(O(|C||U|),O(|C|2|U/C|))的
快速属性约简算法
徐章艳1),2) 刘作鹏1) 杨炳儒1) 宋 威1)
1)(北京科技大学信息工程学院 北京 100083)
2)(广西师范大学计算机系 桂林 541004)
引 言
粗糙集理论[1,2]是一种新的处理模糊和不确定
知识的数学工具.目前,它正被广泛地应用于机器学
习、决策分析、过程控制、模式识别和数据挖掘等领
域.基于正区域的属性约简是粗糙集理论中被研究
的较多的应用分支之一.基于正区域的属性约简通
常是不唯一的,人们希望能找到具有最少属性的约
简,即最佳约简,然而,找到一个最佳约简是一个
NP-hard问题,解决这一问题通常采用启发式搜索
方法,求出最佳或次最佳约简[3,4].
文献[4]给出了较好的启发函数,使得基于正区域
的属性约简算法的最差时间复杂度为O(|C|3|U|2).
文献[5]给出了一个最差时间复杂度为O(|C|2|U|2)
的属性约简算法.文献[6~8]通过快速排序的
方法又将属性约简算法的最差时间复杂度降为
O(|C|2|U|log|U|).基于差别矩阵的属性约简也是
属性约简的方法之一.但文献[9]指出基于正区域
的属性约简的核与基于差别矩阵的属性约简的核
是不等价的,这就说明基于正区域的属性约简与
基于差别矩阵的属性约简是不等价的.文献[10]
进一步指出基于正区域的属性约简与基于差别矩
阵的属性约简是不等价的,并构造出一个新的差
别矩阵,且证明了由该矩阵得到的属性约简与基
于正区域的属性约简是一致的,但是要得到新的
差别矩阵首先要计算U/C,故文献[10]给出的算
法的最差时间复杂度为max(O(|C||U|log|U|),
O(|C|2|U||POSC(D)|)).文献[11]虽然给出了一
个时间复杂度为O(|C|2|U|)的属性约简算法,但是
该算法的复杂度是不计求相容类的计算复杂度,而计
算一个相容类的算法时间复杂度为O(|C||U|),故
若加上计算相容类的计算复杂度,则该算法的复杂
度应为O(|C|3|U|2).
在基于正区域的属性约简中,无论是用文献[4~
8]的分析方法还是用文献[10]的差别矩阵方法,都
要计算U/C,故在基于正区域的属性约简算法中,
计算U/C是最重要的计算之一.由文献[12]知,目
前计算U/C的最好算法是基于快速排序思想设计
的算法,其时间复杂度是O(|C||U|log|U|).经研
究,我们以基数排序的思想设计了一个求U/C的算
法,其时间复杂度可被降为O(|C||U|).对文献
[6~8]的启发函数和属性的重要性计算进行充分分
析后,认为以近似质量作为启发信息并非十分理想.
我们以快速缩小搜索空间为目的设计了一个新的较
为合理的度量属性重要性的计算公式,并给出了该
公式的递归计算方法.计算该公式的算法的复杂度
被降低到O(|C-P||U′-U′P|)),然后以新的度量
属性重要性的计算公式作为启发信息设计了一个时
间复杂度为max(O(|C||U|,O(|C|2|U/C|))的快
速属性约简算法,并用一个实例说明了算法的有效
性.实验结果表明新算法不仅具有高效性而且能处
理大型决策表.
本文第2节介绍有关Rough集的基本概念;第
3节给出基于基数排序的快速计算U/C的算法及
其复杂度分析;第4节给出简化的决策表及其相关
定义,证明了决策表上的属性约简与简化的决策表
上的属性约简是等价的,这样就可以将决策表上的
属性约简转化到简化的决策表上进行,从而可以提
高属性约简算法的效率,同时,给出了一个以快速缩
小搜索空间为目的的度量属性重要性的定义;第5
节给出了新度量属性重要性的递归计算公式,并用
该公式作为启发信息设计了一个新的快速属性约简
算法及其时间复杂度分析;第6节给出一个实例对
新算法作了简要说明;第7节列出实验结果;最后一
节给出结论.
2 概 念
定义1. 五元组S=(U,C,D,V,f)是一个决
策表,其中U={u1,u2,…,un}表示对象的非空有限
集合,称为论域;C表示条件属性的非空有限集;D
表示决策属性的非空有限集且C∉D=;V=
∪a∈C∪DVa,Va是属性a的值域,f:
U×(C∪D)→V是
一个信息函数,它对一个对象的每一个属性赋予一
个信息值,即a∈C∪D,x∈U,有f(x,a)∈Va;每
一个属性子集P(C∪D)决定了一个二元不可区
分关系IND(P):
IND(P)={(x,y)∈U×U|a∈P,
f(x,a)=f(y,a)},
关系IND(P)构成了U的一个划分,用U/IND(P)
表示,简记为U/P,U/P中的任何元素[x]P={y|
a∈P,f(x,a)=f(y,a)}称为等价类.
定义2. 在决策表S=(U,C,D,V,f)中,任意
属性子集P,Q(C∪D),记U/P={P1,P2,…,
Pt},U/Q={Q1,Q2,…,QS},若Pi∈U/PQj∈
U/Q使得PiQj,则称U/P为U/Q的加细,记为
392计 算 机 学 报2006年
P≤U/Q.若U/P≤U/Q且U/P≥U/Q,则称
U/P=U/Q.
引理1.在决策表S=(U,C,D,V,f)中,Q
P(C∪D),则有U/P≤U/Q.
证明. 记U/P={P1,P2,…,Pt},U/Q={Q1,
Q2,…,Qs},任取Pi=[x]P∈U/P,由于QP,则
任意Pi=[x]P={y|a∈P,f(y,a)=f(x,a)}
Qj=[x]Q={y|a∈Q,f(y,a)=f(x,a)}.由Pi的
任意性知U/P≤U/Q.证毕.
定义3.在决策表S=(U,C,D,V,f)中,R
C∪D,XU,记U/R={R1,R2,…,Rl},则称
R-(X)=∪{Ri|Ri∈U/R,RiX}为X关于R的
下近似集,称R+(X)=∪{Ri|Ri∈U/R,Ri∉X≠
}为X关于R的上近似集.
定义4. 在决策表S=(U,C,D,V,f)中,设
U/D={D1,D2,…,Dk}表示决策属性集D对论域U
的划分,U/P={P1,P2,…,Pm}表示条件属性集P
(PC)对论域U的划分,称POSP(D)=∪Di∈U/DP-(Di)
为P关于D的正区域;记rP(D)=∑
k
i=1
|P-(Di)|/
|U|为条件属性集P关于决策属性集D的近似质量.
定义5.在决策表S=(U,C,D,V,f)中,对b∈
BC,若POSB(D)=POSB-{b}(D),则称b为B中
相对于D是可省的(不必要的);否则称b为B中相
对于D是不可省的(必要的).对BC,若B中任
一元素相对于D都是必要的,则称B相对于D是
独立的.
定义6.在决策表S=(U,C,D,V,f)中,若B
C,POSB(D)=POSC(D)且B相对于D是独立的,
则称B是C相对于D的属性约简(基于正区域的属
性约简定义).
定理1. 在决策表S=(U,C,D,V,f)中,
POSC(D)=∪X∈U/C且x,y∈Xf(x,D)=f(y,D)X.
证明. 由定义即得.
该定理说明,C关于D的正区域是在决策属性
上取值唯一的基本块的并集组成的;也就是说,任何
在决策属性上取值不唯一的基本块(称U/C中的任
一等价类为基本块)不在正区域中.由这一定理我们
可得到如下的定义.
定义7. 在决策表S=(U,C,D,V,f)中,记
U/C={[u′1]C,[u′2]C,…,[u′m]C},U′={u′1,u′2,…,
u′m},由定理1可设POSC(D)=[u′i1]C∪[u′i2]C∪…
∪[u′it]C,其中u′is∈U′且|[u′is]C/D|=1(s=1,
2,…,t);记U′pos={u′i1,u′i2,…,u′it},U′neg=U′-U′pos.
称S′=(U′,C,D,V,f)为简化的决策表.
3 U/C的快速计算方法及其
复杂度分析
不可区分关系在Rough集理论中是一个核心
概念,其它的基本概念都是在此基础上定义的,不可
区分关系计算的复杂度直接影响到其它基本算法的
复杂度.求不可区分关系IND(P),一般的方法是:
对对象集U中未分类的个体进行两两比较,比较它
们在P中的每个属性取值是否都相同,若相同则属
于同一个等价类;或者对对象U集中的每个个体根
据其P的取值判断是否属于现有的等价类.在最坏
情况下,以上两种方法都需要O(|U|2)次比较,因
此时间复杂度为O(|U|2|P|).这个复杂度并不理
想,文献[12]中指出计算IND(P)的最好时间复杂
度是O(|P||U|log|U|).文献[6]利用快速排序的
方法给出了一个计算IND(P)的时间复杂度为
O(|P||U|log|U|)的算法.我们对计算IND(P)的
方法进行深入研究后,利用基数排序的思想,给出一
个计算IND(P)的时间复杂度为O(|P||U|)的算法.
算法1. 计算IND(P)的所有等价类.
输入:
决策表S=(U,C,D,V,f),U={u1,u2,…,un},
PC且P={p1,p2,…,ps}
输出:
P对应的划分U/P
1.对每一个pi(i=1,2,…,s)统计f(uj,pi)(j=1,
2,…,n)的最大值和最小值,分别记为Mi和mi;
2.以静态链表依次存储对象u1,u2,…,un;令表头指
针指向u1;
3.for(i=1;i
3.1第i趟“分配”:
建立Mi-mi+1空对列,令frontk
和endk(k=0,1,2,…,Mi-mi)分别为第k个对列的头指针
和尾指针.将链表中的对象u∈U按链表中的次序分配到第
f(u,pi)-mi个对列中去;
3.2第i趟“收集”:
表头指针指向第一个非空对列的头
指针,修改每一个非空对列的尾指针,令其指向下一个非空
对列的对头对象,将Mi-mi+1个对列重新组成一个链表;
4.设由步3得到链表中的对象序列为u′1,u′2,…,u′n;
t=1;Bt={u′1};
for(j=2;j 若任一pi∈P(i=1,2,…,s)均有f(u′j,pi)=
f(u′j-1,pi),则Bt=Bt∪{u′j};
否则{t=t+1;Bt={u′j};}
5.U′pos=;U′neg=;
for(i=1;i3933期徐章艳等:
一个复杂度为max(O(|C||U|),O(|C|2|U/C|))的快速属性约简算法
若Bi中所有对象在决策属性上取值均相同,则取
出Bi中的第一个对象并入U′pos;
否则取出Bi中的第一个对象并入U′neg;
U′=U′pos∪U′neg.
算法的步1的时间复杂度为O(|P||U|),算法
的步2的时间复杂度为O(|U|),算法的步3.1的
时间复杂度为O(|U|+Mi-mi+1),算法的步3.2
的时间复杂度为O(Mi-mi+1),故步3总的时间
复杂度为O|P||U|+∑
s
i=1
(Mi-mi+1),步4
的时间复杂度为O(|P||U|),步5的时间复杂度为
O(|P||U|);从而算法1的时间复杂度为O|P||U|+
∑
s
i=1
(Mi-mi+1).大多数情况下,特别是对大型决
策表而言(属性p∈P的取值分布不是特别分散),
常有max1≤i≤s(Mi-mi+1)<|U|(例如UCI中的mush-
room,共有8000多个对象和22个属性,但每一个
属性的取值为单个字母,因此每一个属性的不同取
值最多为26种,而26是比8000小很多的),故
|P||U|+∑
s
i=1
(Mi-mi+1)≤|P||U|+|P||U|,
从而算法1的时间复杂度为O(|P||U|).
表1 决策表
abcdD
X111110
X222211
X311110
X423230
X522211
X631210
X712322
X823123
X931211
X1012322
X1131211
X1223123
X1343421
X1412323
X1543422
对表1所示的决策表中的15个对象U,用算法
1计算U/{a,b,c,d}过程如下(p1=a,p2=b,p3=
c,p4=d):
由算法1的步1计算出M1=4,m1=1;M2=3,
m2=1;M3=4,m3=1;M4=3,m4=1.由算法的步
2得到:
→X1→X2→X3→X4→X5→X6→X7→X8→
X9→X10→X11→X12→X13→X14→X15.
第1趟“分配”结果为
front[0]→X1→X3→X7→X10→X14←end[0],
front[1]→X2→X4→X5→X8→X12←end[1],
front[2]→X6→X9→X11←end[2],
front[3]→X13→X15←end[3].
第1趟“收集”结果为
→X1→X3→X7→X10→X14→X2→X4→X5→
X8→X12→X6→X9→X11→X13→X15.
第2趟“分配”结果为
front[0]→X1→X3→X6→X9→X11←end[0],
front[1]→X7→X10→X14→X2→X5←end[1],
ont[2]→X4→X8→X12→X13→X15←end[2].
第2趟“收集”结果为
→X1→X3→X6→X9→X11→X7→X10→X14→
X2→X5→X4→X8→X12→X13→X15.
第3趟“分配”结果为
front[0]→X1→X3→X8→X12←end[0],
front[1]→X6→X9→X11→X2→X5→X4←end[1],
front[2]→X7→X10→X14←end[2],
front[3]→X13→X15←end[3].
第3趟“收集”结果为
→X1→X3→X8→X12→X6→X9→X11→X2→X5→
X4→X7→X10→X14→X13→X15.
第4趟“分配”结果为
front[0]→X1→X3→X6→X9→X11→X2→X5←
end[0],
front[1]→X8→X12→X7→X10→X14→X13→
X15←end[1],
front[2]→X4←end[2].
第4趟“收集”结果为
→X1→X3→X6→X9→X11→X2→X5→X8→
X12→X7→X10→X14→X13→X15→X4.
由第4步得到U/{a,b,c,d}为
{X1,X3},{X6,X9,X11},{X2,X5},{X8,X12},
{X7,X10,X14},{X13,X15},{X4}.
4 POSP(D)计算方法分析
在决策表S=(U,C,D,V,f)中,过去的属性约
简算法在计算POSP(D)(PC)时都是建立在整个
对象集U上,而在计算POSP∪{a}(D)(a∈C-P)时
也没有用到已知的信息U/P,后来文献[6~8]不仅
利用已知的信息U/P递归地求出U/(P∪{a}),使
得计算POSP∪{a}(D)的计算量减少,而且在计算
POSP∪{a}(D)的过程中不断地丢掉不影响计算正区
394计 算 机 学 报2006年
收稿日期:
2005-06-03;修改稿收到日期:
2005-11-24.徐章艳,男,博士研究生,研究方向为粗糙集理论及其应用、数据挖掘.E-mail:
xyzwlx72@.刘作鹏,男,硕士研究生,研究方向为粗糙集理论及其应用、数据挖掘.杨炳儒,男,教授,博士生导师,研究领
域为知识发现、智能系统.宋 威,男,博士研究生,研究方向为粗糙集、数据挖掘.
一个复杂度为max(O(|C||U|),O(|C|2|U/C|))的
快速属性约简算法
徐章艳1),2) 刘作鹏1) 杨炳儒1) 宋 威1)
1)(北京科技大学信息工程学院 北京 100083)
2)(广西师范大学计算机系 桂林 541004)
摘 要 以基数排序的思想设计了一个新的求U/C的算法,其时间复杂度被降为O(|C||U|).经研究发现,以近
似质量作为启发信息并非十分理想,故以快速缩小搜索空间为目的设计了一个新的较为合理的度量属性重要性的
计算公式,并给出了该公式的递归计算公式.计算该公式的算法复杂度被降低到O(|C-P||U′-U′P|).用新公式
作为启发信息,设计了一个时间复杂度为max(O(|C||U|,O(|C|2|U/C|))的快速属性约简算法,并用一个实例说
明了算法.实验结果表明新算法不仅具有高效性而且能处理大型决策表.
关键词 粗糙集;正区域;属性重要性;属性约简;计算复杂度;近似质量
中图法分类号TP18
AQuickAttributeReductionAlgorithmwithComplexityof
max(O(|C||U|),O(|C|2|U/C|))
XUZhang-Yan1),2) LIUZuo-Peng1) YANGBing-Ru1) SONGWei1)
1)(SchoolofInformationEngineering,UniversityofScienceandTechnologyofBeijing,Beijng 100083)
2)(DepartmentofComputer,GuangxiNormalUniversity,Guilin 541004)
Abstract ComputingU/Cisoneofthemostimportantandtime-consumingcomputationinat-
tributereductionbasedonpositiveregion.Atpresent,theideaofthebestalgorithmforcompu-
tingU/Cisbasedonquicksorting,andit’stimecomplexityisO(|C||U|log|U|).Inthispaper,
anewalgorithmbasedonradixsortingforcomputingU/Cisprovided,anditscomplexityiscut
downtoO(|C||U|).Ontheotherhand,itisnotfullyreasonabletoregardapproximatequalityas
heuristicinformationinattributionreductionalgorithmbasedonpositiveregion.Soanewandrela-
tivelyreasonableformulameasuringattributionimportanceisdesignedforreducingsearchingspaceas
quicklyaspossible,andtherecursivecalculatingmethodoftheformulaisprovided.Thealgorithm
complexityofcalculatingtheformulaisdescendedtoO(|C-P||U′-U′P|).Thentheformula
measuringattributeimportanceisusedasheuristicinformationtodesignanefficientattributereduc-
tionalgorithm,whoseworsttimecomplexityiscutdowntomax(O(|C||U|,O(|C|2|U/C|)).An
exampleisusedtoillustratetheefficiencyofthenewalgorithm.Atlast,experimentalresult
showsthatthenewalgorithmisnotonlyefficientbutalsoscalable.
Keywords roughset;positiveregion;attributeimportance;attributereduction;computational
complexity;approximatequality
结果的对象,从而进一步简化了计算正区域的计
算量.经深入研究上述方法,我们提出一个更好的计
算正区域的算法.为更方便地说明我们的思想,给出
如下定理.
在过去的属性约简算法中,计算正区域POSP(D)
(PC)是基于整个对象集U的,但是经研究这并
不是必要的.
定义8. 在决策表S=(U,C,D,V,f)中,S′=
(U′,C,D,V,f)为其简化的决策表;对BC,定义
POS′B(D)=∪X∈U′/B∧XU′pos∧|X/D|=1X.
定理2.在决策表S=(U,C,D,V,f)中,S′=
(U′,C,D,V,f)为其简化的决策表,BC,若
POS′B(D)=U′pos,则POSB(D)=POSC(D).
证明.由于BC,故POSB(D)POSC(D).假
设POSB(D)≠POSC(D),则一定存在ul∈POSC(D)
∧ulPOSB(D),故[ul]CPOSC(D)但[ul]C
POSB(D);由于[ul]CPOSC(D),故一定存在
[u′l0]C=[ul]C(u′l0∈U′pos),从而有u′l0∈POSC(D)
且u′l0POSB(D).由于u′l0POSB(D),故至少存
在u′t∈[u′l0]B∈U/B(u′t∈U′)使得f(u′t,D)≠
f(u′l0,D),故存在{u′l0,u′t}X[u′l0]B,使得X∈
U′/B且|X/D|≠1,由定义8知u′l0POS′B(D),故
POS′B(D)≠U′pos,这与条件矛盾.从而假设不成立,
故命题成立.证毕.
定理3. 在决策表S=(U,C,D,V,f)中,S′=
(U′,C,D,V,f)为其简化的决策表.若BC有
POS′B(D)=U′pos且b∈B均有POS′B(D)≠
POS′B-{b}(D),则B是C相对于D的属性约简.
证明.由定义8可知:
POS′B-{b}(D)
POS′B(D)=U′pos.由于POS′B(D)≠POS′B-{b}(D),故
一定u′l∈U′pos且u′lPOS′B-{b}(D),故存在X0∈
U′/(B-{b})(其中u′l∈X0),但X0POS′B-{b}(D).
由定义8知有|X0/D|≠1或者X0U′pos.
(1)当X0U′pos时,则至少存在一个u′k∈X0∧
u′k∈U