Это не официальный сайт wikipedia.org 01.01.2023

Алгоритм имитации отжига — Википедия

Алгоритм имитации отжига

Алгори́тм имита́ции о́тжига (англ. Simulated annealing) — общий алгоритмический метод решения задачи глобальной оптимизации, особенно дискретной и комбинаторной оптимизации. Один из примеров методов Монте-Карло.

Общее описаниеПравить

 
Поиск глобального максимума методом имитации отжига. Стандартные градиентные методы (методы спуска) в данном случае неприменимы, поскольку имеется множество локальных максимумов. Со временем температура уменьшается.

Алгоритм основывается на имитации физического процесса, который происходит при кристаллизации вещества, в том числе при отжиге металлов. Предполагается, что атомы вещества уже почти выстроены в кристаллическую решётку, но ещё допустимы переходы отдельных атомов из одной ячейки в другую. Активность атомов тем больше, чем выше температура, которую постепенно понижают, что приводит к тому, что вероятность переходов в состояния с большей энергией уменьшается. Устойчивая кристаллическая решётка соответствует минимуму энергии атомов, поэтому атом либо переходит в состояние с меньшим уровнем энергии, либо остаётся на месте. (Этот алгоритм также называется алгоритмом Н. Метрополиса, по имени его автора).

Моделирование похожего процесса используется для решения задачи глобальной оптимизации, состоящей в нахождении такой точки или множества точек, на которых достигается минимум некоторой целевой функции F ( x )   ("энергия системы"), где x X   ( x   — "состояние системы", X   — множество всех состояний).

Алгоритм поиска минимума методом имитации отжига предполагает свободное задание:

  • x 0 X   — начального состояния системы;
  • оператора A ( x , i ) : X × N X  , случайно генерирующего новое состояние системы после i-ого шага с учётом текущего состояния x   (этот оператор, с одной стороны, должен обеспечивать достаточно свободное случайное блуждание по пространству X  , а с другой — работать в некоторой степени целенаправленно, обеспечивая быстроту поиска);
  • T i > 0   — убывающей к нулю положительной последовательности, которая задаёт аналог понижающейся температуры в кристалле. Скорость остывания (закон убывания) также может задаваться (и варьироваться) произвольно, что придаёт алгоритму значительной гибкости.

Алгоритм генерирует процесс случайного блуждания по пространству состояний X  . Решение ищется последовательным вычислением точек x 0 , x 1 , x 2 , ,   пространства X  ; каждая точка, начиная с x 1  , «претендует» на то, чтобы лучше предыдущих приближать решение. На каждом шаге алгоритм (который описан ниже) вычисляет новую точку и понижает значение величины (изначально положительной), понимаемой как «температура».

Последовательность этих точек (состояний) получается следующим образом. К точке x i   применяется оператор A  , в результате чего получается точка-кандидат x i = A ( x i , i )  , для которой вычисляется соответствующее изменение "энергии" Δ F i = F ( x i ) F ( x i )  . Если энергия понижается ( Δ F i 0  ), осуществляется переход системы в новое состояние: x i + 1 = x i  . Если энергия повышается ( Δ F i > 0  ), переход в новое состояние может осуществиться лишь с некоторой вероятностью, зависящей от величины повышения энергии и текущей температуры, в соответствии с законом распределения Гиббса:

P ( x i x i + 1 x i ) = exp ( Δ F i / T i )  

Если переход не произошёл, состояние системы остаётся прежним: x i + 1 = x i  . Алгоритм останавливается по достижении точки, которая оказывается при температуре ноль.

Алгоритм имитации отжига похож на градиентный спуск, но за счёт случайности выбора промежуточной точки и возможности выбираться из локальных минимумов должен реже застревать в локальных, но не глобальных минимумах, чем градиентный спуск. Алгоритм имитации отжига не гарантирует нахождения минимума функции, однако при правильной настройке генерации случайной точки в пространстве X  , как правило, происходит улучшение начального приближения.

ПрименениеПравить

См. такжеПравить

ПримечанияПравить

  1. Задача о гамильтоновом цикле  (неопр.). Дата обращения: 19 февраля 2014. Архивировано 25 февраля 2014 года.

ЛитератураПравить

  • Каллан Роберт.  Основные концепции нейронных сетей. — М.: Издательский дом Вильямс, 2003. — 288 с. — ISBN 5-8459-0219-X. — С. 146—148.
  • Кирсанов М. Н.  Графы в Maple. — М.: Физматлит, 2007. — 168 с. — ISBN 978-5-9221-0745-7. — С. 151—154.
  • Джонс М. Т.  Программирование искусственного интеллекта в приложениях. — М.: ДМК Пресс, 2004. — 312 с. — ISBN 5-94074-275-0. — С. 25—42.

СсылкиПравить