输入:决策系统 S = ( U , C ∪ D ) 。
输出:多特定类 D m c s 的一个正域约简A。
Step1: A = ∅ , T = ∅ , i s F i r s t = 1 ;
Step2:对于 ∀ a ∈ C ,计算局部粒度值 G { a } ;
Step3:若 | P O S A U ( D m c s ) | ≠ | P O S C U ( D m c s ) | :
Step3.1:若 i s F i r s t = 1 ,则令 T = C , i s F i r s t = 0 ,转到Step3.4;
Step3.2:若 i s F i r s t = 0 ,则令 T = { a | ∀ a ∈ C − A , G { a } ≤ G { b 1 } } ;
Step3.3:若 T = ∅ ,则令 T = C − A ;
Step3.4:对 ∀ b ∈ T ,计算 S i g o u t ( b , A , D m c s ) ,令 b 1 = arg M a x { S i g o u t ( b , A , D m c s ) } ;
Step3.5:对于 ∀ b i ∈ C − A ,构造属性组 G r o u p ( b 1 ) ;
Step3.6:令 A = A ∪ G r o u p ( b 1 ) , U = U − P O S A ( D m c s ) − N E G A ( D m c s ) ;
Step4:对于 ∀ a ∈ A ,如果 S i g i n ( a , A , D m c s ) = 0 ,则令 A = A − { a } ;
Step5:返回约简A,算法结束。