欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

组合搜索(combinatorial search)在算法求解中的应用

发布时间:2025/7/14 编程问答 40 豆豆
生活随笔 收集整理的这篇文章主要介绍了 组合搜索(combinatorial search)在算法求解中的应用 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1. 分治、动态规划的局限性

  • 没有合适的分割方式时,就不能使用分治法;
  • 没有合适的子问题或占用内存空间太大时,就不能用动态规划;

此时还需要回到最基本的穷举搜索算法。

穷举搜索(exhaustive search)会把生成答案的过程分为几个选择的过程,之后利用递归调用完成各个选择项,由此实现其目的。此时,所有子问题的答案和已完成答案的集合就是搜索空间(search space)。例如旅行商(TSP)问题,已访问过的各个城市的目录和当前位置就构成了搜索空间的 1 个元素。

但对穷举搜索而言,即使问题的规模只是略有增加,也将无法适用穷举搜索法。

穷举搜索法这种在有限的搜索空间内搜索出答案的算法命名为组合搜索

  • 穷举搜索;
  • 有限搜索空间:
    • 剪枝(pruning)
    • 尽早地求出适当解(proper solution),会改变搜索的顺序,或在搜索前使用贪心算法优先求出适当答案;

转载于:https://www.cnblogs.com/mtcnn/p/9423826.html

总结

以上是生活随笔为你收集整理的组合搜索(combinatorial search)在算法求解中的应用的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。