粗糙集属性约简matlab程序_第1页
粗糙集属性约简matlab程序_第2页
粗糙集属性约简matlab程序_第3页
粗糙集属性约简matlab程序_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、粗糙集 -属性约简 -matlab 程序Data2为条件属性,decision2为决策属性%my_test 函数实现clc;% 读取信息系统文件file = textread('data2.txt','%s','delimiter','n','whitespace',''); %读取文件信息,每一行为一个胞元 m,n=size(file); % 胞元的大小for i=1:mwords=strread(filei,'%s','delimiter',' '

2、);% 读取每个胞元中字符,即分解胞元为新的胞元 words=words'% 转置Xi=words;endX=X'% B,num,AT=my_reduct(X);%信息系统的约简ind_AT=ind(X); %信息系统的不可等价关系% 显示约简信息系统disp('约简后的条件系统为:);m,n=size(B);for i=1:mdisp(Bi);end% 读取决策系统文件file = textread('decision2.txt','%s','delimiter','n','whitespace&

3、#39;,'');m,n=size(file);for i=1:mwords=strread(filei,'%s','delimiter',' ');words=words';Di=words;endD=D';% 决策系统的正 域约简X_D=X;l,k=size(X_D1);pos_d=pos(X_D,D);% 正域fori=1:m%正域有问题% if(ismember(num(i),pos_d)Bi=''% 若约简后的信息系统 Bi 不在正域中则删除该行end% 因为相同的条件得到的决策不一样,e

4、nd%将在正域规则下约简过的信息系统B 连接决策系统 Dm,n=size(B);for i=1:mif(isequal(Bi,'')Bi1,k+1=Di1;end end显示约简决策% 系统disp('约简后的决策系统为:);m,n=size(B); for i=1:mdisp(Bi);end%my_reduct 函数实现function C,num,reduct_attr=my_reduct(X)%y 为约简后的 cell 数组, reduct_attr 为可约去的属性%X 为行向量(元素为胞元)clc;% 约简 m,n=size(X);p,k=size(X1);in

5、d_AT=ind(X);% 寻找不可等价关系reduct_attr=; % 可约去的的属性num=zeros(m,1);%约简后的信息对应的个体for i=1:kB=delete_AT(X,i);if(isequal(ind_A T,ind(B) %若 IND(AT-a=IND(A T) reduct_attr=union(reduct_attr,i);%则寻找到可约去的属性X=B;endend% 剔除重复的行k=1;for i=1:mif(isequal(ind_A Ti,)%返回约简后的信息系统C_i=ind_A Ti,1(1); num(k)=i;Ck,1=XC_i;k=k+1;ende

6、nd%ind 函数实现function yy=ind(X) % 寻找不可分辨关系 m,n=size(X);k=1;ind_A T=cell(m,1);for i=1:mfor j=(i+1):m %潜在问题,如 i=m 是终止循环,此时若最后一行不为空的话,将漏扫 if(isequal(Xi,'')%若 Xi 不为空ind_A Tk=union(ind_A Tk,i); %不可等价关系赋初值 if(isequal(Xi,Xj)Xj=''%若 Xi=Xj, 则删除 Xjind_ATk=union(ind_A Tk,j); % 寻找不可等价关系 endendendk

7、=k+1;end%delete_AT 函数的源代码function y=delete_AT(X,ATi) % 删除 X 中第 i 列的属性值 m,n=size(X);l,k=size(X1);for i=1:mXiA Ti=''endy=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:mfor j=1:m if(isequal(ind_Xi,)&&isequal(ind_Dj,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论