我一直在研究局部搜索算法,例如贪心爬山、随机爬山、模拟退火等。我注意到与系统搜索技术相比,这些方法中的大多数占用的内存非常少。
有没有使用内存的局部搜索算法比那些使用很少内存的算法(例如跨越局部最大值)给出更好的答案?
另外,有没有一种方法可以结合本地搜索和系统搜索算法来两全其美?
我一直在研究局部搜索算法,例如贪心爬山、随机爬山、模拟退火等。我注意到与系统搜索技术相比,这些方法中的大多数占用的内存非常少。
有没有使用内存的局部搜索算法比那些使用很少内存的算法(例如跨越局部最大值)给出更好的答案?
另外,有没有一种方法可以结合本地搜索和系统搜索算法来两全其美?
您可以通过将全局空间划分为不同的区域/子集来并行化搜索。然后在每个区域应用本地搜索。通过这种方式,您可以系统地、更详尽地搜索全局空间,并且可能以不同的方式搜索(例如,通过对每个区域应用不同的局部搜索方法)。最后,您可以比较结果并选择最佳的。
禁忌搜索使用内存来排除局部搜索附近的部分区域,允许轨迹通常通过局部最优而不是陷入其中。