「深度学习之优化算法」(十)烟花算法

1. 烟花算法简介

(以下描述,均不是学术用语,仅供大家快乐的阅读)
  烟花算法(Firework Algorithm,FWA)是一种受烟花爆炸产生火星,并继续分裂爆炸这一过程启发而得出的算法。算法的思想简单,但具体实现复杂。算法提出时间并不长,但是已经有了不少的改进研究和较为全面的应用。
  烟花算法中,每一个烟花的位置都代表了一个可行解。烟花的爆炸产生的火星有两种,正常的火星与特别的火星。每个火星都会爆炸产生数个正常火星,某些火星有一定的概率产生一个特别的火星。正常的火星根据当前火星的振幅随机均匀分布在该火星的周围,而特别的火星将在当前火星附近以正态分布方式产生。每次迭代产生的火星数量多于每一代应有的火星数,算法将参照火星位置的优劣,随机留下指定数量的火星,已保持火星数目的稳定。

2. 算法流程

烟花算法的主角毫无疑问就是烟花了。


  烟花算法中每个火星有两个属性:位置以及振幅,振幅与所有火星的亮度值有关,亮度越高的火星的振幅越小,反之振幅越大。(这里亮度表示火星的适应度值,越亮表示这个位置的氧气浓度越高,适应度越好)
  一句话总结烟花算法:较差位置大范围少量搜索,较好位置小范围大量搜索,不从众
  在D维解空间内每个火星的位置为

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/18424.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

skywalking安装

目录 skywalking部署示意图 server安装 裸机安装 docker单节点安装 docker集群安装 k8s安装 helm安装(官方) k8s yaml安装 动态配置安装 client agent安装 skywalking部署示意图 skywalking ui - web界面管理程序oap server - skywalking服务程序nacos - skywalking集…

OpenCV 的安装与配置指南(Windows环境,Python语言)

OpenCV 的安装与配置指南(Windows环境,Python语言) 导语一、安装 Python 二、安装 OpenCV 库三、配置 OpenCV 环境变量四、验证 OpenCV 安装总结 导语 OpenCV 是一个功能强大的计算机视觉库,广泛应用于图像处理和计算机视觉领域。…

MongoDB 简介及安装(windows环境下)

一、MongoDB 简介 1、MongoDB 是什么 MongoDB 是一个开源的、基于分布式的、面向文档存储的非关系型数据库。是非关系型数据库当中功能最丰富、最像关系数据库的。 MongoDB 将数据存储为一个文档,数据结构由键值(key>value)对组成。MongoDB 文档类似于 JSON 对…

Python启动UDP服务,监听并接收客户端数据

可以使用Python的socket库实现UDP协议的验证,以下是一个简单的示例代码: 服务器: [rootlocalhost python]# cat udp_server.py import socket# 创建一个UDP socket udp_socket socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# 绑定到…

(赠书活动第4期)编译语言的思考过程

面向对象编程(Object-Oriented Programming,简称OOP)是一种广泛应用于编程领域的编程范式,对于前端和后端开发都具有重要意义。在这篇说明中,我们将探讨面向对象编程对于前端和后端开发的重要性,并探讨其优…

云和DevOps如何帮助加速数字化转型?

1.云和 DevOps:概述 数字化转型已成为寻求在现代时代蓬勃发展的企业的一项关键举措。为了加速这一转型,组织正在利用云计算的力量并采用DevOps实践。云计算提供可扩展且灵活的基础架构,而 DevOps 则支持协作和持续交付的文化。本文将探讨云和…

迭代读取文件

使用 torch.utils.data.dataset.Dataset 收集数据信息,创建数据集。 使用 import torch.utils.data.dataloader 创建一个可以批量迭代的数据载入器,并通过 for 循环批量读取所有文件的数据。 import torch.utils.data.dataset as dataset import torch…

【ELK企业级日志分析系统】部署Filebeat+ELK详解

部署FilebeatELK详解 1. 部署Filebeat节点(CentOS 7-4)1.1 部署Apache服务1.2 部署Filebeat服务 2. filter插件2.1 grok正则捕获插件2.1.1 内置正则表达式调用2.1.2 自定义表达式调用2.1.3 设置正则表达式过滤条件 2.2 mutate数据修改插件2.2.1 Mutate过…

knife4j实现微服务swagger文档聚合

使用knife4j实现分布式swagger文档聚合 在项目开发过程中,接口文档的使用是在所难免的,但是在微服务场景下,多个服务之间的swagger是分散的,虽然swagger提供了微服务的聚合方式,配置过于繁琐,加之swagger本身的功能比较少,而且ui布局也比较蛋痛,此处推荐一款新框架用于增强swa…

Element UI组件中el-col、el-row布局学习笔记

一、简介 el-col:列。是Element UI布局中的核心组件,他的作用的将一行分成24个网格,为了方便我们在不同的设备上适配不同的屏幕大小。我们可以通过指定span属性来确定一行中所占的网格数。 el-row:行。包裹在el-col外层&#xf…

Matlab 入门简介

MATLAB 的工作界面默认布局自定义布局历史记录窗口调用以前运行过的语句 常用操作1. 清除操作clc 效果clear 效果clfclf 帮助文档clf 效果 close 效果 2. 帮助 Matlab 中的数据结构矩阵的数据访问向量化操作的内置函数 常量与变量1. 常量表2. 变量的命名规则3. 语句的常见形式 …

CVE-2023-23752-Joomla权限绕过漏洞研判分析

CVE-2023-23752-Joomla权限绕过漏洞分析 简介 Joomla是一个开源免费的内容管理系统(CMS),基于PHP开发。 在其4.0.0版本到4.2.7版本中,存在一处属性覆盖漏洞,导致攻击者可以通过恶意请求绕过权限检查,访问…