首页 > 其他分享 >【搜索】【模板】模拟退火

【搜索】【模板】模拟退火

时间:2024-07-22 09:18:37浏览次数:11  
标签:跳过去 概率 最小值 模拟退火 搜索 答案 Delta 模板

前置知识

自然对数、分数次幂、概率。

前言

模拟退火可以在我们想不到题目正解的时候试一试
其实就是骗分方法

因为纯随机得出正确答案的概率非常低,所以我们就可以加一定的优化,使找到答案概率增大。

算法思想

温度(步长):每次选择一个范围进行搜索,在搜索过程中范围不断缩小,最后到很小的时候就可以确定答案。有初始温度、终止温度和衰减系数三个概念。即初始温度 \(T_s\) 不断乘上一个系数最终到终止温度。一般衰减系数为 \((0, 1)\) 之间,一般越接近 \(1\) 越可能找到正确答案。

每次在一个区域内随机选择一个新点 \(v\),设当前点为 \(u\),然后将 \(f(u)\) 和 \(f(v)\) 比较,判断是否跳过去或者有概率跳过去。

比如找区间最小值:

假设 \(f(v) - f(u) = \Delta E\)。

如果 \(\Delta E < 0\),当前点一定不可选,\(u\) 跳到 \(v\)。

否则 \(\Delta E > 0\),有一定概率跳过去,因为我们要求出全局最小值,如果不跳,可能变成局部最小值,如果 \(\Delta E\) 越小,跳过去的概率越大。一般概率取 \(e^{-\frac{\Delta E}{T}}\),可以证明这个值在 \(0\sim 1\) 之间。

当 \(\Delta E\) 越来越逼近 \(0\),那么答案就可能稳定到最优解。

同时,为了降低错误概率,我们要多次执行上述过程,比如 100 次从不同的点开始做。

例题

MyBlog:AcWing 3167 / UVA10228 A Star not a Tree 题解

标签:跳过去,概率,最小值,模拟退火,搜索,答案,Delta,模板
From: https://www.cnblogs.com/Yuan-Jiawei/p/18315345

相关文章

  • 按值搜索 JSON
    我正在尝试使用Python按其值而不是其变量来搜索json。基本上:我想在.ajson文件中搜索字符串/第二个值并返回第一个值我正在制作一个速记游戏,我试图这样做,以便我可以按单词搜索笔划。例如:“TKPWRAOEUPBD”:“grind”我搜索“grind”,它返回“TKPWRAOEUPBD......
  • 【普及组】广度优先搜索BFS——到达型搜索问题_C++算法竞赛
    文章目录1.走迷宫例1.洛谷B3625迷宫寻路例2.洛谷P1825[USACO11OPEN]CornMazeS例3.[ABC348D]MedicinesonGrid(AtCoder)2.生活背景下的常见问题例.P3958[NOIP2017提高组]奶酪3.输出路径例.洛谷P6207[USACO06OCT]CowsonSkatesGEnd提示:本文建议有一定......
  • 【机器学习】FastGPT 知识库搜索测试功能解析
    本文以FastGPT知识库的搜索测试功能为入口,分析FastGPT的知识检索流程。一、搜索功能介绍1.1整体介绍搜索测试功能包含三种类型:语义检索、全文检索、混合检索。语义检索:使用向量进行文本相关性查询,即调用向量数据库根据向量的相似性检索;全文检索:使用传统的全文检索,适......
  • C++标准模板(STL)- 概念库 (C++20) - 指定一个类型派生自另一类型 - (std::derived_from)
    概念库提供基础语言概念的定义,它们能用于进行模板实参的编译时校验,以及基于类型属性的函数派发。这些概念在程序中提供等式推理的基础。标准库中的大多数概念一同加上了语法及语义要求。通常,编译器只能检查语法要求。若在使用点语义要求未得到满足,则程序为病式,不要求诊断。......
  • 爱思唯尔模板 LATEX 表格标题左对齐
    爱思唯尔模板LATEX表格标题左对齐1.问题描述2.解决方法1.问题描述若出现表格标题如下居中形式,想要变成左对齐的形式。2.解决方法在\begin{document}前面加上\usepackage[font=small,labelfont=bf,labelsep=none]{caption}\captionsetup[table]{labelforma......
  • 神经架构搜索:目标检测的未来
    神经架构搜索:目标检测的未来在深度学习领域,神经架构搜索(NeuralArchitectureSearch,NAS)是一种自动化设计神经网络结构的技术。它通过机器学习的方法来探索最优的网络结构,从而提高模型的性能。在目标检测任务中,NAS的应用尤为显著,因为它可以帮助研究人员和开发者快速找到适......
  • 文本搜索工具grep
    grep 是一个强大的文本搜索工具,广泛用于Unix和Linux系统中,用于搜索包含指定模式的行。它支持多种参数,可以帮助你定制搜索行为。以下是一些常用的 grep 参数:###基本参数-**-i**:忽略大小写。-**-v**:反向匹配,显示不匹配的行。-**-c**:计数匹配行的数量,而不是显示匹配的......
  • 如何使用Python进行“google”“bing”“yahoo”搜索?
    我一直在谷歌上搜索要使用的API,但它们似乎都已弃用或不再使用。还有其他方法可以进行搜索并获取结果吗?我的目标是“重新创建”|||盲目搜索但我将使用一组预定义的术语来使用python进行搜索,而不是用户输入术语。感谢您的任何输入!Thanksforanyinput!......
  • Flask 应用程序在路线中搜索的结果返回上一个
    我很长一段时间都无法处理它。当我在地址-http://127.0.0.1:5000/search?key=mySearch中尝试第二个搜索(mySecondSearch)时,它会返回上一个搜索(mySearch)(但查询有效-我获取带有键mySecondSearch的列表的模板)如何获取带有与我的请求相关的键的地址......
  • 代码随想录算法训练营第十七天 | 530.二叉搜索树的最小绝对差 、 501.二叉搜索树中的
    530.二叉搜索树的最小绝对差 题目:.-力扣(LeetCode)思路:中序遍历搜索二叉树,使用双指针来计算绝对值。代码:/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode():val(0),......