-
粗糙集理论一直受到众多学者的高度关注,已广泛应用于数据挖掘、知识发现、模式识别等诸多领域[1].属性约简从高维数据中剔除与决策类别无关的属性子集,通过删除冗余属性实现数据降维和压缩数据容量,一直是粗糙集理论研究中的热点内容[2].
在基于粗糙集的知识发现研究中,许多学者对属性约简算法进行了大量的研究.文献[3]分析了相对正域的渐增式特征,改进相对正域的计算方法,每次选择使其变化最大的属性,直至求得一个约简.文献[4]采用基数排序方法计算正域,定义属性重要度计算公式,每次选择最重要的属性,直至生成一个约简.文献[5]将分治法思想融入粗糙集算法中,设计基于分治策略的属性约简算法,求得给定属性序下的唯一约简.文献[6]提出了一种基于矩阵简化的约简构造方法,重复选择属性并执行矩阵简化操作,直至矩阵中仅存在单属性元素,最终所有单属性的集合即为求得的一个约简.文献[7]将不一致决策表转化为一致决策表,给出了5种一致决策表约简的定义,利用一致决策表中属性重要度函数的单调性求得决策表属性约简.以上方法均仅是求得决策系统的一个属性约简,且不能保证其一定为最小属性约简.文献[8]针对多种常见的属性约简准则,分析其本质内涵并将之分层归类,为进一步实现面向不同约简准则的高效属性约简算法奠定理论基础.文献[9]提出了一种基于容差关系的属性约简方法,为不完备决策表求取全体属性约简给出了一种解决方案.文献[10]依据条件等价类定义决策向量,在此基础上设计了满足不同属性约简准则的分辨矩阵构造方法,为高效属性约简算法研究奠定了分辨矩阵构造基础.但这些研究并没有就如何设计高效的约简算法作进一步讨论.文献[11]基于扩展法则变换分辨函数,为决策系统求取全体属性约简提供了一种完备高效的计算方法.
本文深入分析分辨矩阵的一些有用特性,吸收扩展法则思想设计一种操作分辨集搜索全体约简的有效方法,并给出了详细的算法描述和时间复杂度分析,理论分析与实验结果说明了该算法的高效性与完备性.
全文HTML
-
DS=〈U,C∪D,V,f〉为决策系统的形式化表示,其中U为非空有限论域;C为条件属性集,D为决策属性集,C∩D=Ø;V=∪a∈(C∪D)Va为属性值域,Va为属性a的值域;f:U×(C∪D)V为信息函数,f(x,a)为对象x∈U在属性a上的取值.
定义1[6] 给定决策系统DS=〈U,C∪D,V,f〉,令C={a1,…,am},U={x1,…,xn},分辨矩阵M是一个|U|×|U|的矩阵,矩阵中每一元素定义为
分辨矩阵满足对称性且对于1≤∀i≤n均有cii=Ø,因此可仅通过下三角(1≤j<i≤n)元素来表示矩阵.为叙述方便,令MDS为决策系统DS的分辨矩阵M中非空元素构成的集合,即MDS={mij: mij≠Ø}.
定义2[6] 给定决策系统DS=〈U,C∪D,V,f〉,MDS={mij}≠Ø,其分辨函数定义为
其中,∨mij为mij中所有属性的析取式,∧{∨mij}为所有∨mij的合取式.后续描述中在不影响理解时,将FDS(C)简写为FDS.
定义3[12] 定义a∈C关于属性集B⊆C的布尔映射函数为
分辨函数关于属性集B⊆C的布尔映射函数为ρB(FDS(C))=∧{∨ρB(mij):mij∈MDS∧mij≠Ø}.
性质1[12] 给定决策系统DS=〈U,C∪D,V,f〉, MDS={mij}≠Ø,则ρC(FDS(C))=1.
由定义3可知对分辨矩阵任意非空元素mij,∨mij关于属性集B⊆C的布尔映射函数为
对于∀mij∈MDS∧mij≠Ø均有mij∩C≠Ø,故对于分辨矩阵中任意非空元素mij恒有ρC(∨mij)=1,因此分辨函数FDS关于属性集C的布尔映射函数ρC(FDS(C))=∧{ρC(∨mij):mij∈MDS∧mij≠Ø}=1.
定义4[8] 给定决策系统DS=〈U,C∪D,V,f〉,R(R⊆C)关于D的可辨识关系定义为:DIS(R,D)={(xi,xj)∈U×U:f(xi,R)≠f(xj,R)∧f(xi,D)≠f(xj,D)∧(|f([xi]IND(R),D)|=1∨|f([xj]IND(R),D)|=1)}.其中[xi]IND(R)是不可分辨关系R下由对象xi定义的等价类,定义为[xi]IND(R)={x:x∈U∧f(x,R)=f(xi,R)}.
性质2 给定决策系统DS=〈U,C∪D,V,f〉,R⊆C,则DIS(R,D)⊆DIS(C,D).
证 针对∀(xi,xj)∈DIS(R,D)必有f(xi,R)≠f(xj,R)且f(xi,D)≠f(xj,D)且|f([xi]IND(R),D)|=1∨|f([xj]IND(R),D)|=1.由f(xi,R)≠f(xj,R)可推出f(xj,C)≠f(xj,C);由R⊆C可得[xi]IND(C)⊆[xi]IND(R),[xj]IND(C)⊆[xj]IND(R),又|f([xi]IND(R),D)|=1∨|f([xj]IND(R),D)|=1,故有|f([xi]IND(C),D)|=1∨|f([xj]IND(C),D)|=1.因此针对∀(xi,xj)∈DIS(R,D)必有f(xi,C)≠f(xj,C)且f(xi,D)≠f(xj,D)且|f([xi]IND(C),D)|=1∨|f([xj]IND(C),D)|=1,即(xi,xj)∈DIS(C,D),性质DIS(R,D)⊆DIS(C,D)得证.
定义5[8] 对于决策系统DS=〈U,C∪D,V,f〉,给定目标概念对象集合X⊆U,X关于R(R⊆C)的近似精度定义为
其中,∪{[x]IND(R):[x]IND(R)⊆X}是论域U中通过知识R判断确定属于集合X的元素构成的集合,记为正域POSR(X),显然有0≤
$\partial_{R}$ (X)≤1.近似精度反映了通过现有知识向目标概念能够逼近的程度,当$\partial_{R}$ (X)=1时,X可通过已有知识被精确描述;当$\partial_{R}$ (X) < 1时,X仅可通过已有知识被粗糙定义.定义6[8] 给定决策系统DS=〈U,C∪D,V,f〉,若R(R⊆C)满足:
1)
$\partial_{R}$ (D)=$\partial_{C}$ (D);2) ∀a∈R,
$\partial$ R-{a}(D)≠$\partial_{R}$ (D)则称R为条件属性集C关于决策属性集D的相对属性约简.相对属性约简的本质在于保持决策系统近似质量不发生改变.
定理1 给定决策系统DS=〈U,C∪D,V,f〉,R⊆C,DIS(R,D)=DIS(C,D)的充要条件是
$\partial_{R}$ (D)=$\partial_{C}$ (D).证明:
1) 证明:若DIS(R,D)=DIS(C,D),则
$\partial_{R}$ (D)=$\partial_{C}$ (D),利用反证法.假设
$\partial_{R}$ (D)≠$\partial_{C}$ (D),则$\exists $ xi∈U使得[xi]IND(C)⊆POSC(D)但[xi]IND(R)$\nsubseteq$ POSC(D),则$\exists $ xj∈[xi]IND(R)使得xj∉[xi]IND(C)且f(xi,D)≠f(xj,D).由[xi]IND(C)⊆POSC(D)可得|f([xi]IND(C),D)|=1,由xj∉[xi]IND(C)可得f(xi,C)≠f(xj,C),因此有(f(xi,C)≠f(xj,C))∧(f(xi,D)≠f(xj,D))∧(|f([xi]IND(C),D)|=1∨|f([xj]IND(C),D)|=1)成立,即(xi,xj)∈DIS(C,D).由xj∈[xi]IND(R)可得f(xi,R)=f(xj,R),故(xi,xj)∉DIS(R,D). (xi,xj)∈DIS(C,D)但(xi,xj)∉DIS(R,D),这与前提条件DIS(R,D)=DIS(C,D)矛盾,因此假设不成立,所以$\partial_{R}$ (D)=$\partial_{C}$ (D).2) 证明:若
$\partial_{R}$ (D)=$\partial_{C}$ (D),则DIS(R,D)=DIS(C,D),利用反证法.假设DIS(R,D)≠DIS(C,D),则由性质1可推出
$\exists $ xi,xj∈U使得(xi,xj)∈DIS(C,D)但(xi,xj)∉DIS(R,D).由(xi,xj)∈DIS(C,D)可知有f(xi,C)≠f(xj,C)且f(xi,D)≠f(xj,D)且|f([xi]IND(C),D)|=1∨|f([xj]IND(C),D)|=1成立,可推出xi,xj中至少一个属于POSC(D);由(xi,xj)∉DIS(R,D)可推出有f(xi,R)=f(xj,R)或者f(xi,D)=f(xj,D)或者|f([xi]IND(R),D)|>1∧|f([xj]IND(R),D)|>1成立.因为f(xi,D)≠f(xj,D),所以只可能有f(xi,R)=f(xj,R)或者|f([xi]IND(R),D)|>1∧|f([xj]IND(R),D)|>1成立,由f(xi,D)≠f(xj,D)与f(xi,R)=f(xj,R)可推出xi,xj两对象均不属于POSR(D),由|f([xi]IND(R),D)|>1∧|f([xj]IND(R),D)|>1也可推出xi,xj两对象均不属于POSR(D),因此POSR(D)≠POSC(D),因而有$\partial_{R}$ (D)≠$\partial_{C}$ (D),与前提$\partial_{R}$ (D)=$\partial_{C}$ (D)相矛盾,因此假设不成立,所以DIS(R,D)=DIS(C,D).根据定理1,可将相对约简定义转换为对应于可辨识关系的等价描述.给定决策系统DS=〈U,C∪D,V,f〉,若R(R⊆C)为C相对于D的属性约简当且仅当R满足:
1) DIS(R,D)=DIS(C,D);
2) ∀a∈R,DIS(R-{a},D)≠DIS(C,D).
因此,可依据系统的可辨识关系是否变化,作为R(R⊆C)是否为约简的判定标准.
定理2 给定决策系统DS=〈U,C∪D,V,f〉,MDS={mij}≠Ø,R⊆C,则DIS(R,D)=DIS(C,D)当且仅当ρR(FDS)=ρC(FDS).
证明:
1) 证明:若DIS(R,D)=DIS(C,D)则ρR(FDS)=ρC(FDS).
对∀mij∈MDS∧mij≠Ø,必存在U中对象x′i∈[xi]IND(C),x′j∈[xj]IND(C),使得(x′i,x′j)∈DIS(C,D),此时mij={a:a∈C∧f(xi,a)≠f(xj,a)}={a:a∈C∧f(x′i,a)≠f(x′j,a)}.又已知DIS(R,D)=DIS(C,D),故当(x′i,x′j)∈DIS(R,D),则必
$\exists $ a∈R,f(x′j,a)≠f(x′j,a)成立,因而有R∩mij≠Ø故ρR(∨mij)=1.针对∀mij∈MDS∧mij≠Ø均有ρR(∨mij)=1,因此ρR(FDS)=∧{ρR(∨mij):mij∈MDS∧mij≠Ø}=1.又由性质2得ρC(FDS(a1,…am))=1,因此ρR(FDS)=ρC(FDS).2) 证明:若ρR(FDS)=ρC(FDS)则DIS(R,D)=DIS(C,D).
先证DIS(C,D)⊆DIS(R,D).针对∀(xi,xj)∈DIS(C,D),必存在m={a:a∈C∧f(xi,a)≠f(xj,a)}≠Ø使得m∈MDS.由条件ρR(FDS)=ρC(FDS)与性质1可得ρR(FDS)=1,因此对MDS中任意非空元素m恒有ρR(∨m)=1,即R∩m≠Ø,因此有f(xi,R)≠f(xj,R).又由(xi,xj)∈DIS(C,D)可得f(xi,D)≠f(xj,D)且|f([xi]IND(C),D)|=1∨|f([xj]IND(C),D)|=1,故针对∀(xi,xj)∈DIS(C,D)均有f(xi,R)≠f(xj,R)且|f([xi]IND(C),D)|=1∨|f([xj]IND(C),D)|=1.
假设|f([xi]IND(R),D)|>1∧|f([xj]IND(R),D)|>1成立,由|f(;xi]IND(C),D)|=1∨|f([xj]IND(C),D)|=1可知xi,xj中至少一个属于POSC(D),可令xi∈POSC(D)(同理可令xj∈POSC(D),证明过程与xi∈POSC(D)类似),则
$\exists $ xk∈U使得xk∈[xi]IND(R)∧xk∉[xi]IND(C)且f(xi,D)≠f(xk,D),那么必$\exists $ m′∈MDS∧m′≠Ø其行对应xi列对应[xk]IND(C)中一对象,使得m′={a:a∈C∧f(xi,a)≠f(xk,a)}≠Ø且R∩m′=Ø,则有ρR(∨m′)=0故ρR(fDS)=0,与前提ρR(FDS)=ρC(FDS)=1矛盾,故|f([xi]IND(R),D)|>1∧|f([xj]IND(R),D)|>1不成立,即有|f([xi]IND(R),D)|=1∨|f([xj]IND(R),D)|=1成立.因此,针对∀(xi,xj)∈DIS(C,D)均有f(xi,R)≠f(xj,R)∧f(xi,D)≠f(xj,D)且|f([xi]IND(R),D)|=1∨|f([xj]IND(R),D)|=1成立,即(xi,xj)∈DIS(R,D),故DIS(C,D)⊆DIS(R,D).又由性质2有DIS(R,D)⊆DIS(C,D),因此有DIS(R,D)=DIS(C,D).
综上所述,当MDS={mij}≠Ø时,DIS(R,D)=DIS(C,D)的充分必要条件是ρR(FDS)=ρC(FDS),即DIS(R,D)=DIS(C,D)当且仅当ρR(FDS)=ρC(FDS).
联立定理1、定理2可得,给定决策系统DS=〈U,C∪D,V,f〉,MDS={mij}≠Ø,则R(R⊆C)为C相对于D的属性约简当且仅当R满足:①ρR(FDS)=1;②∀a∈R,ρR-{a}(FDS)=0.换而言之,若R是保持分辨函数值为真的极小条件属性集,则R为C相对于D的一个属性约简.
性质3 给定决策系统DS=〈U,C∪D,V,f〉,MDS={mij}≠Ø,R⊆C,则ρR(FDS)=1当且仅当对∀mij≠Ø均有R∩mij≠Ø.
证 若ρR(FDS)=1,则对∀mij≠Ø均有ρR(∨mij)=1,即R∩mij≠Ø.若对∀mij≠Ø均有R∩mij≠Ø,则对∀mij≠Ø均有ρR(∨mij)=1,即ρR(fDS)=1.因此,当MDS={mij}≠Ø时,给定R⊆C,ρR(FDS)=1的充要条件是对∀mij≠Ø均有R∩mij≠Ø.
根据性质3,可将相对约简定义转换为对应于MDS的等价描述.给定决策系统DS=〈U,C∪D,V,f〉,MDS={mij}≠Ø,则R(R⊆C)为C相对于D的属性约简当且仅当R满足:
1) ∀mij∈MDS(mij≠Ø
$\Rightarrow $ R∩mij≠Ø);2) ∀a∈R,
$\exists $ mij∈MDS(mij≠Ø∧(R-{a})∩mij=Ø).
-
定理2表明,约简对应使分辨函数映射值为真的极小属性集.本节进一步分析分辨集、分辨函数与约简的对应关系,给出相关的定理及证明,并在此基础上设计求取决策系统全体约简的有效算法.
定理3 令GDS是将分辨函数FDS运用命题逻辑吸收律和分配律等值变换后的极小析取范式(即析取范式中任意两项简单合取式之间不存在属性集包含关系),那么存在h和Xi⊆C(1≤i≤h)使得GDS=(∧X1)∨…∨(∧Xh),则决策系统DS的所有约简RED(DS)={X1,…Xh}.
证 针对∀Xi∈{X1,…,Xh}(1≤i≤h),由布尔映射函数定义均有ρXi(∧Xi)=1,因此ρXi(GDS)=1;因GDS中任意2项简单合取式间不会存在属性集包含关系,即对∀Xi,Xj∈{X1,…,Xh}(1≤i,j≤h,j≠i)均有Xj-Xi≠Ø,则对∀Xi,Xj∈{X1,…Xh}(1≤i,j≤h)与∀a∈Xi均有Xj-(Xi-{a})≠Ø,那么ρXi-{a}(∧Xj)=0,因此对∀a∈Xi均有ρXi-{a}(GDS)=0.又因GDS是将分辨函数FDS运用吸收律和分配律等值变换后的极小析取范式,根据命题逻辑可知对∀B⊆C均有ρB(FDS)=ρB(GDS),因此可将上述性质描述为:对∀Xi∈{X1,…,Xh}(1≤i≤h)均有ρXi(FDS)=1;对∀a∈Xi均有ρXi-{a}(FDS)=0.因此∀Xi∈{X1,…,Xh}(1≤i≤h)均是一个约简,即{X1,…,Xh}⊆RED(DS).
依据定理2,∀R∈RED(DS)均满足:ρR(FDS)=1;∀a∈R,ρR-{a}(FDS)=0.又因GDS是将分辨函数FDS运用吸收律和分配律等值变换后的极小析取范式,根据命题逻辑可知对∀B⊆C均有ρB(FDS)=ρB(GDS).因此∀R∈RED(DS)均满足:ρR(GDS)=1;∀a∈R,ρR-{a}(GDS)=0.由ρR(GDS)=1可知至少存在某项Xi∈{X1,…Xh}(1≤i≤h)使得R⊇Xi,假设存在2项以上则
$\exists $ Xi,Xj∈{X1,…Xh}(1≤i≤h,1≤j≤h,i≠j)使得R⊇Xi∧R⊇Xj,又Xi与Xj互不包含,则R-Xi≠Ø那么必$\exists $ a∈R使得ρR-{a}(∧Xi)=1即$\exists $ a∈R(ρR-{a}(GDS)=1),与∀a∈R,ρR-{a}(DDS)=0相矛盾,因此当前仅存在一项Xi∈{X1,…,Xh}(1≤i≤h)使得R⊇Xi,故此时有ρR(GDS)=ρR(∧Xi).又因为ρR(GDS)=1且∀a∈R,ρR-{a}(GDS)=0,故有ρR(∧Xi)=1且∀a∈R,ρR-{a}(∧Xi)=0,则必有R=Xi.因此针对∀R∈RED(DS)均存在且仅存在一项Xi∈{X1,…,Xh}(1≤i≤h)使得R=Xi,即对∀R∈RED(DS)均有R∈{X1,…,Xh},即RED(DS)⊆{X1,…,Xh}.综上所述,若GDS=(∧X1)∨…∨(∧Xh)是将FDS运用吸收律和分配律等值变换后的极小析取范式,则决策系统DS的所有约简RED(DS)={X1,…,Xh}.
由定理3可知,求取所有约简问题可转化为将分辨函数FDS转化为等价的极小析取范式GDS,GDS中每一析取项(极小析取范式中的每一简单合取式∧Xi(1≤i≤h))对应一个约简,GDS中全体析取项对应决策系统全体约简.为生成分辨函数的极小析取范式,需在等价变换过程中运用命题逻辑吸收律和分配律.相应地,可基于布尔函数操作对求取所有约简集问题建模.
定义7 给定决策系统DS=〈U,C∪D,V,f〉,MDS={mij}≠Ø,其分辨集€定义为MDS中所有非空元素构成的集合,即分辨集€={mij:mij∈MDS∧mij≠Ø},分辨函数可表示为FDS=F(€)=∧{∨€k:€k∈€}.
定义8 给定决策系统DS=〈U,C∪D,V,f〉,分辨集€={mij:mij∈MDS∧mij≠Ø},其极小分辨集定义为min(€)={€k:€k∈€∧((∀€l∈€∧k≠l)→(€l⊄€k))},即min(€)是€中删除所有超集元素后形成的集合(若某元素€l⊃€k(k≠l),则€l为超集元素).
若€k⊆€l则据命题逻辑吸收律可得(∨€k)∧(∨€l)=(∨€k),故有F(€)=F(€-{€l}).通过多次使用吸收律,可将分辨集€转换为其极小分辨集,因而FDS=F(€)=F(min(€)).如此,则可按如下步骤直接得到极小分辨集:①分辨集€初始值置空;②若分辨矩阵所有元素提取完毕则转⑤,否则提取分辨矩阵当前元素M(i,j);③若€中存在某元素包含于M(i,j)转④,否则删除€中所有包含M(i,j)的元素,然后将M(i,j)加入€;④生成下一当前元素M(i,j)转③;⑤结束.操作结束,€即为极小分辨集.
直接生成极小分辨集流程遵循了合取范式的消解原理,因此与原分辨集在求取约简结果上是等价的,且最大限度减少了存储分辨矩阵的元素数目.
为实现基于分辨矩阵求取全体属性约简的启发式算法,以下先给出分辨集核、分辨集关于特定属性的排除集定义,再给出算法的实现原理及证明.
定义9 分辨集€的核定义为€中所有单属性元素构成的集合,即CORE(€)={€k:€k∈€∧|€k|=1}.
定理4 CORE(€)=∩RED(DS),其中RED(DS)为决策系统DS全体约简.
证 ①对∀a∈CORE(€)可知单属性a对应分辨函数FDS中的一个合取项,由性质3对∀R∈RED(DS),R⊆C均有ρR(FDS)=1,则必有ρR(a)=1即a∈R.若a∈CORE(€),则对∀R∈RED(DS)均有a∈R,所以CORE(€)⊆∩RED(DS).
② 对∀a∈∩RED(DS),令RED(DS)={X1,…,Xh},则a∈Xi(1≤i≤h).若决策系统DS仅存在一个约简则GDS=∧X1,a∈X1则单属性a必对应FDS中一合取项,即a∈€则必有a∈CORE(€);若DS存在多个约简则可将GDS转化为GDS=(∧X1)∨…∨(∧Xh)=a∧(∧(X1-{a}))∨…∨(∧(Xh-{a})),又因为GDS是将合取范式FDS等值变换后的极小析取范式,故单属性a必对应FDS中一合取项,即单属性a∈€,故a∈CORE(€).因此对∀a∈∩RED(DS)均有a∈CORE(€),即∩RED(DS)∀CORE(€).
综合①②可得CORE(€)=∩RED(DS).
定义10 给定分辨集€≠Ø,分辨集€关于属性a(a∈C)的排除集定义为:€-(a)={€k-{a}:(€k∈€)∧((€k-{a})≠Ø)}.
性质4 给定极小分辨集€≠Ø,a为€中任一非核属性,€′=€-{€k:(€k∈€)∧(€k∩{a}≠Ø)}.若€′≠Ø则F(€)=(a∧F(€′))∨(F(min(€-(a))));若€′=Ø,则F(€)=(a)∨(F(min(€-(a)))).
证明:
① 若€′≠Ø,令€={€1,…,€r,€r+1,…,€s}且非核属性a∈€k(1≤k≤r),a∉€k(r+1≤k≤s),则
② 若€′=Ø,令€={€1,…,€r},则对∀€k∈€,1≤k≤r均有非核属性a∈€k,故
给定极小分辨集€≠Ø,若其子集€′≠Ø,则€′也是极小分辨集;€-(a)不一定为极小分辨集,可将其转化为极小分辨集,且根据命题逻辑可知F(€-(a))与F(min(€-(a)))等值.对F(€′)与F(min(€-(a)))递归运用同样分解过程,F(€)必能等价转化为析取范式,再应用命题逻辑吸收律可将其化为形如(∧X1)∨…∨(∧Xh)的极小析取范式,依据定理3,{X1,…,Xh}即为决策系统全体约简.
定理4说明CORE(€)包含于每一约简,性质4说明,将决策系统约简可分为2类:一类包含非核属性a;另一类不包含非核属性a,那么生成所有约简的整个过程对应由极小分辨集€递归构造一棵二叉树的过程:①根结点赋值为CORE(€),若€中不存在非核属性该结点停止扩展,否则执行②与③;②选择非核属性a,左子树赋值为由分辨集{a}∪(€′-CORE(€))所构造的二叉树;③右子树赋值为由分辨集min(€-(a)-CORE(€))构造的二叉树.一个包含属性a的约简对应左子树中某条从根结点到叶结点的路径,一个不包含属性a的约简对应右子树中某条从根结点到叶结点的路径,此即为本文基于极小分辨集构造约简树求取全体约简的二分策略;此外,在针对约简树中每一结点向下二分扩展时,以本结点所对应极小分辨集中属性的出现频度作为启发式信息,选取频度最高的非核属性a,可加快约简树的生成过程.基于启发式二分策略的完全约简获取算法具体描述见算法1.
算法1 基于启发式二分策略的完全约简获取算法
输入:非空极小分辨集€
输出:决策系统所有约简RED(€)
初始化:RED(€)=Ø(RED(€)为全局变量)
Void RED_HBS(€)
{cur_red=Ø;
if (€=NULL) return;
if ((|∀€k∈€|=1)
{cur_red=€;
将cur_red以吸收方式加入RED(€);
}
else
{对€中每一非核属性计算SIG(b);
a=max{SIG(b)};
€′=€-{€k:(€k∈€)∧(€k∩{a}≠Ø)};
€′=€′∪{a};
RED_HBS(€′);
€″=€-(a)的极小分辨集;
RED_HBS(€″);
}//end if
}//end RED_HBS
设极小分辨集为€={€1,…,€t},按算法1生成的二叉树结点数为N.算法对每一内部结点,均要计算核属性集CORE(€)(时间复杂度为O(t)),计算所有非核属性b在€中的频度信息SIG(b,€)(时间复杂度不超过O(t·|C|),选择a=max{SIG(b,€)}的属性a(时间复杂度为O(|C|)),计算€-(a)的极小分辨集(时间复杂度不超过O(t2)),又由二叉树性质可得内部结点数为(N-1)/2,故算法对所有内部结点操作的时间复杂度不超过O(N·(t·|C|+t2)),一般情形下|C| << t,因此算法对内部结点操作的时间复杂度不超过O(N·t2);对每个叶子结点均存在一条从根结点到该叶结点的路径,由二叉树特征可得叶子结点数为(N+1)/2,故算法1对所有叶子结点收集候选约简的时间复杂度不超过O(N·|C|),将候选约简以吸收方式加入约简集的时间复杂度不超过O(N2).因此,整个算法时间复杂度不超过O(N·t2+N2).
文献[11]所提出的扩展法则本质上可归结为按广度优先遍历求解,必须获取约简树全体路径并执行逻辑吸收操作后才能得到全体解,而算法1按深度优先遍历以吸收方式加入当前候选约简cur_red(cur_red是否为约简取决于其是否被吸收),有效地消除了部分非真实约简,因而其耗费存储空间要少于扩展法则.
-
为进一步验证本文算法的性能,选用UCI机器学习数据库中的若干数据集,CPU为Intel双核2.5 GHz,内存容量为4 G,操作系统为Windows 10,使用Visual Studio 2017实现了相关实验,实验结果见表 1-表 3.
表 1给出直接提取分辨矩阵元素得到分辨集与直接生成极小分辨集的实验数据对比.其中“元素数目”代表所生成分辨集中的所有元素的数目,“元素长度和”代表所有元素中包含的属性数目之和.实验数据表明,相对于提取分辨矩阵所有元素而言,直接生成极小分辨集大大减少了存储空间.
表 2针对算法1给出其与不运用启发式信息扩展结点的实验结果对比.其中“生成分辨集时间”表示获取极小分辨集的时间(单位:s),“路径数”表示所构造约简树从根到叶结点的路径数目,“启发式扩展结点”表示使用属性重要度作为启发式信息选择分支属性,“非启发式扩展结点”表示不运用启发式信息而仅按照预先设置的顺序选择分支属性.数据集“zoo”,“ monks-1”,“ tic-tac-toe”与“kr-vs-kp”在是否运用启发式信息求取所有约简的时间上难以体现差别,均小于0.001 s,主要原因在于此4个数据集所构造约简树的路径数目太少且相差不大.对于数据集“soybean-small”与“mushroom”,是否运用启发式信息扩展结点构造约简树的路径数目相差较大,因此前者求取全体约简时间耗费不到后者的1/10.
表 3给出了运用算法1求取所有属性约简与利用文献[11]中算法(简称扩展法则)求取全体约简所耗费空间(单位:B)的实验对比数据.数据集“zoo”,“ monks-1”,“ tic-tac-toe”与“kr-vs-kp”在2种算法上的初始候选约简集与最终约简集相等,因此所耗费的存储空间无法体现出区别.数据集“soybean-small”与“mushroom”上的实验结果表明算法1所耗费的存储空间比扩展法则少,主要原因在于算法1采取深度优先方式每当探索到候选约简均以吸收方式加入,而扩展法则通过广度优先方式必须找到所有候选约简再吸收生成全体约简.
-
属性约简是粗糙集理论的重要研究内容,尤其是最小约简对于泛化能力具有重要意义.本文设计了一种构造约简树获取信息系统全体约简的有效算法:该算法提取分辨矩阵元素直接生成极小分辨集,根据启发式信息运用二分策略操作极小分辨集构造一棵约简树,该约简树从根结点到叶结点的每一条路径对应一个候选约简;在约简树的构造过程中采用深度优先遍历以吸收方式加入当前候选约简,当前候选约简是否为约简取决于其是否被吸收,有效地缩减了搜索空间和存储空间.该方法适用于满足任意约简准则的分辨矩阵,能够保证全体约简求解的完备性,理论分析与实验结果说明了算法的可行性与有效性.