УДК 004.023 ИСПОЛЬЗОВАНИЕ МЕТОДА ИМИТАЦИИ ОТЖИГА

advertisement
УДК 004.023
ИСПОЛЬЗОВАНИЕ МЕТОДА ИМИТАЦИИ ОТЖИГА ДЛЯ РЕШЕНИЯ
ЗАДАЧИ О МАКСИМАЛЬНОМ РАЗРЕЗЕ ГРАФА
В.И. Месюра, Ю.А. Бендерук, М.А. Граник, Винница, Винницкий
национальный технический университет
В работе показана возможность применения метода имитации отжига для
решения
задачи
о
максимальном
разрезе
графа,
а
также
проанализирована
целесообразность применения данного метода для решения такой задачи.
This paper shows a possibility of using simulated annealing method for solving maximum
cut problem, and analyzes expediency of using this method for solving such problem.
Ключевые слова: имитация отжига, максимальный разрез в графе, NP-полные
задачи
Keywords: annealing simulation, maximum cut problem, NP-complete problems
1. Задача о максимальном разрезе графа
Классическая формулировка задачи о максимальном разрезе графа звучит
следующим образом. Дан взвешенный неориентированный граф (допускается наличие
мультиребер и петель). Необходимо разбить вершины графа на два непересекающихся
множества таким образом, чтобы максимизировать суммарный вес ребер, соединяющих
вершины разных множеств [1].
Известно, что данная задача принадлежит к классу NP-полных задач. Она также
принадлежит к классу APX-сложных задач. Это означает, что в случае неравенства
классов P и NP не существует приближенной схемы, которая выполняется за
полиномиальное время и в качестве результата создает ответ, сколь угодно близкий к
оптимальному.
Задача о максимальном разрезе является важной комбинаторной задачей и широко
применяется на практике, а именно в схемотехнике, статической физике и т.д.
Науке пока что не известен алгоритм, точно решающий задачу о максимальном
разрезе за полиномиальное время, поэтому для ее решения используются неточные
эвристические интеллектуальные методы, один из которых и является предметом этой
статьи.
2. Метод имитации отжига
Метод имитации отжига – оптимизационный метод, предназначенный для поиска
глобального экстремума некоторой функции на основе упорядоченного случайного
поиска. Алгоритм базируется на имитации физического процесса, происходящего во
время кристаллизации вещества, в том числе и при отжиге металлов. Считается, что
атомы находятся в узлах кристаллической решетки, однако они могут менять свое
положение. Также считается, что во время процесса наблюдается постепенное снижение
температуры. Активность в движениях атомов уменьшается по мере понижения
температуры. По окончании процесса отжига система переходит в состояние с
минимальной потенциальной энергией. [2]
Идея создать алгоритм, имитирующий описанный процесс, принадлежит Н.
Метрополису.
Сам алгоритм можно описать следующим образом (для определенности будем
рассматривать алгоритм, находящий минимум целевой функции). В начале алгоритма
случайным образом генерируется начальное приближение – некоторая точка X 0 , а также
вычисляется значение целевой функции f ( X 0 ) в этой точке. Глобальному результату
присваивается полученное значение целевой функции. Также задается начальное значение
температуры T , при которой происходит процесс. Далее итеративно повторяется такой
процесс. Путем незначительных случайных изменений точки X i создается точка X i 1
(этот процесс аналогичен процессу мутации в генетических алгоритмах). Вычисляется
значение целевой функции в точке X i 1 , при необходимости обновляется значение
глобального минимума. Переход из точки X i в точку X i 1 происходит с вероятностью,
вычисляющейся по следующей формуле в соответствии с распределением Гиббса:
P  min( 1, e

f ( X i 1 )  f ( X i )
T
)
(1)
За счет того, что переход в следующей основе подчиняется вероятностному закону,
метод имитации отжига лишен так называемой проблемы локального минимума,
свойственной большинству приближенных алгоритмов.
По окончании каждой итерации необходимо изменить температуру системы. Пусть
p – некоторая константа, лежащая в пределах от нуля до единицы. Тогда изменение
температуры можно описать следующим законом:
Ti 1  Ti p
(2)
Результат роботы алгоритма – полученное значение глобального минимума. Задача
нахождения глобального максимума целевой функции f (x) сводится к нахождению
глобального минимума функции  f (x) .
Существует для распространенных критерия окончания итерационного процесса.
Согласно первому из них, выполняется некоторое фиксированное количество итераций.
Согласно второму критерию, итерационный процесс длится до тех пор, пока значение
температуры не достигнет некоторого критического значения. [3]
3. Применение метода имитации отжига для решения задачи о максимальном
разрезе графа
Рассмотрим применение метода имитации отжига для решения задачи о
максимальном разрезе графа. Пускай граф состоит из N вершин. Точкой будем считать
N-мерный вектор, каждая координата которого равна либо ноль, либо один. Значение i-ой
координаты показывает, к какому множеству принадлежит заданная вершина. Целевой
функцией будем считать значение разреза для заданного разбиения вершин на множества.
Очевидно, нам нужно максимизировать значение целевой функции.
Переход из состояния X i в состояние X i 1 осуществляется путем переноса
случайной вершины из одного множества в другое. В таком случае естественным образом
реализуется пересчет целевой функции, асимптотическое время работы которого
составляет O (n) .
При реализации алгоритма начальной температуре было присвоено значение 1000,
а коэффициенту убывания температуры – значение 0.9. Итерационный процесс
продолжается до тех пор, пока значение температуры превосходит 0.1 (таким образом,
выполняется 88 итераций). Для увеличения вероятности нахождения оптимального ответа,
метод имитации отжига запускался некоторое фиксированное количество раз. Сложность
реализованного алгоритма можно оценить как O(c(n 2  kn)) , где с – количество запусков
метода имитации отжига, k – количество итераций.
4. Анализ полученных результатов
Для проверки корректности работы построенного алгоритма был реализован
алгоритм, перебирающий все возможные разбиения вершин на два множества и
вычисляющий значение целевой функции для каждого разбиения. Очевидно, такой
алгоритм выполняется за экспоненциальное время, его сложность равна O(2 n n 2 )
Результат эксперимента показал, что при ограничениях, в которых алгоритм
полного перебора работает за разумное время, метод имитации отжига находит абсолютно
точный ответ, имея при этом гораздо более низкую вычислительную сложность, и,
соответственно, выполняясь за гораздо более короткий промежуток времени. Оба
алгоритма были запущены на 100 случайных графах из 20 вершин. Полный перебор
обработал данные графы за 110.843 секунды, в то время, как 50 запусков методов
имитации отжига для каждого графа суммарно выполнились за 0.168 секунд.
Очевидным является возможность применения метода имитации отжига для
графов со значительно большим количеством вершин. В случаях, когда алгоритм не будет
находить абсолютно точный ответ, он способен находить хорошее приближение к
оптимальному ответу.
Выводы
В этой работе рассмотрено применение метода имитации отжига для решения
задачи о максимальном разрезе графа.
Результаты исследований показали, что метод имитации отжига позволяет
эффективно находить приближенное (а во многих случаях – точное) решение задачи о
максимальном разрезе графа.
Основные достоинства метода имитации отжига при решении задачи о
максимальном разрезе – быстродействие, а также простота в реализации.
Литература
1. Татт, У. Теория графов [Текст]: учебное пособие/ Уильям Татт; перевод с англ. Г.П
Гаврилова. – М.: Мир, 1998 –
305 с.– 5000 экз. – ISBN 5-03-001001-7 (в пер.)
2. Девятков, В.В. Системы искусственного интеллекта [Текст]: учебное пособие/
Владимир Валентинович Девятков. – М.: Издательство МГТУ имени Н.Э.Баумана, 2001 –
352 с. – 3000 экз. –
ISBN 5-7038-1727-7
3. Рассел, С. Искусственный интеллект. Современный подход [Текст]: учебное пособие/
Стюарт Рассел, Питер Норвиг; перевод с англ. К.А. Птицына . – М.: Вильямс, 2006 –
1407 с. – 3000 экз. – ISBN 5-8459-0887-6 (в пер.)
Сведения об авторах
Месюра Владимир Иванович – кандидат технических наук, профессор кафедры
компьютерных наук Винницкого национального технического университета.
Бендерук Юлия Андреева – судентка 4-го курса Винницкого национального технического
университета, направление «Компьютерные науки»
Граник Михаил Алекснадрович – судент 4-го курса Винницкого национального
технического университета, направление «Компьютерные науки»
Download