遗传编程在分类与算法设计中的应用
1. 元启发式与超启发式算法概述
1.1 启发式算法
启发式算法通常指用于解决特定类型问题的“经验法则”或“有根据的猜测”。它虽不能保证找到最优解,但能在比保证找到最优解的方法短得多的时间内找到一个不错(或许令人满意)的解。例如在旅行商问题中,一种简单的启发式方法是选择距离当前部分行程中最后添加的城市最近的未访问城市作为下一个访问的城市。
1.2 元启发式算法
元启发式算法是一种“元级别”(更高级别)的启发式算法。可以将其看作一个通用的算法框架,只需进行相对较少的修改就能应用于不同的优化问题。进化算法、蚁群优化和粒子群优化等基于种群的搜索方法都属于元启发式算法。
1.3 超启发式算法
超启发式算法可宽泛地定义为“使用(元)启发式算法来选择(元)启发式算法以解决当前问题的过程”。元启发式算法在目标问题的候选解空间中进行搜索,而超启发式算法则在可用于解决给定类型问题的启发式算法空间中进行搜索。目前大多数超启发式算法基于进化算法(经过修改以在启发式算法空间中进行搜索),原则上任何其他类型的元启发式算法也可适当修改后用作超启发式算法。
下表总结了启发式、元启发式和超启发式算法的特点:
| 算法类型 | 定义 | 搜索空间 | 示例 |
| ---- | ---- | ---- | ---- |
| 启发式算法 | 解决特定问题的经验法则或有根据的猜测 | 候选解空间 | 旅行商问题中选择最近未访问城市 |
| 元启发式算法 | 通用算法框架,可应用于多种问题 | 候选解空间 | 进化算法、蚁群优化、粒子群优化 |
超级会员免费看
订阅专栏 解锁全文
23万+

被折叠的 条评论
为什么被折叠?



