粗糙集属性约简matlab程序
更新时间:2023-03-11 18:31:01 阅读量: 教育文库 文档下载
粗糙集-属性约简-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程序03-11
安全责任考核管理制度02-25
古诗中的远方作文400字06-23
锅炉专业2015年缺陷分析报告01-06
寄宿制小学第一学期安全工作计划05-25
用模拟法测绘静电场实验报告!!02-25
胰岛素泵的基础率09-28
比赛获奖表扬稿04-02
比大小说课稿10-22
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 粗糙
- 属性
- 程序
- matlab
- 古文注解的类型及详解
- 炼油过程能量整体优化技术原理试卷
- 节日计划
- 自动控制系统及应用-阶段测评3
- 财政学习题一
- 香港联交所上市规则第14A章 - 关连交易
- 华师大版七年级数学上册期末试卷及答案(一)
- 应用于电力电子技术中的防焊穿万用电路板(黄译锋)
- 《桥梁工程》教案11
- 中国银监会关于印发《商业银行信息科技风险管理指引》的通知(银监发19号)
- IBT(新托福)学科分类词汇(路西法の王版)
- 做好工会工作要在“三情”上下功夫(欧阳)
- 河南偃师伊洛河国家湿地公园总体规划
- 王春生诉张开峰、江苏省南京工程高等职业学校、招商银行股份有限公司南京分行等侵权纠纷案
- 如何给通信模块SFB14和SFB15编程
- 矿山建设步骤及注意事项
- 2013年高考数学模拟试题(文科)及答案
- 形状和位置公差复习题与答案
- 2013六年级科学下册复习资料
- 进海路施工组织设计(四航局)