我了解禁忌搜索的工作原理,即它与爬山有何相似之处,但是会记住搜索空间中的点集。这被称为禁忌列表,因为算法试图避免它们。
然后我遇到了这句话,它可以是真也可以是假的:
“它使用内存数据结构来防止移动到搜索空间中以前访问过的点。”
这似乎是正确的......禁忌搜索如何使用“内存数据结构”?我知道它使用内存结构,但内存数据结构似乎是错误的。我是不是想太多了,还是因为数据结构可能完全意味着其他东西而感到疲倦是对的。
我了解禁忌搜索的工作原理,即它与爬山有何相似之处,但是会记住搜索空间中的点集。这被称为禁忌列表,因为算法试图避免它们。
然后我遇到了这句话,它可以是真也可以是假的:
“它使用内存数据结构来防止移动到搜索空间中以前访问过的点。”
这似乎是正确的......禁忌搜索如何使用“内存数据结构”?我知道它使用内存结构,但内存数据结构似乎是错误的。我是不是想太多了,还是因为数据结构可能完全意味着其他东西而感到疲倦是对的。
它需要记住什么是禁忌,因此需要将其存储在内存中的数据结构中。例如,我使用 LinkedList。
注意:制作“搜索空间中的访问点”禁忌不成比例。那是解决方案禁忌。其他形式的禁忌,例如 Move tabu(不再做同样的动作)、Entity tabu(不再移动同样的东西)和 Value Tabu(不再移动到相同的值)工作得更好,规模也更好。