模拟退火是一种计算机技术,它可以找到一个问题的好的(虽然不一定是最佳的)解决方案。它之所以被命名是因为它模拟了退火的冶金过程。在金属中,退火是通过加热金属然后缓慢冷却来净化的过程。计算机程序“净化”了溶液模拟...
模拟退火是一种计算机技术,它可以找到一个问题的好的(虽然不一定是最佳的)解决方案。它之所以被命名是因为它模拟了退火的冶金过程。在金属中,退火是通过加热金属然后缓慢冷却来净化的过程。计算机程序“净化”了溶液模拟退火程序的用户需要指定两个关键因素:起始温度,或者可以探索的较差溶液的百分比;冷却速率,这是该百分比的速率低的启动温度通常会导致结果与最佳值相差甚远。在非常高的温度下启动可能会导致搜索所需的时间远远超过所需的时间。同样,冷却速率过高也会产生较差的结果,而极低的冷却速度会导致程序运行很长时间。模拟退火程序的“高温”状态是一个设置,它可以查看范围很广的解决方案,包括许多比它已经找到的解更差的解。计算机可以查看许多比当前解更差的解,以避免陷入比最佳解差得多的局部最小值。例如,我们可以想象从山顶或山顶开始,以到达基地为目标。沿途可能会有沟壑或裂缝。如果计算机无法上坡到足够远的地方,即使它离基地很远,它也会卡住。程序能走多远取决于较差解的百分比允许程序检查随着时间的推移,会逐渐找到更好的解决方案,深渊的风险也会降低,因此,计算机可以探索的更差的解决方案的百分比就减少了。减少这一部分被称为“冷却”。当温度达到预先设定的分数(不必为0)时,搜索结束。使用模拟退火或其他人工智能搜索技术的原因是将可管理量找到一个近似最优解所需的时间。对于许多问题,一个彻底的搜索-测试每个可能的解决方案对另一个可能的解决方案-可能需要数月或数年。最广为人知的替代模拟退火算法是遗传算法。其他流行的人工智能搜索算法包括蚁群算法、粒子群优化算法、最近邻算法和贝叶斯分类器
-
发表于 2020-08-07 04:41
- 阅读 ( 799 )
- 分类:电脑网络