人工智能

A* 的最优性证明:可采纳与一致性

导读:Russell 与 Norvig 第 3 章的搜索算法家族里,A* 的地位来自两条定理:可采纳启发式保证最优,一致性保证首次扩展即最优。

A* 与评价函数

评价函数等于已花代价加启发式估计。可采纳启发式(不高估剩余代价)保证 A* 树搜索最优;一致启发式(满足三角不等式且目标处为零)保证图搜索(closed list 剪枝)也最优。

直觉:评价函数是必经该节点的解的成本下界。最优解上任何节点其值不超过最优解成本,超过者可以安全丢弃——A* 就是在用这个下界做有序展开。

启发式的质量学

支配关系:处处更大且仍可采纳的启发式展开节点不多于较小的。有效分支因子是衡量启发式实力的实操指标。

启发式设计三源:问题松弛(滑块问题少一个约束即代价可忽略的下界问题)、子问题模式数据库(PDB)、双向搜索交集。可采纳启发式取最大值组合仍保可采纳。

工程谱系

内存紧张:IDA*(迭代加深)或 SMA*。均匀代价(每步同代价):Dijkstra 即零启发式的 A*。地图寻路的跳点搜索与层级规划是领域加速;状态空间巨大且无可采纳启发式时转向 MCTS(第 5 章的蒙特卡洛树搜索)。

常见误区

  • 图搜索(closed list)配仅可采纳(非一致)的启发式,可能错过最优路径。
  • 启发式凭直觉高估(不可采纳)后仍在宣称找最优。

吃透自检

  • 能证明一致则可采纳并给出反例说明逆命题不真
  • 能推导 A* 最优性(一致性情形)
  • 能从问题松弛构造一个可采纳启发式

← 人工智能 书目精读列表 经典研读