输入:一个简单决策表 D T = ( U , C D , V , f )

输出:条件属性C相对于决策属性D的一个相对约简 B R E D D ( C )

1. 计算每个条件属性与决策属性的相似度 s ( c i , D )

2. 然后根据每个条件属性与决策属性的相似度的值的大小将条件属性集进行降序排列 C = { c 1 , c 2 , , c n } ,其中n是条件属性的个数。

3. 对属性约简 R E D D ( C ) 赋初始值 R E D D ( C ) = C ,冗余属性 C P = ,对此,检验 C 1 = ,然后对集合C中的每个条件属性属性 c i ,令 C m = R E D D ( C ) c i ,执行下述操作:

3.1. 计算每个条件属性属性 c i 与集合 C m 中条件属性 c j 的相似度 s ( c i , c j ) ,然后与前面的 s ( c i , D ) 进行比较,若 s ( c i , D ) s ( c i , c j ) ,则将条件属性 c j 赋值给 C P ,将集合 R E D D ( C ) c j 赋值给 C 1

3.2. 接下来计算 s ( C 1 , D ) 是否与 s ( C , D ) 相等,如果相等,则删除条件属性 c j ,将集合 C 1 赋给 R E D D ( C ) ,反之将保留 c j R E D D ( C ) 保持不变;

3.3. 如果 C m 中的条件属性没有完成遍历,则直接转至步骤3.1,若完成遍历,则令 i = i + 1 C m = R E D D ( C ) c i ,如果 C m = ,转步骤4,否则,转步骤3.1;

4. 算法结束,输出相对属性约简集合 R E D D ( C )