是否存在利用内存提供更好解决方案的本地搜索算法?

人工智能 搜索 算法请求 爬山 本地搜索 模拟退火
2021-10-21 00:26:12

我一直在研究局部搜索算法,例如贪心爬山、随机爬山、模拟退火等。我注意到与系统搜索技术相比,这些方法中的大多数占用的内存非常少。

有没有使用内存的局部搜索算法比那些使用很少内存的算法(例如跨越局部最大值)给出更好的答案?

另外,有没有一种方法可以结合本地搜索和系统搜索算法来两全其美?

2个回答

您可以通过将全局空间划分为不同的区域/子集来并行化搜索。然后在每个区域应用本地搜索。通过这种方式,您可以系统地、更详尽地搜索全局空间,并且可能以不同的方式搜索(例如,通过对每个区域应用不同的局部搜索方法)。最后,您可以比较结果并选择最佳的。

禁忌搜索使用内存来排除局部搜索附近的部分区域,允许轨迹通常通过局部最优而不是陷入其中。