【人工智能】—Admissible Heuristics可容许启发式函数
创始人
2025-06-01 05:31:45
0

【人工智能】—Admissible Heuristics可容许启发式函数

  • 如何选择启发式函数
  • 如何评价启发式函数
  • 松弛操作
  • 评价函数f(n)

如何选择启发式函数

  • 对8数码问题来说:
    • h1(n)h_1(n)h1​(n) = number of misplaced tiles(错位的棋子数)
    • h2(n)h_2(n)h2​(n) = total Manhattan distance(所有棋子到其目标位置的水平竖直距离和)
      (i.e., no. of squares from desired location of each tile
    • 如下起始状态与结束状态
      在这里插入图片描述在这里插入图片描述
    • 在上述两个启发式函数下,对到达目标状态的估计耗散为:h1(S)=8h_1(S)= 8h1​(S)=8
      h2(S)=3+1+2+2+2+3+3+2=18h_2(S) = 3+1+2+2+2+3+3+2 = 18h2​(S)=3+1+2+2+2+3+3+2=18

如何评价启发式函数

  • If h2(n)≥h1(n)h_2(n) ≥ h_1(n)h2​(n)≥h1​(n)for all n (both admissible)
  • then h2h_2h2​ dominates h1h_1h1​ (dominate 统治、占优)即h2h_2h2​ 优于h1h_1h1​
  • h2h_2h2​ is better for search
  • 典型的搜索成本(扩展的平均节点数):
  • d=12
    • IDS = 3,644,035 nodes(迭代加深深度优先搜索)
    • A∗(h1)A^*(h_1)A∗(h1​) = 227 nodes
    • A∗(h2)A^*(h_2)A∗(h2​) = 73 nodes
  • d=24
    • IDS = too many nodes
    • A∗(h1)A^*(h_1)A∗(h1​)= 39,135 nodes
    • A∗(h2)A^*(h_2)A∗(h2​) = 1,641 nodes
  • 给定任何可容许的启发函数ha,hbh_a,h_bha​,hb​h(n)=max(ha(n);hb(n))h(n)=max(h_a(n);h_b(n))h(n)=max(ha​(n);hb​(n))
    也是可容许的并且dominatesha,hbh_a,h_bha​,hb​
  • 使用 评价函数f(n)=g(n)+h(n)f(n) = g(n) +h(n)f(n)=g(n)+h(n)搜索
    • h(n)=错放数字个数
    • g(n) = 节点深度
    • 结果如下:在这里插入图片描述

松弛操作

  • 有些复杂问题不能像上面一样直观的得到启发函数,此时就要考虑松弛操作
  • 如下移动三角至目标位置在这里插入图片描述
  • 这里在有障碍物的情况下,很难得到一个满足要求(预估耗散永远不会大于实际耗散)启发式函数,因此在这里考虑一个更简单情况,使用更简单情况下的实际耗散作为启发式函数,这样就可以保证估计耗散不会大于实际耗散,启发式函数采用起点到终点的曼哈顿距离在这里插入图片描述
    因此,这里可以将松弛操作理解为去除问题中的部分约束、限制
  • 构造松弛问题
    • 原问题:一个棋子可以从方格A移动到方格B,如果A与B水平或者垂直相邻而且B是空的
    • 松弛1:一个棋子可以从方格A移动到方格B,如果A与B相邻 — h2
    • 松弛2:一个棋子可以从方格A移动到方格B,如果B是空的
    • 松弛3:一个棋子可以从方格A移动到方格B —h1
  • 如果有一个可采纳启发式的集合h1,…,hm{h_1 ,…, h_m }h1​,…,hm​
    h(n)=max(h1(n),…,hm(n))h(n) = max(h_1(n),…, h_m(n))h(n)=max(h1​(n),…,hm​(n))可采纳并比成员启发式更有优势

评价函数f(n)

  • h(n) — heuristic, estimate of cost from n to the closest goal
    (节点n到目标节点的最低耗散路径的耗散估计值)
  • g(n) — path cost to n (初始节点到这个节点的路径损耗的总和)
  • Possible evaluation functions:在这里插入图片描述估计通过节点n的解决方案路径的总成本

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...