启发式和元启发式有什么区别?

2024-01-29

经过对算法的一些研究后,我发现了两个令我困惑的术语。 我读过至少 20 篇论文,但都没有任何明确的定义。 我希望有人能帮助我区分启发式算法和元启发式算法之间的区别。 如果可能的话,添加它的来源。

ps:我已经知道这些词的含义,但我不知道它们在计算机科学中的确切区别是什么。

提前致谢


您可以将启发式视为问题的近似(非近似)解决方案。近似和近似之间的区别在于,第一个近似是对问题的解决方案进行良好的猜测,但您并不真正知道它有多好。第二个是关于获得一个解决方案,您可以证明它与最佳解决方案的接近程度。

因此,启发式方法通常取决于问题,也就是说,您可以为给定问题定义启发式方法。元启发法是与问题无关的技术,可以应用于广泛的问题。例如,启发式方法是在快速排序中选择一个随机元素进行旋转。元启发法对其将要应用的问题一无所知,它可以将函数视为黑匣子。

您可以说启发式方法利用与问题相关的信息来找到特定问题的“足够好”解决方案,而元启发式方法与设计模式一样,是可以应用于广泛问题的通用算法思想。

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

启发式和元启发式有什么区别? 的相关文章

  • 如何在 Windows 7 上查找 MAC 地址? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我可以使用命令找到我的机器的MAC地址ipconfig all在命令提示符下 网络上到处都说物理地址是MAC地址 这是命令的结果ipcon
  • 如何编写一个函数来比较多组布尔(真/假)答案并对其进行排名?

    我已经开始了一个项目 事实证明它比我最初想象的要复杂得多 我正在尝试规划一个基于布尔 真 假 问题和答案的系统 系统上的用户可以回答大量布尔 真 假 问题中的任何问题 并根据他们的答案看到一个显示最相似用户 按相似度顺序排列 的列表 我在谷
  • 选择 Java Collection 实现的经验法则?

    在 Java Collection 接口 如 List Map 或 Set 的不同实现之间进行选择时 有人有一个好的经验法则吗 例如 通常为什么或在什么情况下我更喜欢使用 Vector 或 ArrayList Hashtable 或 Has
  • 大 O 包含两个相乘的变量

    如果我采用该功能 def nested multiplier a b returns a b count 0 for i in range a for j in range b count 1 return count 这里相当清楚的是 就
  • UTF-8 与 UTF-16 和 UTF-32 转换混淆

    我对将 unicode 字符转换为十六进制值感到有点困惑 我正在使用这个网站来获取字符的十六进制值 https www branah com unicode converter https www branah com unicode co
  • 什么是“补码”?

    我正在学习计算机系统课程并且已经挣扎 部分地 与二进制补码 http en wikipedia org wiki Two 27s complement 我想理解它 但我读过的所有内容都没有为我提供完整的图片 我读过维基百科文章 http e
  • 当网格地图中有多个目标时,如何设计A*的启发式?

    我面临一个问题 我必须使用 A 来搜索地图 并且该地图中有多个目标需要达到 我的目标是扩展地图中的最少节点 关于如何设计这个 A 算法的启发式有什么想法吗 谢谢 假设 多个目标 是指您想要实现的目标any one 只需取所有启发式中的最小值
  • 推理 Big O 的正式定义时遇到一些困难

    我的教授最近回顾了 Big O 的正式定义 老实说 即使他向几个不同的学生解释了它 我们似乎仍然没有理解它的核心 理解上的问题主要出现在我们经历的以下例子中 到目前为止 我的推理如下 当您将函数的最高项乘以常数时 您会得到一个新函数 该新函
  • 实现这个复合 GetHashCode() 的最佳方法是什么

    我有一个简单的课程 public class TileName int Zoom X Y public override bool Equals object obj var o obj as TileName return o null
  • PacMan:主要使用哪些启发式方法?

    除了 A BFS DFS 等之外 Pacman 中还广泛使用其他哪些好的寻路算法 启发式算法 如果吃豆人可以找到不止一种水果 我认为我提到的那些不会起作用 我需要一些好的寻路算法 PacMan 可以使用它们以尽可能少的步数完成迷宫 我试图四
  • 使用信号量实现 N 进程屏障

    我目前正在为之前迭代的操作系统考试进行培训 我遇到了这个 实施 N 进程屏障 即 是 确保每个流程都完成 他们中的一群人在某个时刻等待着 点在其各自的执行中 对于 其他进程达到他们的 给定点 您有以下内容 可用操作 init sem val
  • 求数组中绝对差值之和最小的一个数

    例如 array a 1 1 10 我们需要找到 x 这样 x 1 x 1 x 10 是最小值 这里 x 是 1 可以用贪心的方法解决吗 比如取平均值或其他方法 注意 取平均值不起作用 why 我只能想出O nlogn 解决方案 二分搜索
  • 对于定点组合器 Y,什么是 \x.f(xx)

    对于 Y 组合子定理 For every function F there exists an X such that FX X 什么是F意思是这里 固定点是什么F x x 1 我的理解是x 1 x没有解决办法吗 对于下面的证明 For a
  • 线性冲突违反了可受理性,让我发疯

    当两个棋子tj和tk发生线性冲突时 如果tj和tk在同一行 则tj和tk的目标位置都在该行上 tj在tk的右侧 tj的目标位置在左侧tk 的目标位置 线性冲突迫使两个冲突图块相互包围 从而使它们的曼哈顿距离至少增加两步 因此 启发式函数将为
  • 在 RAFT 中,是否有可能对某个日志条目达成多数共识,但该条目尚未提交?

    考虑一下官方的这个模拟筏网页 https raft github io Why is term 2 index 1尽管没有承诺S2 leader S3 and S4同意日志吗 我运行了几分钟以确保所有通信均已完成 奇怪的是 如果我再添加一个
  • 将一个字符串更改为另一个字符串的简单突变数量?

    我相信你们都听说过 文字游戏 在这种游戏中 您试图通过一次更改一个字母来将一个单词更改为另一个单词 并且只浏览有效的英语单词 我正在尝试实现一个 A 算法来解决它 只是为了充实我对 A 的理解 并且需要的东西之一是最小距离启发式 也就是说
  • 现代 x86 CPU 使用什么缓存一致性解决方案?

    我对缓存一致性系统在现代多核 CPU 中的功能有些困惑 我已经看到基于侦听的协议 例如基于 MESIF MOESI 侦听的协议 已在 Intel 和 AMD 处理器中使用 另一方面 基于目录的协议对于多核来说似乎更加高效 因为它们不广播而是
  • 根据索引查找金字塔的行?

    给定一个像这样的金字塔 0 1 2 3 4 5 6 7 8 9 并给出金字塔的索引i where i代表i金字塔的第一个数字 有没有办法找到金字塔的行的索引i第一个元素属于 例如 如果i 6 7 8 9 它位于第 3 行 从第 0 行开始
  • 使用动态编程理解正则表达式字符串匹配

    我遇到了这个问题 要求您实现一个支持 的正则表达式匹配器 和 其中 匹配任何单个字符 匹配零个或多个前面的元素 isMatch aa a false isMatch aa aa true isMatch aaa aa false isMat
  • 什么是拉姆达?

    有人可以很好地描述什么是 Lambda 吗 我们为它们设置了一个标签 它们涉及 C 问题的秘密 但我还没有找到一个很好的定义和解释来解释它们是什么 闭包 lambda 和匿名函数不一定是同一件事 匿名函数是任何没有 或者至少不需要 自己名称

随机推荐

  • 如何在jquery回调函数中重定向到新页面

    我正在使用 jquery 和 servlet 开发一个应用程序 我一直在我的 Login jsp 中使用 jquery 主题滚轮作为界面
  • 从中继器中的文本框获取值 asp.net c#

    我已经尝试让它工作几个小时了 但谷歌没有任何东西可以帮助我解决问题 我有一个非常简单的中继器控件
  • 使用 tumblrs 官方 php 客户端获取 oauth 令牌

    这是我第一次使用 api 和 oauth tumblr 有一个PHP客户端 https github com tumblr tumblr php 我已经下载并安装了composer客户端 这是他们设置客户端所必须的代码 client new
  • Git:合并一个分支但没有一些我只需要在本地修改的文件?

    我有这个特殊的场景 这确实很简单 但我 到目前为止 没有在这里看到类似的问题 我正在从远程存储库复制的我自己的分支中工作 并且我已将自己的任务添加到卡皮斯特拉诺 卡菲莱 这些任务只会帮助我将应用程序部署到我自己的私人服务器 因此当需要将我的
  • 向行添加条目以使其统一

    我有一个csv包含日期 repair id 现场维修次数和异地维修次数的文件 以便我的数据如下所示 data repair id num onsite num offsite 2016 02 01 A 3 0 2016 02 01 B 2
  • Owl-Carousel2 - 设置点数据

    我需要在猫头鹰旋转木马中设置自定义点 我在 JS 中有这样的代码 document ready function header slider owlCarousel loop true autoplay true autoplayTimeo
  • Angular 6 后续:选项值中的 [attr.disabled] 禁用所有条目

    主题 Angular 6 反应式表单 下拉菜单 禁用一个选项 即使检查员说disabled false 所有而不是仅一个预期值都被禁用 人们之前非常友善地帮助我解决了我的问题 Angular 6 Reactive Form 选择选项 禁用之
  • Filepicker.io Web - 禁用内联样式

    我在为网络设计 filepicker io 小部件时遇到一些麻烦 特别是filepicker dragdrop 有什么方法可以禁用内联样式并将其替换为类吗 就像是data fp disable styles或者也许在使用时data fp d
  • 如何强制 Swift 可选数组(很好)

    使用斯威夫特 2 1 我正在寻找一种好方法将非可选类型数组分配给可选类型数组 其中类型相同 以下是我尝试过的一些方法 var foos Int let bars Int foos bars Error Cannot assign value
  • 红宝石中的“$:”是什么?

    通常可以在 gemspec 文件中看到 例如 i18n gemspec https github com svenfuchs i18n blob master i18n gemspec lt lt File expand path lib
  • 硒等待两个元素之一出现

    很多时候我希望网络驱动程序等待两个元素之一的存在 通常 当我期望页面在某些情况下显示元素 1 或元素 2 时 就会发生这种情况 目前 我正在使用两次等待顺序执行此操作 但效率很低 因为我需要等待 2 次 有什么办法可以将两种等待合二为一吗
  • 使用 LINQ 将数据插入到使用序列作为主键生成器的表中

    我有一个表 它根据序列生成主键 从 0 开始计数 CREATE TABLE dbo testTable id int NOT NULL a int NOT NULL CONSTRAINT PK testTable PRIMARY KEY C
  • 如何将 Z3 与 C++ 结合使用

    我想将 Z3 与 C 一起使用 并且我遵循了安装指南 使用 Visual Studio 命令提示符在 Windows 上构建 Z3 https github com Z3Prover z3 building z3 on windows us
  • Webmatrix 布局——插入头部?

    我使用 Asp Net 和 Razor 视图引擎创建了一个网站 与使用 WebMatrix 相同 到目前为止 我一直在使用 SQL 直接查询数据库 但现在我有一个页面需要查询返回 XML 的 WCF 服务 让它返回 JSON 或 ODATA
  • 在 SQLAlchemy 中使用 declarative_base 时,如何根据需要绑定引擎?

    这是我的代码 from sqlalchemy import create engine Column Integer from sqlalchemy ext declarative import declarative base from
  • 如何在 postgresql 中找到列中的最大值?

    例如 name weight jon 100 jane 120 joe 130 如何只返回权重最大的人的名字 SELECT name FROM tbl ORDER BY weight DESC LIMIT 1 比其他答案性能更高 并且仅产生
  • 2013 年我应该使用 HTML5 编写我的网站吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 验证日期模式

    我需要一个 javascript 方法来验证日期模式 如下所示 2012 年 1 月 14 日 到目前为止 我不确定该模式使用哪个正则表达式 因为它不是标准日期 例如 14 01 2012 或 01 14 2012 或 01 04 2012
  • 为什么 jqueryUI datepicker 会抛出错误?

    我正在尝试 jqueryUI 但 firebug 在该脚本上捕获以下错误 function date datepicker 萤火虫错误如下 date datepicker is not a function 在我的 html 上 日期 id
  • 启发式和元启发式有什么区别?

    经过对算法的一些研究后 我发现了两个令我困惑的术语 我读过至少 20 篇论文 但都没有任何明确的定义 我希望有人能帮助我区分启发式算法和元启发式算法之间的区别 如果可能的话 添加它的来源 ps 我已经知道这些词的含义 但我不知道它们在计算机