【基于随机化的非确定性算法】模拟退火学习笔记

2023-11-11

暑假zky学长讲了模拟退火,现在正式来更一发学习笔记.
这次不口胡直接正文!

—————————————– > w < 线 割 分 是 我 —————————————————

模拟退火(Simulated Annealing,简称SA)是一种通用概率算法,用来在一个大的搜寻空间内找寻命题的最优解。

这是小学生百科给的定义.
然后后面扯了一大堆什么和冶金学相关…
我觉得小学生百科说的东西都并没有什么卵用…

一句话概括:其实模拟退火就是随机化的贪心.
有一种贪心算法叫爬山算法.
我们把答案数值的分布画出图像,可以看出是连绵不断的山峰的形状.
爬山算法就是在一个点单纯的选择两边的某个更优解,然后直到走到一个山峰.
很显然这样会陷入局部最优解而得不到全局最优解.

那么模拟退火就借助随机化的手段,每次我们面临更优解和较劣解的选择时并不会直接选择最优解,而是会以一定概率来接受那个较劣解,这样就可以跳出局部最优解而访问到全局最优解.
这个概率在模拟退火中叫做“温度”.就像冶金一样,这个概率随着算法的运行是不断降低的.大概是随着算法的运行每次乘一个rate(通常是0.99,0.98,0.97…).
写模拟退火的时候最痛苦的就是调这个rate(据说)

算法的初始温度设定应当足够大.
需要注意的是:对于新产生的解,如果它更优,那么算法是一定接受这个解的,只是对于较劣解才会使用概率.

最后当这个概率小于一定值,我们就退出算法,认为当前解就是最优解.

泥问我这东西的正确性和复杂度?
我都不知道啊QAQ

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【基于随机化的非确定性算法】模拟退火学习笔记 的相关文章

  • conda虚拟环境中安装和使用指定opencv-C++版本

    1 进入conda环境 conda activate 虚拟环境名称 2 查看conda可以安装的opencv版本 conda search opencv 3 安装opencv 这里安装4 5 3版本 conda install opencv
  • 【HarmonyOS】如何实现应用内引用HSP模块中ArkUI组件

    关键字 HSP开发 引入HSP模块中ArkUI组件 写在前面 在使用ArkTS开发HarmonyOS应用时 通常会定义一些公共组件或公共接口功能 此时可以将这些功能封装到HSP模块中 然后通过在HSP模块中导出组件或接口方式在其他模块中引用
  • 数据库的基础学习

    数据库对于程序员来说是一个必备的技能 我也开始了数据的学习 看的教程比较老 是郝斌的sqlsever基础教程 用的数据库是sqlsever2008 说起数据库 之前仿照的医药项目已经开始陆陆续续接触到了 所以也去3wschool上补过一些常
  • Queue(单项队列)和Deque(双端队列)的知识点整理

    1 Queue 单向队列 1 1 定义 常见队列就是FIFO 先进先出 队列 可以实现前端删除 peek pop from front 后端添加 push to back 的功能 1 2 实现 既可以用数组 顺序队列 也可以用链表 链式队列
  • shell中的三种引号

    元字符 指在shell中有特殊含义的字符 lt gt 双引号 消除元字符的特殊含义 除 三个字符外 均当作普通字符处理 单引号 除单引号自身外 都当作普通字符来处理 可以使用 来消除单引号的特殊语义 单引号 命令替换 将一个命令的输出作为另
  • ChatGPT影响大学生思想行为模式的三个维度

    ChatGPT作为新一代AI技术的代表 深刻嵌入并影响着大学生的日常学习和生活场景 其在提升学习研究效率 拓宽认知阈限 重塑人机互动模式等方面带来极大突破 也会对大学生的思想行为模式产生潜在的影响 这些影响可以从个体 关系与社会三个维度进行
  • 北师大19秋计算机在线1,北师19秋《专科英语(二)》在线作业1【满分答案】

    可做奥鹏全部院校作业论文 答案请添加qq 599792222 或 微信 1095258436 19秋 专科英语 二 在线作业1 试卷总分 100 得分 100 一 单选题 共 60 道试题 共 60 分 1 around all over
  • ctfshow CRYPTO RSA

    ctfshow CRYPTO RSA babyrsa easyrsa1 easyrsa2 easyrsa3 easyrsa4 easyrsa5 easyrsa6 easyrsa7 easyrsa8 babyrsa 先看txt 直接上脚本 i
  • Android绘制虚线

    Android绘制虚线的两种方式 1 自定义view 看到网上很多人说用drawLine绘制 但是其实根本就没有效果 真正效果的是drawPath这个方法 话不多说直接上代码 public class DotView extends Vie
  • 【云原生之Docker实战】使用docker部署mkdocs项目文档工具

    云原生之Docker实战 使用docker部署mkdocs项目文档工具 一 mkdocs介绍 1 mkdocs简介 2 mkdocs特点 二 检查本地环境 1 检查docker版本 2 检查docker状态 3 检查系统版本 三 下载mkd
  • VUE 开发使用的一些表格框架

    Vue 开发中使用的框架 表格 1 http www quasarchs com 2 https vxetable cn table start install
  • Spring Boot 实现 WebSocket 示例

    什么是 WebSocket WebSocket协议提供了一种标准化的方法 通过单个TCP连接在客户机和服务器之间建立全双工 双向的通信通道 它是一种不同于HTTP的TCP协议 但被设计为在HTTP上工作 使用端口80和443 并允许重用现有
  • 电量优化与网络优化

    一 Doze低电耗模式 未充电 屏幕熄灭 让设备在一段时间内保持不活动状态 延迟应用的后台 CPU 和网络活动 从而降低耗电量 二 Standby待机模式 应用待机模式会延迟用户近期未与之交互的应用的后台网络活动 三 白名单 系统提供了一个
  • JS工具库之正则规则校验

    1 内置了一些校验规则 如是否手机号 邮箱号 URL等 这些规则方法 写在test js下面 如验证是否手机号 test mobile 13888889999 如果验证通过 返回true 否则返回false 例子1 是否验证码 校验是否验证
  • 信息熵到底是什么

    信息是我们一直在谈论的东西 但信息这个概念本身依然比较抽象 在百度百科中的定义 信息 泛指人类社会传播的一切内容 指音讯 消息 通信系统传输和处理的对象 但信息可不可以被量化 怎样量化 答案当然是有的 那就是 信息熵 早在1948年 香农
  • ubantu环境下IDA pro运行时碰到某些so找不到的问题

    最近帮组员解决IDA的问题 做个记录 问题 执行启动idea时出现报错 IDA Pro idaq64 报错如下 idaq64 error while loading shared libraries libgthread 2 0 so 0

随机推荐

  • 基于opencv中HOG+SVM的车轮识别及predict()函数的改进

    前言 opencv中HOG SVM已经是一个相对成熟的环境 只是在满足兼容性的条件下会牺牲很大的时间开销 在训练部分未做改进 只是对detectMultiScale 中的predict进行改进 其中HOG特征计算请参考 http blog
  • Oracle恢复删除的数据

    不下心删除了生产库的数据或者不小心删除了一部分数据 如何恢复找回 Oracle恢复删除数据的方法 方案一 利用oracle提供的闪回方法进行数据恢复 适用于delete删除方式 首先获取删除数据的时间点 select from v sql
  • C++_模板函数

    参考以下大佬博客 参考1 参考2 参考3 参考4 参考5 我们为什么需要模板 同样的函数 我们要为不同的参数类型写不同的版本 程序的逻辑是一模一样的 只是他们的类型是不一样的 如下 void Swap int x int y int tmp
  • ARM嵌入式体系架构(理论篇)

    基础知识 1 电路中的逻辑状态 0代表的是低电平 1代表高电平 2 半导体元开关 1 二极管 单向导通性 普通二极管 发光二极管 光敏二极管 稳压二极管 2 三极管 开关特性 C 集电集 B 基集 E 发射集 PNP型 电流方向从E极流向C
  • keil报错:No Target connected+Error: Flash Download failed - Target DLL has been cancelled四种可能

    一 供电 板子一定要供电 二 ST LINK是否接触不良 确保ST LINK跟板子连接完好 三 按住reset点击download 硬件和接线都没问题情况下 这时候可能是SWD的引脚被占用了 或者被禁用了 这时候ST LINK自然无法通过S
  • MySQL01

    课程回顾 数据库相关sql 查询所有 show databases 创建 create database db1 charset utf8 gbk 查看数据库信息 show create database db1 删除数据库 drop da
  • 使用Navicat插入数据时报错1062 - Duplicate entry ‘menu544073941‘ for key ‘PRIMARY‘

    gt 报错 1062 Duplicate entry menu544073941 for key PRIMARY gt 原因 数据库表在设计时 没有设置id主键自增 而要插入的这条数据id在表中已经存在 存在冲突 gt 解决 lt 2种 g
  • 常见的测试用例设计方法7---因果图法

    目录 一 因果图法的定义 二 因果图法的意义 三 因果图法的适用场合 四 因果图法的表示 五 因果图法的四种关系 六 因果图的基本约束 七 因果图的分析步骤及案例 一 因果图法的定义 因果图法是一种利用图解法分析输入的各种组合情况 从而设计
  • Understand Spring Security Architecture and implement Spring Boot Security

    In this tutorial we will be looking at how Spring Security works and its architecture We will be creating a Spring Boot
  • 谷歌浏览器设置黑暗模式

    方法一 在chrome的实验性功能中开启黑暗模式 1 打开Google Chrome 在地址栏中输入 chrome flags 回车 进入实验性功能页面 2 在搜索框中搜索 Auto Dark Mode for Web Contents 3
  • linux audit原理,Wauzh原理简析及audit规则风险评估

    HIDS基本原理 熟悉HIDS的朋友应该了解 服务器的shell监控一般有两种 一种依靠Linux的audit审计功能 比如Wazuh 一种是重编译和替换bash二进制文件 将shell上执行的命令实时通过socket传递到服务端 前一种方
  • Python设备和C语言设备通信(使用openmv、单片机、树莓派、K210等等设备的通信)

    文章目录 前言 数据类型和编码格式 发送单个字符 发送单个整形 发送字符 数字 总结 避坑 前言 通信无疑是做项目最常用到的一部分内容 如Openmv K210 树莓派等经常需要将其检测到的目标物体的坐标发送给单片机去处理 本文将记录几种最
  • c语言初学者if语句例子,if语句(初学者)

    用if语句可以构成分支结构 它根据给定的条件进行判断 以决定执行某个分支程序段 C语言的if语句有三种基本形式 1 基本形式 if 表达式 语句 其语义是 如果表达式的值为真 则执行其后的语句 否则不执行该语句 其过程为 例 include
  • svn 添加用户名密码

    http blog csdn net xiangshuai198807
  • TortoiseGit的使用

    目录 1 Concept 2 用Git Submodule方式将SDK链接到FW TLC仓库中 2 1 日常开发使用说明 2 2 将SDK提升为项目 RD无需关注 3 gitlab远程子仓库配置为SSH 3 1 Flow 3 2 Q A 4
  • windows操作系统基础知识 API+DLL

    windows操作系统 1 Win API简介 API Application Programming Interface 应用程序接口 API函数构筑了整个windows框架的基石 下面是操作系统的操作系统的核心 而它上面则是window
  • FlutterUI(二)Canvas 与 Paint

    Flutter自定义控件分为三大类 组合控件 通过组合其他widget成为一个新的widget 自绘控件 通过使用canvas与paint来完全绘制 继承widget 使用RenderObject来绘制 但最终还是使用canvas来绘制 本
  • 看透react源码之感受react的进化

    写在前面 网上有许多关于react源码解读的文章 其中有很多都只是单纯贴源码 罗列变量名 其实大家都知道这个英文怎么读 直译也大概知道意思 但是这个英文在react中起到什么作用 并没有说的很通俗明白 对于刚刚接触源码或者想要了解react
  • VMware16调整了路径后界面全部变成了英文

    VMware调整了安装的路径后 界面全部变成了英文 查询了messages下的设置没发现问题 依然有zh CN 检查了本机的 区域设置 改回 中国 再启动VM 但是还是英文的 在 控制面板 卸载程序 运行VM后 进行更改 完成后恢复成中文
  • 【基于随机化的非确定性算法】模拟退火学习笔记

    暑假zky学长讲了模拟退火 现在正式来更一发学习笔记 这次不口胡直接正文 gt w lt 线 割 分 是 我 模拟退火 Simulated Annealing 简称SA 是一种通用概率算法 用来在一个大的搜寻空间内找寻命题的最优解 这是小学