知情和不知情搜索有什么区别?你能用一些例子解释一下吗?
答案 0 :(得分:15)
这是一个没有"信息的搜索"关于目标节点。
一个例子是广度优先搜索(BFS)。在BFS中,搜索继续前进一层。换句话说,首先在连续层中的节点之前访问同一层中的节点。执行此操作直到一个节点被扩展"是目标节点。在这种情况下,没有关于目标节点的信息用于访问,扩展或生成节点。
我们可以将盲目或穿制服的搜索视为蛮力搜索。
搜索"信息"关于目标。
此类算法的一个例子是A *。在该算法中,还使用关于目标节点的信息来访问和扩展节点。有关目标节点的信息由启发式函数(这是一个将目标节点的信息与状态空间的每个节点相关联的函数)给出。在A *的情况下,与每个节点n
相关联的启发式信息是对从n
到目标节点的距离的估计。
我们可以将知情搜索视为大约"指导"搜索范围。
答案 1 :(得分:6)
不知情的搜索是一种蛮力或“盲目”搜索。它不使用任何关于问题的知识,因此可能比知情搜索效率低。
不知情搜索算法的例子包括广度优先搜索,深度优先搜索,深度限制搜索,统一成本搜索,深度优先迭代深化搜索和双向搜索。
知情搜索(也称为“启发式搜索”)使用有关问题的先验知识(“领域知识”),因此可能比不知情的搜索更有效。
知情搜索算法的示例是最佳优先搜索和A *。
答案 2 :(得分:-1)
下面给出了穿制服搜索和知情搜索之间的区别:
统一搜索技术只能访问问题定义 而知情搜索技术可以访问启发式函数和 问题定义。
统一搜索效率较低,而知情搜索效率更高。