资源简介
给出了范围是[1,16]的1600多个数据,这些数据都是随机无规律出现,运用遗传算法来进行数据预测。
代码片段和文件信息
function [in_put_newcountpredictflag] = GA(in_putout_put)
%%
outerinternum = 100 ; % 最外层迭代次数
internum = 50 ; % 选择 交叉 迭代次数
mutation_P = 0.03 ; % 变异概率
for outerinter=1:outerinternum
% 统计1-16 每个数字出现的次数及概率
count=zeros(116) ; % 计数
for i=1:length(in_put)
count( in_put(i) ) = count( in_put(i) ) +1 ; % 每个数字出现次数
end
P = count./sum(count) ; % 每个数字出现的概率
[temp_Pind_P] = sort(P) ;
Cumsum_P = cumsum(temp_P) ; % 计算累积概率
Cumsum_P = [0 Cumsum_P] ;
X = [] ; % 通过选择 交叉 变异 产生的100个新数据
X_bin = [] ; % 转换为二进制
for inter =1:internum
%% 轮盘赌选择
rnd = rand() ;
ind = find(Cumsum_P>=rnd) ;
ind = ind(1) -1 ;
chrom1 = ind_P(ind) ; % 选择第一个染色体
while 1
rnd = rand() ;
ind = find(Cumsum_P>=rnd) ;
ind = ind(1) -1 ;
chrom2 = ind_P(ind) ; % 选择第二个染色体
if chrom1~=chrom2 % 保证这两个染色体不同
break
end
end
%% 交叉
chrom1_bin = ‘0000‘ ; % 二进制长度:4 char
temp = dec2bin(chrom1-1) ; % 转换为二进制 char
chrom1_bin( end:-1:end+1-length(temp) ) = temp(end:-1:1) ; % 高位补0
chrom2_bin = ‘0000‘ ; % 二进制长度:4 char
temp = dec2bin(chrom2-1) ; % 转换为二进制 char
chrom2_bin( end:-1:end+1-length(temp) ) = temp(end:-1:1) ; % 高位补0
% 0|000 交叉
new_chrom1_bin = [ chrom1_bin(1) chrom2_bin(2:end) ] ;
new_chrom2_bin = [ chrom2_bin(1) chrom1_bin(2:end) ] ;
X_bin = [X_bin new_chrom1_bin new_chrom2_bin] ; % 保存为二进制
end
%% 变异
for i=1:4:length(X_bin)
if rand()<=mutation_P
X_bin(i) = num2str(1- str2num(X_bin(i))) ; % 0-1 变异 取反
end
end
for i=3:4:length(X_bin)
if rand()<=mutation_P
X_bin(i) = num2str(1- str2num(X_bin(i))) ; % 0-1 变异 取反
end
end
% X_bin 再转换为十进制(最后加1)
for i=1:4:length(X_bin)
temp_bin = X_bin(i:i+3) ;
temp = bin2dec(temp_bin) + 1 ; % 二进制转十进制
X = [Xtemp] ;
end
%% 更新输入
in_put = X ; % 将新产生的100个数据作为输入
end
%% 循环多次后,最终的数据结果
in_put_new = in_put ;
% 统计1-16 每个数字出现的次数及概率
count=zeros(116) ; % 计数
for i=1:length(in_put_new)
count( in_put_new(i) ) = count( in_put_new(i) ) +1 ; % 每个数字出现次数
end
[max_count ind] = max(count) ;
predict = ind(1) ; % 预测结果
if predict==out_put
flag = 1 ;
else
flag = 0 ;
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-05-19 10:08 GA 1\
目录 0 2014-05-18 15:20 GA 1\data\
文件 1089 2014-05-18 15:20 GA 1\data\data.mat
文件 75776 2014-05-18 15:20 GA 1\data\一维实验数据.xls
文件 2859 2014-05-22 17:01 GA 1\GA.m
文件 1129 2014-05-22 17:02 GA 1\GA_main.m
目录 0 2014-06-06 08:52 GA 1\result\
文件 478 2014-05-22 17:06 GA 1\result\实验结果.csv
文件 18944 2014-06-06 08:52 GA 1\result\实验结果.xls
文件 749 2014-05-22 17:06 GA 1\result\实验运行时间.csv
文件 17920 2014-06-06 08:52 GA 1\result\实验运行时间.xls
文件 884 2014-05-18 15:20 GA 1\遗传算法.txt
- 上一篇:QShareMemory.zip
- 下一篇:office2007_visio.txt
相关资源
- 遗传算法的堆石料非线性本构模型参
- 遗传算法越野小车unity5.5
- 车间布局遗传算法
- 马尔科夫模型进行数据预测
- 遗传算法论文11篇
- 基于遗传算法的立体车库车位调度研
- 遗传算法解决TSP旅行商问题程序开源
- 基于GA-ELM的瓦斯涌出量预测
- 5种多旅行商问题(MTSP)的遗传算法
- 人工智能和遗传算法的结合推荐必读
- 遗传算法0-1背包问题论文
- 改进的k_均值聚类排挤小生境遗传算法
- 基于遗传优化的无刷直流电机模糊控
- GA+ICP代码
- 计算智能大作业合集
- 遗传算法与工程优化_玄光男_程润伟
- NSGA和NSGAII算法
- 群体智能.ppt
- Qt写的遗传算法加画图程序
- 遗传算法优化支持向量机算法
- 遗传算法原理及应用--选择交叉变异算
- 使用神经网络与遗传算法的小游戏
- 遗传算法的适应度函数构造
- 车间调度遗传算法程序
- 遗传算法及其代码实现
- 遗传算法的基本理论与应用
- 遗传算法原理及应用
- 大规模资金流入流出大数据预测TOP3与
- 数学建模中的有关遗传算法的论文
- 进化算法-云庆夏著
评论
共有 条评论