zoukankan      html  css  js  c++  java
  • 组合搜索(combinatorial search)在算法求解中的应用

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

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

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

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

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

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

    • 穷举搜索;
    • 有限搜索空间:
      • 剪枝(pruning)
      • 尽早地求出适当解(proper solution),会改变搜索的顺序,或在搜索前使用贪心算法优先求出适当答案;
  • 相关阅读:
    pwndbg + gdb8.2 + kali (2018-10-09)爬坑
    关于EOF
    ARM的PC和LR寄存器
    存档,IE漏洞,一直不会分析
    QQProtect.sys漏洞真有意思
    问题
    gapz注入代码
    Spring JdbcTemplate批量操作数据库
    消息中间件MQ基础理论知识
    Spring4.3.1 JDBCTemplate操作数据库
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9423825.html
Copyright © 2011-2022 走看看