搜索算法策略

搜索算法策略

状态空间

image-20201023101840026

Example

八数码

image-20201023102021701

image-20201023102053978

image-20201023102109051

旅行商TSP

image-20201023102344748

image-20201023102406935

为了简化上述搜索过程以及避免盲目搜索,我们讨论启发式策略

启发式策略

image-20201023102554005

同样以八数码为例

image-20201023102944830

image-20201023103327946

A搜索算法

使用估价函数f的最佳优先搜索

image-20201023103601082

image-20201023103812241

image-20201023103911191

image-20201023103922708

A算法本质上就是在一般的树式搜索基础上添加了估价函数的一种启发式搜索算法

估价函数的作用仅仅是帮助确定结点的扩展,从而避免盲目搜索

A*搜索算法(最佳图搜索算法)

对A算法增加限制:对任一节点x均有 h(x)<= h*(x)

h(x)为启发函数,h*(x)为x到目标节点的实际最小代价

问题的与或图表示

与或图一般表示问题的变换过程

即将一个大问题通过逻辑变换不断分解成一个个小问题

类似递归的思想,下面一个例子以汉诺塔问题解释这种思想

ACEC50197EC20B61D25931D23D04A615

博弈树搜索

顾名思义,搜索的每次结点扩展遵循以下规则:

对于博弈双方A和B,树上每次结点的扩展按照对A最有利/最不利交替进行

359CD8ED0ACA3ADBE084D5680D8C01C1

1F9DAC18A0F2AE8331EC8D69304ABA1B

α-β剪枝

可以理解为短路逻辑,为了提高搜索效率,在生成博弈树的同时评估各节点的倒推值,若子节点的倒推值超出父节点的评估范围则不必再扩展该枝的其余子节点

8870BFC162E84D1A5596AA990D7E5BDB

原文地址:https://www.cnblogs.com/potofsalt/p/13863189.html