粗糙集属性约简matlab程序
更新时间:2024-04-26 15:51:02 阅读量:2 综合文库 文档下载
粗糙集-属性约简-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;






正在阅读:
粗糙集属性约简matlab程序04-26
2011年天津市普通高中学业水平考试地理复习题 - 水资源对人类12-14
(新人教)记叙文写作序列 - 过渡与照应01-30
2017年电大社会调查研究与方法形考答案04-26
郑徐客专1标自密实混凝土试题03-26
14年秋《政治学原理》复习范围(有答案)01-23
《中印软件业发展对比》09-16
冰柜温度点检表08-21
一次难忘的经历作文02-04
- 天大砼方案 - 图文
- 农业科技网络书屋能力提升_玉米错题选
- DNS习题
- 浅议检察官对罪犯谈话的技巧与效果
- 高考语文文言文翻译专题训练
- AB类学科竞赛目录(2015)
- 建筑面积计算新规定(2015最新)
- Revit2012初级工程师题集一
- 十三五项目米线可行性报告
- 2013体育学院党组织建设工作总结
- 2014Revit工程师题库
- 高中数学如何实施研究性学习
- 茶艺表演 中英互译
- 小学音乐湘文艺版 四年级下册 第十一课《(歌表演)脚印》优质课公
- 山西省农村合作经济承包合同管理条例
- 2015年镇江市中考化学一模试题参考答案及评分标准(定稿)
- 统计 题集
- 批评意见清单
- 8潞安集团蒲县黑龙关煤矿矿业公司2
- 鄂教版四年级语文上册复习精要(光谷四小)
- 粗糙
- 属性
- 程序
- matlab
- 嵌入式题库1
- 安兰电脑茶招商文案(新)
- 深圳市建筑工程A类工程档案卷内目录
- 矿山建设步骤及注意事项
- 电力载波技术的特点及优势
- Cewizz概率论与数理统计试题-a(含答案)
- 进海路施工组织设计(四航局)
- 河南偃师伊洛河国家湿地公园总体规划
- 主要负责人考核要求
- 出租汽车企业安全生产标准化考评方法和考评实施细则 - 图文
- 自考第二外00840日语单词方法句型总结
- 钢结构吊装应急救援预案
- 昆明市第二届幼儿园保育员职业技能大赛
- 王春生诉张开峰、江苏省南京工程高等职业学校、招商银行股份有限
- 绿色食品水稻、玉米生产者使用手册
- 大型园区出口配置示例(防火墙直连部署)
- 55m大跨度钢结构管桁架施工技术 - 图文
- 2013年高考数学模拟试题(文科)及答案
- 甲烷转化催化剂升温还原技术要求
- 遥感导论习题部分答案