Симулированный отжиг
Симулированный отжиг (Simulated Annealing) — это алгоритм для поиска наилучшего решения сложных задач оптимизации, особенно когда много переменных и сложно найти глобальный минимум (лучшее решение).
Принцип работы основан на аналогии с термической обработкой металлов (отжигом): сначала металл сильно нагревают — его атомы ведут себя очень хаотично, способны «вырываться» из локальных структур. Потом металл медленно охлаждают, и атомы постепенно «успокаиваются», выстраиваясь в более стабильную и прочную структуру — более низкоэнергетическое, лучшее состояние.
В алгоритме имитации отжига работает похожий принцип:
— Сначала алгоритм позволяет сделать много случайных изменений решения (как «нагретые» атомы).
— Потом постепенно уменьшает вероятность таких изменений (снижается «температура»).
— Это помогает избегать «застревания» в локальных минимумах — решениях, лучше которых нет рядом, но которые хуже глобального оптимума.
— Со временем алгоритм «успокаивается» и находит максимально хорошее, приближенное к глобальному, решение.
Иначе говоря, он сначала «исследует» разные варианты, иногда делая шаги, которые ухудшают результат, но в итоге это помогает найти лучшее общее решение, а не застрять в «ловушке» локального минимума. Такую стратегию часто применяют в задачах комбинаторной оптимизации, например, планировании маршрутов или обучении нейросетей.
Принцип работы основан на аналогии с термической обработкой металлов (отжигом): сначала металл сильно нагревают — его атомы ведут себя очень хаотично, способны «вырываться» из локальных структур. Потом металл медленно охлаждают, и атомы постепенно «успокаиваются», выстраиваясь в более стабильную и прочную структуру — более низкоэнергетическое, лучшее состояние.
В алгоритме имитации отжига работает похожий принцип:
— Сначала алгоритм позволяет сделать много случайных изменений решения (как «нагретые» атомы).
— Потом постепенно уменьшает вероятность таких изменений (снижается «температура»).
— Это помогает избегать «застревания» в локальных минимумах — решениях, лучше которых нет рядом, но которые хуже глобального оптимума.
— Со временем алгоритм «успокаивается» и находит максимально хорошее, приближенное к глобальному, решение.
Иначе говоря, он сначала «исследует» разные варианты, иногда делая шаги, которые ухудшают результат, но в итоге это помогает найти лучшее общее решение, а не застрять в «ловушке» локального минимума. Такую стратегию часто применяют в задачах комбинаторной оптимизации, например, планировании маршрутов или обучении нейросетей.