粗糙集属性约简matlab程序
粗糙集-属性约简-matlab程序
Data2为条件属性, decision2为决策属性 %%%my_test函数实现 clc;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%读取信息系统文件
file = textread('data2.txt','%s','delimiter','\\n','whitespace',''); %读取文件信息,每一行为一个胞元 [m,n]=size(file); %胞元的大小 for i=1:m
words=strread(file{i},'%s','delimiter',' ');%读取每个胞元中字符,即分解胞元为新的胞元 words=words';%转置 X{i}=words; end X=X';
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% [B,num,AT]=my_reduct(X); %信息系统的约简 ind_AT=ind(X); %信息系统的不可等价关系
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%显示约简信息系统 disp('约简后的条件系统为:'); [m,n]=size(B); for i=1:m disp(B{i}); end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%读取决策系统文件 file = textread('decision2.txt','%s','delimiter','\\n','whitespace',''); [m,n]=size(file); for i=1:m
words=strread(file{i},'%s','delimiter',' '); words=words'; D{i}=words; end D=D';
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%决策系统的正域约简 X_D=X;
[l,k]=size(X_D{1}); pos_d=pos(X_D,D);%正域 for
i=1:m
%%%%%%%%%%%%%%
正
域
有
问
题%%%%%%%%%%%%%%%%%%%%%%%%%%% if(~ismember(num(i),pos_d))
B{i}=''; %若约简后的信息系统B{i}不在正域中则删除该行 end %因为相同的条件得到的决策不一样, end
%将在正域规则下约简过的信息系统B连接决策系统D [m,n]=size(B); for i=1:m
if(~isequal(B{i},'')) B{i}{1,k+1}=D{i}{1}; end end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%显示约简决策系统
disp('约简后的决策系统为:'); [m,n]=size(B); for i=1:m disp(B{i}); end
-------------------------------------------------------------------------------- %%%%%my_reduct函数实现
function [C,num,reduct_attr]=my_reduct(X)
%%%%%y为约简后的cell数组,reduct_attr为可约去的属性 %X为行向量(元素为胞元) clc;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%约简 [m,n]=size(X); [p,k]=size(X{1});
ind_AT=ind(X);%寻找不可等价关系 reduct_attr=[]; %可约去的的属性
num=zeros(m,1);%约简后的信息对应的个体 for i=1:k
B=delete_AT(X,i);
if(isequal(ind_AT,ind(B))) %若IND(AT-{a}=IND(AT) reduct_attr=union(reduct_attr,i); %则寻找到可约去的属性 X=B; end end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%剔除重复的行
k=1; for i=1:m
if(~isequal(ind_AT{i},[])) C_i=ind_AT{i,1}(1); num(k)=i;
C{k,1}=X{C_i}; %返回约简后的信息系统 k=k+1; end end
-------------------------------------------------------------------------------- %%%%%ind函数实现
function yy=ind(X) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%寻找不可分辨关系 [m,n]=size(X); k=1;
ind_AT=cell(m,1); for i=1:m
for j=(i+1):m %潜在问题,如i=m是终止循环,此时若最后一行不为空的话,将漏扫 if(~isequal(X{i},'')) %若X{i}不为空
ind_AT{k}=union(ind_AT{k},i); %不可等价关系赋初值 if(isequal(X{i},X{j}))
X{j}=''; %若X{i}==X{j},则删除X{j} ind_AT{k}=union(ind_AT{k},j); %寻找不可等价关系 end end end k=k+1; end
-------------------------------------------------------------------------------- %%Tlete_AT函数的源代码
function y=delete_AT(X,ATi) % 删除X中第i列的属性值 [m,n]=size(X); [l,k]=size(X{1}); for i=1:m X{i}{ATi}=''; end y=X;
-------------------------------------------------------------------------------- %%%%%pos函数实现
function pos_d=pos(X,D)%求决策系统的正域函数 %X为条件属性,D为决策属性
ind_D=ind(D); %求决策属性D的不可等价关系
[m,n]=size(ind_D);
ind_X=ind(X); %求信息系统属性X的不可等价关系 low=[]; %存储正域个体的编号 for i=1:m for j=1:m
if(~isequal(ind_X{i},[])&&~isequal(ind_D{j},[])) if(ismember(ind_X{i},ind_D{j}))
low=union(low,ind_X{i});%由性质Pos_AT(d)=low_AT(X1)Ulow_AT(X2)U... end end end end pos_d=low;
…… 此处隐藏:1078字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [综合文档]应答器设备技术规范(征求意见稿)A1
- [综合文档]教师 2012年高考政治试题按考点分类汇
- [综合文档]保险公司的总经理助理竞职演说
- [综合文档]卫生应急大练兵大比武活动考试--题库(
- [综合文档]徐州经济技术开发区总体规划环境影响报
- [综合文档]汉语拼音表(带声调)
- [综合文档]二年级 上 思维训练( 1~18)
- [综合文档]特色学校五年发展规划
- [综合文档]机床经常出现报警“X1轴定位监控”
- [综合文档]《电子技术基础》21.§5—2、3、4 习题
- [综合文档]浙江省深化普通高中课程改革
- [综合文档]CRISP原理 - 图文
- [综合文档]2017年电大社会调查研究与方法形考答案
- [综合文档]浅析建筑施工安全毕业论文
- [综合文档]《回忆我的母亲》名师教案
- [综合文档]装饰装修工程监理规划
- [综合文档]三下乡心得体会-文艺
- [综合文档]柱计算长度系数 - 图文
- [综合文档]全流程思考,提高燃电系统热电转换率--
- [综合文档]2018年嘉定区中考物理一模含答案
- 433M车库门滚动码遥控器
- 8、架空线路施工规范
- 大学四年声乐学习的体会
- 新北师大版五年级数学上册《轴对称再认
- 部编版五年级上册语文第六单元小结复习
- 小学六年级英语形容词用法
- 第2课 抗美援朝保家卫国 课件01(岳麓版
- 2015年天津大学运筹学基础考研真题,考
- 微机计算机控制技术课后于海生(第2版)
- 安全教育实践活动
- Delphi程序设计教程_第1章_Delphi概述
- 第八讲 工业革命与启蒙运动
- 《中华人民共和国药典》2005年版二部勘
- 科粤版九年级化学2.3构成物质的微粒(1)
- 西师大版数学三年级下册《长方形、正方
- ch6_冒泡排序演示
- 第4章 冲裁模具设计
- 浙江中小民营企业员工流失论文[终稿]
- 再议有线数字电视市场营运模式
- 昆明供水工程监理大纲




