1、第31卷第8期 2014年8月 计算机应用与软件 Computer Applications and Software Vo131 No8 Aug2014 基于布尔冲突矩阵的不完备决策表快速属性约简算法 章晨光 徐章艳周建华 (广西师范大学计算机科学与信息工程学院广西桂林541004) 摘要 在不完备决策表中,针对近年来提出属性约简算法的时间复杂度不理想的情况,通过对已有计算容差类方法和引入的冲 突域概念的研究,定义了布尔冲突矩阵并设计出该矩阵的快速属性约简算法。同时,在布尔冲突矩阵中定义了一种属性重要性度量 的方法,并从理论上证明了该矩阵的属性约简与正区域的属性约简是等价的。经过对该属性约简
2、算法的分析,其时间复杂度为max 0(1K C 1l 1),0(1 cl 1POSc(D)ll u1)(1KI=maxI T ( )ll U),空间复杂度为O(I cI l POS。(D)l1 I)。最后通过实 例和实验分析,说明该算法的有效性和可行性。 关键词 不完备决策表 属性约简 容差类 中图分类号TP18 文献标识码A 冲突域布尔冲突矩阵 DOI:103969jissn1000386x201408064 FAST ATTRIBUTE REDUCTIoN ALGoRITHM FoR INCoMPLETE DECISION TABLE BASED oN BooLEAN CoNFLICT M
3、ATRIX Zhang Chenguang Xu Zhangyan Zhou Jianhua (College of Computer Science and Information Engineering,Guangxi Normal University,Guilin 541004,Guangxi,China) Abstract In incomplete decision table,the time complexity of attribute reduction algorithm presented in recent years is unsatisfactory Aiming
4、 at this situation,by studying existing tolerance class calculation method and the introduced conflict domain concept,we define a Boolean conflict matrix and design the fast attribute reduction algorithm for the matrixMeanwhile,in Boolean conflict matrix a metric method for attribute importance is d
5、efinedIn succession,we prove theoretically that the attribute reduction of the matrix is equivalent to the attribute reduction of the positive regionThrough analysing the attribute reduction algorithm,it is known that its time complexity is max0(I K ll C ll UI),0(I CI l POSc(D)ll U1)t(I Kl=maxI Tc(
6、)Il U),and the space complexity is O(I Cl I POSc(D)il UI)Finally,an example and experimental analysis are used to illustrate the effectiveness and feasibility of the algorithm Keywords Incomplete decision table Attribute reduction Tolerance relation Conflict domain Boolean conflict matrix 0 引 言 粗糙集理
7、论是一种处理不精确和不确定信息的数学工 具,它最早是在1982年由波兰PawlakZ教授提出的。经过近 3O年的发展,粗糙集理论已经与神经网络、遗传算法、概念格等 其它智能软计算方法相结合 ,从中可以看到这样的结合在人 工智能、数据挖掘、知识发现、自动控制等方面获得显著成就。 属性约简是粗糙集理论重要的研究方面之一。 在完备决策表 属性约简中,刘少辉 等人利用快速排序 法对决策表对象划分等价类,其属性约简时间复杂度为O(I CI。 IUIlog1 U1);徐章艳 用链式基数排序法划分等价类,使约简 算法时间复杂度降到maxo(I C lI UI),0(I C UCI);葛浩 在文献6基础上提出
8、分步计数的基数排序,约简算法时间复 杂度虽为0(f C Uf),但该算法能较强控制属性的冗余。而 在现实生活中,由于数据资料获取的限制、数据记录的疏忽和病 毒人侵系统等原因,导致缺省值产生,从而形成不完备决策 表 。李艳红 等人以信息量作为启发信息设计的属性约简 1 算法,其时间复杂度为fCf lUI 。史进玲 提出用扩展序值 矩阵作为启发信息,研究出了新的粒度计算属性约简算法。文 献9首先使计算容差类时间复杂度降低为O(I lC_l I) (IKI:maxl ( )ll U),然后用差别矩阵将属性约简算 法时间复杂度降到max0(IK lI C lI UI),0(I C POS (D)ll
9、UI)。虽然文献9的约简算法得到改进,但其计算容差类的 算法1和算法2关联性不足。针对于此,先用分步计数的基数 排序思想计算容差类,然后在文献10定义的简化矩阵的属性 重要度启发下,根据得出本文定义的布尔冲突矩阵的属性重要 度的大小,来判断属性是否并入约简中。最后,用实例计算说明 了本算法的正确性和高效性。 1粗糙集基本概念 定义l3_ 一个决策表是一个信息表知识表达系统 S=(U,A, ,A=CUD是属性集合,子集C和D分别称为条 件属性和决策属性集,D 。其中,U是对象的集合,也称为论 收稿日期:20121212。国家自然科学基金项目(60963008);广 西自然科学基金项目(2011G
10、XNSFA018163)。章晨光,硕士生,主研领 域:粗糙集理论及应用与数据挖掘。徐章艳,教授。周建华,硕士生。 258 计算机应用与软件 2014丘 域,V=U 是属性值的集合, 表示r A的属性值范围,即属 性r的值域 :UR 是一个信息函数,它指定 中每一个对 象 的属性值,V rcUD, U,有厂( ,r) 。 在信息表知识表达系统S中,若至少存在一个a G,使得 包含缺省值(用 表示),即至少存在n C, U,使得厂( ,n) = ,则称之为不完备决策表。 定义2 设在一个不完备决策表S=(U,A, 厂)中,其中 A=CLD。令B C,定义B上的容差关系 (B)为 (B)= ( ,y
11、)l( ,y)UU,V 6 E B, ,6)=(Y,b)VS( ,6)=$ V,(Y,b)= 。 用 ( )表示在B下与 具有容差关系的全体对象集YlY U,( ,),)T(B)。即 在条件属性B下的容差类为 ( )。 定义3 不完备决策表S=(U,A,V,f)中,其中A=c uD。 pCC,定义对象集合 的一个覆盖UP:UP=u ( )Ix U。 定义4不完备决策表S=(U,A,v,f),有A=CUD。假设 (2c_P C,记UP= ( 。), ( ), ( ),uO=TQ ( 1),TQ( 2),TQ( )。V P( )己rP= 。( ,)uO 使71P( ) TQ( ,),则称UP为uO
12、的加细。 定义5不完备决策表S=(U,A,V,厂)中,其中A=CuD。 设Q U,P C,Q的P正区域定义为:POS (Q)=U l Tp( ) y,其中YqD。假设P=C,Q=U,则POS (D)=U I ( ) D,D,UD。 定义6给定不完备决策表S=(U,A,V ),其中A=cu D,R C,如果POSR(D)=POS。(D),且对于V。R满足 POS (D)POS。(D),那么称R是C相对于D的属性约简, 记为REDD(C)。 定义7在不完备决策表S=(U,A,V,f)中,有A=CUD。 日 C。B关于D的冲突域记为Conset(B)。Conset(C)= U,j ,( , ,)T(
13、C)八 ,D) ,D)。 定义7表明,Conset(C)=UPOS (D),Conset(C)是冲突 对象的集合。 2属性约简相关性质 定义8在不完备决策表S=( ,A,V,f)中,有A=CuD Be_c,布尔冲突矩阵定义为M =r ,其中r 定义如下: 0 j c B ,c ) AS( ,ck) AS( ,D) ,( ,D),当 隹Conset(B) 0 c B ,c ) 厂( ,c )AS( ,c ) AS( ,c )$Af( ,c ) , 圣Cortet(B), Conset(B) 】 otherwise 定义9在不完备决策表s=(U,A,V,f)中,有A=CUD, 存在两个布尔冲突矩阵
14、M =r ,和M=r ,则M = 肘。 性质1在不完备决策表S=( ,A,V,f)中,有A=CuD, ICI 对于V c c对应的布尔冲突矩阵 =r尊,则M。:,。 。 证明根据定义和定义,性质得证。 -1M8 9 1 定义10 属性重要性在不完备决策表S=(U,A,V,f) 中,有A=CUD,其中B C。对于V。CB的属性重要性定 义为:Sig(0,B)=Sum(g )一Sum(g ),其中Sum(M)表示 为矩阵肘中为 元素的数目总和。 定义ll在不完备决策表S=( ,A, )中,有A=CuD, 对于VB C,条件属性集合曰对于的冲突矩阵 =r ,如果 满足条件: (1)M =肘c; (2
15、)对于V c B,使得M口“ 。,则称日是c相对于D 基于布尔冲突矩阵的属性约简。 定理1在不完备决策表S=(U,A, 中,有A=CLJD, 对于VB C,如果条件属性集合 的布尔冲突矩阵M = r ,满足POS (D):POS (D),则M =gc成立。 证明假设M M。,则对于 ,xjU,在布尔冲突矩阵 和 。至少存在一个元素r 满足 B,r ,。根据定义8可知,r ,和 r 的值一个为0,另一个为1。因为B C,由定义4可知, 。( ) T。( )和T ( ,) T ( ),则j aCB使得,( ,o) ,。)_厂( ,0) l厂( ,0) ,即 B,=1,r C=0,则说 明( , ,
16、) T(B)和 ( )u 。( ,) ( )。 (1)当 , ,譬Conset(C),即 , ,POSc(D),因为r ,=0,则 有 厂( ,0)_厂( ,。)AU( ,0)$_厂( ,o) 和 ( ,D) l厂( ,D)。又根据71c( )u ( ) ( ),则 隹POS (D),所以 POS (D) s (D)。这与已知条件矛盾,所以MB:M 成立。 (2)当 隹Conset(C),也B口 POSc(D), Conset(C), 因为rC,=0,则有I ,n) ,0)八 ,) 八_厂( ,n) 。当 ,D)f( ,D)时,由(1)同理得证。当( ,D)= l厂( ,D)时,又因为 ,Co
17、nset(G),必定存在 Tc( ,) 诺 Tc( ),则,( ,D) ,D),所以I厂( ,D) ,D)。其中 又根据 c( )u T。(一) ( ),则 隹POS (D)。所以POS (D)POs。(D)。这与已知条件矛盾,所以M =M 成立。 定理2在不完备决策表S=(U,A,V,S)中,有A=CUD, 对于VB C,如果条件属性集合B的布尔冲突矩阵 =r , 满足MB=Mc,则POSB(D)=POSc(D)。 证明假设POS (D)POS (D),故必定 满足 POS (D) POS (D),则存在 , ( )满足( ,D), ( ,D),从定义9可知r =1。另一方面,因为 TB(
18、)并且 POS (D),则 ,隹Tc( )。所以,必定至少存在一个。C B满足_厂( ,n) 厂( ,。)_厂( ,n) 八 ,o) 。根据定 义10可知r:=0,所以 。,这与已知条件矛盾,则POS (D)=POS (D)成立。 定理3在不完备决策表S=(u,A, ,_厂)中,有A:Cu D, 设PRed(C)为c相对于D的所有基于正区域的属性约简的集 合,设MRed(C)为C相对于D的所有基于布尔冲突矩阵的属性 约简的集合,则有PRed(C)=MRed(C)。 证明首先证明PRed(C) J)l纰d(c)。因为PRed(c)为c相 对于D的所有基于正区域的属性约简的集合。任意选取R e P
19、Red (C),则必定满足POS (D)=POS。(D)并且对于Vc R使得 POS (D)POSc(D)。由于POS (D)=POSc(D),根据定理1 可知, = 。同时由于POS 一I ckl(D)POS。(D),再根据定理2 的逆否命题可知 _ll Mc,根据定义11知, 是基于布尔冲突 矩阵的属性约简,由于R的任意陛,PRed(C) 舵d(C)。 , 其次证明MRed(C) RRed(c)。由于MRed(C)为C相对 于D的所有基于布尔冲突矩阵的属性约简的集合。任取B ed(c),则必定满足M =Mc并且对于V c B使得M 。因为M =M ,由定理2知POS (D)=POS (D)
20、。又因 为M口 Mc,从定理1的逆否命题可知POS (D) 第8期 章晨光等:基于布尔冲突矩阵的不完备决策表快速属性约简算法 259 POS。(D),再根据定义6知,B是基于正区域的属性约简,由于 曰的任意性,MRed(C)C_PRed(C)。综上所述,PRed(C)= Red (C)成立,证毕。 3基于布尔冲突矩阵的属性约简算法 根据前文的分析,不完备决策表S的属性约简算法可以大 致分两个部分:求出所有对象的容差类;通过布尔冲突 矩阵来进行属性约简。 31 不完备决策表的容差类算法 先对不完备决策表S=(U,A,V,f)中的每个属性下的确定 值进行离散化,并且将U分成确定值对象集合U 和缺省
21、值对象 集合U ;然后将构造一个计数表Countt(00一) Ste p41根据f( ,n )的值,在Count表中找到 雇有 序表中的位置inpos; step42将 ,存人有序表Sort的第inpos个位置; Step43修改每个确定值U a 等价类和缺省值集合 U 当前最后一个对象在有序决策表的位置; Stel设由step4得到的链表中的对象序列为 , , ; t=1;El= ; for(j=2;j= ;j+) if( n )= 0 ,n ) E =E U ; elset=t+1;E =E U ; Stelfor( =1; t; +) 对象值域为确定值的容差类 Stel1V ,EE (
22、)=E UE ; Stel2 V ,E 对象值域为缺省值的容差类 ,( )= ; 算法2求出不完备决策表S=(U,A,voO中容差类71P( ) 输入:不完备决策表S=(U,A, ,A=CUD,尸 C,其中 U= l, 2, jul,P=口1,口2,。IPI, ( ); 输出:Tp( )。 Stepl P=。 ; Step2 for(j=1 IPl +) i 如果,( ,aj)= 则Teu ( )=71P( ); 否则VYTe( ) if(_厂(Y, )= Vf(y,n ):=-厂( ,o ) ul ai E( )=71Pu ( )UY; step3若 Ipl,转向step4;否则P=PU ,
23、转向step2; step4输出 ( ),算法终止。 算法1主要是计算不完备决策表S:(U,A,V,_厂),(其中 =CUD,pC_C)条件属性0 下容差类 ,( )(其中i=1,2, 1PI)。算法1的Step2和Step3的时间算法复杂度为0(1 UI)。 Step4循环l 1次,而循环体的时间复杂度都为0(1),则step4 时间复杂度为0(1 UI)。Step5和Step6时间复杂度同样为 0(1 UI),则算法1的时间复杂度为0(I UI)。 算法2则主要是利用算法1来计算出不完备决策表S= (U,A, 容差类 ( )。由文献9可知,算法2的时间复杂 度为0(1K lI P ll u
24、I)(IKI=max1 ( )ll U)。该时间 复杂度比一般的求容差类的时间复杂度O(fc If f )要低。而 在最坏情况下的空间复杂度为0(1 U1)。 32布尔冲突矩阵属性约简算法 算法3求不完备决策表S=(U,A, 的约简属性 输入:不完备决策表S=(U,A,V, ,A=CUD,其中U= 1, 2, lUI,C=。1,02,0lcl; 输出:不完备决策表S约简属性R。 Step1根据算法2, 在属性C下的容差类71P( ),其中 (i=1,2,lUI)。如果Te( )中存在两个对象的决策值不 等,则将 并人冲突域Conset(C); Step2令R=0, m=0; n“m表示属性重要
25、度的最大值 Stel3 While(R=0VnMm!=0) Step31对于V。 CR,根据定义8求出条件属性R u0 所对应的布尔冲突矩阵MR l ail; Step32计算每个 U0 的属性重要度: Sig(0 ,R)=Sum(MR )一Sum(MR); Step33在属性集V cR中,找到属性重要度最 大时对应的属性 ;也即Sig(n ,R)=max(Sig( ,R); Step34 nMm=Sig(n ,R); if(hum!=0) R=RU。 ; Step4 Mc=MR M ; atE Ln 。 Step5 if(Mc=gR)输出R。 算法3的Stepl的时间复杂度为0(1 K ll
26、 C lI U1)(I K1= maxl ( )lI U)。Step2的时间复杂度为0(1),Step3 中的循环体的最坏时间复杂度为0(fC一 If POS (D)l 1), 而Step3至少循环l C I一1次,则Step3的算法时间复杂度为 0(1Cl lPOS。(D)I1 UI)。Step4最坏时间复杂度为0(1 c I IPOSc(D)ll uI)。所以总算法时问复杂度为max0(I K ll C ll UI),0(1 Cl lPOS (D)lJ U1)。由于最多要构造l C1个矩阵, 则总空间复杂度为0(1C1 IPOS (D)ll U1)。 4实例和实验分析 41实例分析 为了说
27、明该属性约简算法的正确性和可行性,以表1 为 260 计算机应用与软件 2014,钜 例进行解释说明。其中表1相对于文献11决策表作了少许 改动,将条件属性名和决策属性名改成C=n ,。:,o ,n 和D, 同时将所有对象值进行离散化。具体见表1所示。 表1不完备决策表 01 2 ct4 D 1 2 2 2 1 2 x2 1 2 1 2 x3 1 2 1 x4 2 2 2 2 x5 2 2 3 x6 1 2 2 2 用算法1求出表2所示的关于条件属性。 的Sort表。 表2属性a1的Sort表 : l 1 x4 I 1 f 1 2 2 I 从表2可以得出 ( 1)= 1, 4, 3, 5,Ta
28、。( 2)= 2, 6, , 5, ( ):U, 。( )= , 4, 3, 5,Ta。( 5)= U, ( 6)= 2, 6, , 5。 接着经过算法2得到所有对象的容差类如下:Tc( )= l,Tc( 2)= 2, 6,Tc( 3)= 3, c( 4)= 4, 5,71c ( 5): 5,x4, 6,Tc( 6)= 6, 2, 5。 根据算法3中的Stepl,得出该不完备决策表的冲突域为 Comet(C)= 4, 5, 6,则 l, 2, 3诺Comet(C)。 根据算法3中的Step3得到每个条件属性n 的的布尔冲突 = 叫 分别计算每个条件属性n 的重要度Sig(n ,R):Sig(。
29、, ) =2;5留(。2, )=0;S (03, )=7;Sig(口4, )=8。Sg(。 , ) =max(Sig(o , ),则R=o 。 对于V。 cR=。 ,o:, ,由于篇幅的限制,计算 M 将省略。得到每个属性n 的重要度Sig(o ,R)如下:s (1,R)=1; sig(。2,R):0;Js (03,R)=3;Sig(。3,R)=max(s (0 , R),则R= , 。同理,最后得到R=o , ,。 。对于 V 0 CR:n ,Sig(n ,R)=0,则Step3循环结束。Step4 r 1 1 0 0 0 01 算出M =M月A M =l 1 1 0 0 0 0 l= R,
30、则输出的属 to 0 1 0 0 o J 性约简为R=n , ,o 。该结果与文献9所得属性约简结 42实验比较 现选取本文决策表表1和UCI数据集中5个决策表,对文 献9和本文算法进行测试,测试结果见表3,其中T1表示本文 决策表表1。计算机实验硬件配置CPU Intel Pentium D 境JDK16,开发平台Eclipse32,用Java语言实现2个约简算 法。A1表示文献9算法,A2表示本文所提约简算法。 表3 2个约简算法比较 Al A2 数据集 IUl ICI 约简 执行时间 约简 执行时间 个数 (ms) 个数 (ms) T1 8 4 3 5751 3 4339 Hepatit
31、is 155 19 6 924169 5 1 106582 Soybeanlarge 307 35 l5 6 984271 12 6 014304 Credit 690 15 4 12 34717 4 10 62523 TicTacToe 958 9 8 12 72537 8 9 64074 Car 1 728 6 6 20 12458 6 17 11274 从表3看出,算法A2与算法A1的算法约简结果大致相 同,而算法A2耗时普遍低于算法A1。根据前文分析,本文所提 算法更易于理解,且计算容差类的算法1与算法2更具有关 联性。 5 结语 本文在不完备决策表中,提出了一种基于布尔冲突矩阵的 属
32、性约简算法。本文先定义冲突域概念,设计出新的矩阵模 型一布尔冲突矩阵,然后用理论证明出基于布尔冲突矩阵属性 约简与基于正区域的属性约简是等价的。同时,本文改进计算 容差类的算法,使其更加易于处理不完备决策表;还定义了基于 布尔冲突矩阵的属性重要度,从而更快速地对属性进行约简 然而,考虑到矩阵模型的存储空间较大,下一步工作可以对 区分对象对或属性频率进行重点研究,以便进一步缩小属性约 简算法的空间复杂度。 参考文献 1Pawlak Z,Rough setsJInternational Journal of Computer and Ior- mation Science,1982,11(5):3
33、41356 2汤建国,祝峰,余堑,等粗糙集与其他软计算理论结合情况研究综 述J计算机应用研究,2010,27(7):24042410 3王国胤Rough Set理论与知识获取M西安:西安交通大学出版 社,2001 4刘少辉,盛秋戬,吴斌,等Rough集高效算法的研究J计算机学 报,2003,26(5):524528 5徐章艳,刘作鹏,杨炳儒,等一个复杂度为max0(1 u l_cI), 0(1cl lUCI)的快速属性约简算法J计算机学报,2006,29 (3):391399 6葛浩,李龙澍,杨传健基于冲突域的高效属性约简算法J计算 机学报,2012,35(2):342350 7李艳红,鄂旭,
34、周津,等信息量的不完备信息系统属性约简方法 J小型微型计算机系统,2012,33(3):641645 8史进玲,杜根远,熊德兰一种基于粒计算的不完备序决策表约简 算法J计算应用与软件,2012,29(1O):113116 9舒文豪,徐章艳,钱文彬,等一种快速的不完备决策表属性约简算 法J小型微型计算机系统,2011,32(9):18671871 10钱文彬,杨炳儒,徐章艳一种基于决策表的快速属性约简矩阵算 法J小型微型计算机系统,2012,33(9):19541958 1 1Kryszkiewicz MRough set approach to incomplete information systems JInformation Sciences,1998,112(1):3949