上传者: 38691453
|
上传时间: 2021-12-05 16:49:04
|
文件大小: 503KB
|
文件类型: -
matlab广度优先算法代码人工智能搜索算法
搜索是AI中解决问题的通用技术。
这个项目将使您开始使用这些不同的算法:
蛮力搜索策略
广度优先搜索:它从根节点开始,先探索相邻节点,然后再向下一级邻居移动。
每次生成一棵树,直到找到解决方案。
可以使用FIFO队列数据结构来实现。
此方法提供了最短的解决方案路径。
缺点:由于保存了每个级别的节点用于创建下一个节点,因此它会占用大量内存空间。
存储节点的空间要求是指数级的。
(请参见代码:)
深度优先搜索:它是通过LIFO堆栈数据结构递归实现的。
它仅按不同顺序创建与“广度优先”方法相同的节点集。
缺点:该算法可能不会终止并在一条路径上无限进行。
解决此问题的方法是选择截止深度。
如果理想截止值是d,并且选择的截止值小于d,则该算法可能会失败。
如果选择的截止值大于d,则执行时间会增加。
(请参见代码:)
知情(启发式)搜索策略
星级搜索:这是“最佳优先”搜索的最著名形式。
它避免了扩展已经很昂贵的路径,而是首先扩展了最有希望的路径。f(n)=
g(n)+
h(n),其中:
g(n)到达节点的成本(到目前为止)
h(n)从节点到目标的估计成