当前位置: 首页 > news >正文

【计算智能】遗传算法(一):基本遗传算法(SGA)理论简介

前言

本系列文章架构概览:

​编辑

  本文将介绍基本遗传算法在解决优化问题中的应用,通过实验展示其基本原理和实现过程:选取一个简单的二次函数作为优化目标,并利用基本遗传算法寻找其在指定范围内的最大值。

1. 遗传算法(GA)简介

​编辑
  遗传算法是一种概率搜索算法,它使用达尔文的自然选择原则,并使用在自然发生的遗传操作(如交叉(重组)和突变)之后形成的操作,迭代地将一组数学对象(通常是固定长度的二进制字符串)(通常具有相关的适应度值)转换为一个新的后代对象群体。

1.1 遗传算法vs. 自然

  19世纪世界四大学说之一是达尔文的自然选择学说。其主要内容有四点:过度繁殖、生存竞争、遗传和变异、适者生存。

  一切生物都具有产生变异的特性,其根本原因是环境条件的改变。在生物产生的各种变异中,有的可以遗传,有的不能够遗传。

  在生存斗争中,具有有利变异的个体,容易在生存斗争中获胜而生存下去。反之,具有不利变异的个体,则容易在生存斗争中失败而死亡。这就是说,凡是生存下来的 生物都是适应环境的,而被淘汰的生物都是对环境不适应的,这就是适者生存。达尔文把在生存斗争中,适者生存、不适者被淘汰的过程叫做自然选择。自然选择过程将物种变异定向地向着一个 方向积累,于是性状逐渐和原来的祖先不同了,可以说物种也因此得到优化了。

自然GA
环境优化问题
个体在环境中生存可行的解决方案
个体对周围环境的适应程度解的质量 (适应度函数)
生物体(物种)的种群一组可行的解决方案
自然进化过程中的选择、重组和突变随机运算操作
适应环境的种群进化对一组可行解迭代地应用一组随机算子

1.2 遗传算法vs. 自然进化

  遗传算法思想来源于生物进化过程, 它是基于进化过程中的信息遗传机制和优胜劣汰的自然选择原则的搜索算法(以字符串表示状态空间)。遗传算法用概率搜索过程在该状态空间中搜索,产生新的样本
​编辑

2. 基本遗传算法(SGA)

  基本遗传算法(Simple Genetic Algorithm : SGA)又称为简单遗传算法,使用选择算子、交叉算子和变异算子这三种基本的遗传算子,操作简单、容易理解,是其它遗传算法的雏形和基础。

  基本遗传算法由染色体编码方法、适应度函数和遗传算子三个主要要素组成,下面将对每个要素进行详细说明:

2.1 染色体编码

  染色体编码方法指将问题的解空间映射到染色体上的过程。通常采用二进制编码方法,将问题的解表示为一个二进制串。例如,在解决一个优化问题时,可以将每个解编码为一个二进制串,其中每一位代表一个决策变量的取值。除了二进制编码,还可以使用整数编码、浮点数编码或字符编码,根据问题的特性选择合适的编码方法。

点击【计算智能】遗传算法(一):基本遗传算法(SGA)理论简介 - 古月居 (guyuehome.com)可查看全文

http://www.lryc.cn/news/391054.html

相关文章:

  • win10系统让当前用户拥有管理员权限
  • Redis持久化的三种方式(RDB、AOF和混合)
  • Telnet发送get/post请求
  • PostgreSQL匹配字符串方法
  • Docker镜像加速配置
  • 【elementui】记录解决el-tree开启show-checkbox后,勾选一个叶结点后会自动折叠的现象
  • 用Vue3和Plotly.js绘制交互式3D烛形图
  • git上传文件
  • Redis 7.x 系列【16】持久化机制之 AOF
  • 使用 PostGIS 生成矢量图块
  • WebSocket 心跳机制如何实现
  • Docker 容器连接
  • 【C语言】continue 关键字
  • Taro + vue3 中微信小程序中实现拉起支付
  • 003-GeoGebra如何无缝嵌入到PPT里
  • AI:开发者的朋友还是对手?
  • 如何在Android Studio中查看APP客户端日志
  • 2024微信小程序期末大作业-点奶茶微信小程序(后端nodejs-server)(附下载链接)_微信小程序期末大作业百度网盘下载
  • Qt:4.信号和槽
  • Ubuntu20.04更新GLIBC到2.35版本
  • Qt 实战(7)元对象系统 | 7.1、简介
  • iOS 真机打包,证书报错No signing certificate “iOS Distribution” found
  • 2024年7月3日 (周三) 叶子游戏新闻
  • linux守护进程生命周期管理-supervisord
  • rtpengine_mr12.0 基础建设容器运行
  • 逐步深入:掌握sklearn中的增量学习
  • 【机器学习】机器学习与图像识别的融合应用与性能优化新探索
  • Unity射击游戏开发教程:(29)躲避敌人的子弹射击
  • SpringCloud Gateway 网关获取或修改接口响应数据
  • 【课程总结】Day13(上):使用YOLO进行目标检测