计算智能导论期末大作业

一、遗传算法

在这里插入图片描述
(1)

  首先,遗传算法是解决搜索问题的一种通用算法,因此遗传算法具有搜索算法共有的特点:组成一组候选解;然后依据某些适应性条件测算这些候选解的适应度;再根据适应度保留某些候选解,放弃其他候选解;最后对保留的候选解进行某些操作,生成新的候选解。

  在遗传算法中,基于染色体群的并行搜索,带有猜测性质的选择操作、交换操作和突变操作。这种特殊的组合方式将遗传算法与其它搜索算法区别开来。

  遗传算法还具有以下几方面的特点:

  1. 遗传算法从问题解的串集开始搜索,而不是从单个解开始。这是遗传算法与传统优化算法的极大区别。传统优化算法是从单个初始值迭代求最优解的;容易误入局部最优解。遗传算法从串集开始搜索,覆盖面大,利于全局择优。
  2. 遗传算法同时处理群体中的多个个体,即对搜索空间中的多个解进行评估,减少了陷入局部最优解的风险,同时算法本身易于实现并行化。
  3. 遗传算法基本上不用搜索空间的知识或其它辅助信息,而仅用适应度函数值来评估个体,在此基础上进行遗传操作。适应度函数不仅不受连续可微的约束,而且其定义域可以任意设定。这一特点使得遗传算法的应用范围大大扩展。
  4. 遗传算法不是采用确定性规则,而是采用概率的变迁规则来指导他的搜索方向。
  5. 具有自组织、自适应和自学习性。遗传算法利用进化过程获得的信息自行组织搜索时,适应度大的个体具有较高的生存概率,并获得更适应环境的基因结构。
  6. 此外,算法本身也可以采用动态自适应技术,在进化过程中自动调整算法控制参数和编码精度,比如使用模糊自适应法。

(2)

遗传算法Java伪代码。

public static void main(String[] args) {
	String group[] = init.codeAll(ga.GENE, groupsize);	//初始化群体
	// 循环迭代
    for(int i = 0; i < ITERA; i++){
		group = rws.RWS(group, ga.GENE); //选择
        group = cross.cross(group,ga.GENE,CP);	//交叉
        group = mutation.mutation(group, ga.GENE, MP);	//变异
	}
}

(3)

在这里插入图片描述
(4)

在这里插入图片描述

二、粒子群算法

在这里插入图片描述
(1)

  • 粒子群算法是一类不确定算法。不确定性体现了自然界生物的生物机制,并且在求解某些特定问题方面优于确定性算法。
  • 它是一类概率型的全局优化算法。非确定算法的优点在于算法能有更多机会求解全局最优解。
  • 它不依赖于优化问题本身的严格数学性质。
  • 它是一种基于多个智能体的仿生优化算法。粒子群算法中的各个智能体之间通过相互协作来更好的适应环境,表现出与环境交互的能力。
  • 它具有本质并行性。包括内在并行性和内含并行性。
  • 它具有突出性。粒子群算法总目标的完成是在多个智能体个体行为的运动过程中突现出来的。
  • 它具有自组织和进化性以及记忆功能,所有粒子都保存优解的相关知识。
  • 它都具有稳健性。稳健性是指在不同条件和环境下算法的实用性和有效性,但是现在粒子群算法的数学理论基础还不够牢固,算法的收敛性还需要讨论。

(2)

1. 随机初始化粒子群体的位置和速度。通常是在允许的范围内随机产生的,每个粒子的 pbest 坐标设置为其当前位置 ,且计算出其相应的个体极值(即个体的适应度值) ,而全局极值(即全局的适应度值) 就是个体极值中最好的 ,记录该最好值的粒子序号 ,并将 gbest 设置为该最好粒子的当前位置。
2. 计算每个粒子的适应值。
3. 对每个粒子 ,将其适应值与个体极值进行比较 ,如果较优 ,则更新当前的个体极值。
4. 对每个粒子 ,将其适应值与全局极值进行比较 ,如果较优 ,则更新当前的全局极值。
5. 根据式(1)(2) ,更新每个粒子的位置和飞行速度。
6. 如未达到预先设定的停止准则(通常设置为最大迭代次数) ,则返回步骤 2 ,若达到则停止计算。
PSO 算法可用伪代码表示如下 :
初始化粒子群 ;
DO
  For 每个粒子
    计算其适应度 ;
  If (适应度优于粒子历史最佳值)
    用 Xi 更新历史最佳个体 Pi ;
  End
  选取当前粒子群中最佳粒子 ;
  If (当前最佳粒子优于群历史最佳粒子)
    用当前群最佳粒子更新 Pg ;
  For 每个粒子
    按式(1) 更新粒子速度 ;
    按式(2) 更新粒子位置 ;
  End
While 最大迭代数未达到或最小误差未达到。

(3)

在这里插入图片描述
在这里插入图片描述

(4)

在这里插入图片描述

三、神经网络

在这里插入图片描述

(1)

  • 并行分布式处理:神经网络具有高度的并行结构和并行实现能力,具有高速寻找优化解的能力,能够发挥计算机的高速运算能力,可能很快找到优化解。
  • 非线性处理:人脑的思维是非线性的,故神经网络模拟人的思维也应是非线性的。这一特性有助于处理非线性问题。
  • 具有自学习功能:通过对过去的历史数据的学习,训练出一个具有归纳全部数据的特定的神经网络,自学习功能对于预测有特别重要的意义。
  • 神经网络的硬件实现:要使人工神经网络更快、更有效地解决更大规模的问题,关键在于其超大规模集成电路(V LSI)硬件的实现,即把神经元和连接制作在一块芯片上(多为CMOS)构成ANN,神经网络的VLSI设计方法近年来发展很快,硬件实现已成为ANN的一个重要分支。

(2)

在这里插入图片描述

  • BP神经网络是一种多层的前馈神经网络,其主要的特点是:信号是前向传播的,而误差是反向传播的。
  • 具体来说,对于只含一个隐层的神经网络模型:BP神经网络的过程主要分为两个阶段,第一阶段是信号的前向传播,从输入层经过隐含层,最后到达输出层;第二阶段是误差的反向传播,从输出层到隐含层,最后到输入层,依次调节隐含层到输出层的权重和偏置,输入层到隐含层的权重和偏置。
  • BP神经网络利用现有的数据找出输入与输出之间得权值关系(近似),然后利用这样的权值关系进行仿真,例如输入一组数据仿真出输出结果,当然你的输入要和训练时采用的数据集在一个范畴之内。例如预报天气:温度 湿度 气压等作为输入 天气情况作为输出利用历史得输入输出关系训练出神经网络,然后利用这样的神经网络输入今天的温度 湿度 气压等 得出即将得天气情况。同理,运用到自动化测试中,使用测试数据反映结果走向,bug数,质量问题等情况也可以做到提前预测的。

(3)

训练起来比较难收敛。
在这里插入图片描述

(4)

  函数真实图像:

在这里插入图片描述

  神经网络拟合曲线:

在这里插入图片描述

四、模糊C均值

在这里插入图片描述

(1)

  聚类中心:
   在这里插入图片描述

(2)

隶属度表格:
在这里插入图片描述
输出的隶属度值:
在这里插入图片描述

(3)

  第一类:中国、美国、澳大利亚

  第二类:日本、德国、英国、法国、意大利、加拿大、捷克、波兰、匈牙利、
      南斯拉夫、罗马尼亚、保加利亚、印度、印尼、尼日利亚、墨西哥

  第三类:前苏联、巴西

五、参考

遗传算法
https://blog.csdn.net/zhaosansao/article/details/82935486
https://github.com/rmsolgi/geneticalgorithm
粒子群算法
https://blog.csdn.net/wuduozhi_1997/article/details/75729821
https://blog.csdn.net/weixin_40679412/article/details/80571854
https://github.com/TimePickerWang/MachineLearning/tree/master/MachineLearning/OptAlgorithm
神经网络
http://www.elecfans.com/baike/tongxingjishu/jichuzhishi/20100306180770.html
https://www.jianshu.com/p/6ab6f53874f7

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ma lidong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值