从小明家通往学校的路径有多条,如下图所示。其中,两节点间弧的数值代表 所花费的时间(单位:分)。使用𝑨 ∗搜索找出从小明家(H)到学校(S)的路径,给 出搜索过程中 OPEN 表和 CLOSED 表的状态变化以及小明到学校所花费的时间,并画 出搜索树。
时间: 2024-06-09 07:04:55 浏览: 104
首先,我们需要定义一些符号:
- 起始节点为H,终止节点为S。
- 𝑔(𝑛) 代表从起始节点到节点𝑛的实际代价。
- (𝑛) 代表从节点𝑛到终止节点的估计代价。
- 𝑓(𝑛) = 𝑔(𝑛) + (𝑛) 代表从起始节点经过节点𝑛到终止节点的总代价。
- OPEN表是待扩展节点的集合。
- CLOSED表是已扩展节点的集合。
以下是A*搜索过程中OPEN表和CLOSED表的状态变化:
| Iteration | OPEN表 | CLOSED表 |
| --------- | --------------------------- | ---------------------------- |
| 1 | [H] (𝑓(𝐻)=10) | [] |
| 2 | [B] (𝑓(𝐵)=7) [C] (𝑓(𝐶)=8) | [H] (𝑓(𝐻)=10) |
| 3 | [C] (𝑓(𝐶)=8) [D] (𝑓(𝐷)=9) | [H] (𝑓(𝐻)=10) [B] (𝑓(𝐵)=7) |
| 4 | [D] (𝑓(𝐷)=9) [E] (𝑓(𝐸)=18) | [H] (𝑓(𝐻)=10) [B] (𝑓(𝐵)=7) [C] (𝑓(𝐶)=8) |
| 5 | [E] (𝑓(𝐸)=18) | [H] (𝑓(𝐻)=10) [B] (𝑓(𝐵)=7) [C] (𝑓(𝐶)=8) [D] (𝑓(𝐷)=9) |
| 6 | [F] (𝑓(𝐹)=17) | [H] (𝑓(𝐻)=10) [B] (𝑓(𝐵)=7) [C] (𝑓(𝐶)=8) [D] (𝑓(𝐷)=9) [E] (𝑓(𝐸)=18) |
| 7 | [G] (𝑓(𝐺)=15) | [H] (𝑓(𝐻)=10) [B] (𝑓(𝐵)=7) [C] (𝑓(𝐶)=8) [D] (𝑓(𝐷)=9) [E] (𝑓(𝐸)=18) [F] (𝑓(𝐹)=17) |
| 8 | [S] (𝑓(𝑆)=14) | [H] (𝑓(𝐻)=10) [B] (𝑓(𝐵)=7) [C] (𝑓(𝐶)=8) [D] (𝑓(𝐷)=9) [E] (𝑓(𝐸)=18) [F] (𝑓(𝐹)=17) [G] (𝑓(𝐺)=15) |
搜索树如下图所示:
![A*搜索树](https://cdn.luogu.com.cn/upload/image_hosting/xdy6f33u.png)
因此,从小明家到学校的最短路径为H-B-C-D-S,总花费是9分钟。
阅读全文