Научная статья на тему 'Исследование алгоритма имитации отжига'

Исследование алгоритма имитации отжига Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
708
92
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ / АЛГОРИТМ ИМИТАЦИИ ОБЖИГА / ЗАДАЧА О РЮКЗАКЕ / ARTIFICIAL INTELLIGENCE / SIMULATED ANNEALING ALGORITHM / KNAPSACK PROBLEM

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Савельев С. А., Томилина А. И.

Произведено исследование алгоритма имитации отжига путем изменения параметров, сделаны выводы по работе алгоритма, все тесты произведены с помощью специально написанного авторами приложения.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Савельев С. А., Томилина А. И.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

SIMULATED ANNEALING ALGORITHM RESEARCH

In this work it was researched the algorithm of simulated annealing by changing the parameters, made some conclusions about the work of the algorithm, all tests are made with a specially realized application by the authors of this paper.

Текст научной работы на тему «Исследование алгоритма имитации отжига»

УДК 004.91

ИССЛЕДОВАНИЕ АЛГОРИТМА ИМИТАЦИИ ОТЖИГА

С. А. Савельев, А. И. Томилина Научный руководитель - М. Н. Фаворская

Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева

Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31 Е-mail: [email protected], [email protected]

Произведено исследование алгоритма имитации отжига путем изменения параметров, сделаны выводы по работе алгоритма, все тесты произведены с помощью специально написанного авторами приложения.

Ключевые слова: искусственный интеллект, алгоритм имитации обжига, задача о рюкзаке. SIMULATED ANNEALING ALGORITHM RESEARCH

S. A. Savelev, A. I. Tomilina Scientific Supervisor - M. N. Favorskaya

Reshetnev Siberian State Aerospace University 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation E-mail: [email protected], [email protected]

In this work it was researched the algorithm of simulated annealing by changing the parameters, made some conclusions about the work of the algorithm, all tests are made with a specially realized application by the authors of this paper.

Keywords: artificial intelligence, simulated annealing algorithm, knapsack problem.

Искусственный интеллект появился с рождением компьютеров, однако значимые с практической точки зрения результаты были получены лишь в конце 1960-х годов. Из-за практической значимости сегодня искусственный интеллект продолжает активно изучаться. Можно выделить следующие основные методики искусственного интеллекта: нейронные сети, генетические алгоритмы, алгоритм имитации отжига, муравьиные алгоритмы и другие. В данной работе будет рассмотрен алгоритм имитации отжига.

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

Данный алгоритм был программно реализован и протестирован на задаче о рюкзаке [3]. Формулировка задачи о рюкзаке: «Пусть имеется набор предметов, каждый из которых имеет два параметра - вес и ценность. И есть рюкзак, определенной вместимости. Задача заключается в том, чтобы собрать рюкзак с максимальной ценностью предметов внутри, соблюдая при этом весовое ограничение рюкзака» [2].

Основные параметры при проведении исследований были установлены следующим образом:

- В качестве исходного состояния (Initialstate) использовался пустой рюкзак, в котором не лежит ни одной вещи.

Секция «Программные средства и информационные технологии»

- Если полученное на текущей итерации решение получается хуже чем на предыдущей, проверяем можем ли мы принять его, с помощью следующей функции (Acceptfunction). random() < e-deltaC/t, значение которой полностью зависит от текущей температуры.

- Функция «заморозки» (Frozenfunction). было использовано константное значение конечной температуры.

- Ограничение внутреннего цикла (Innerloopend). было использовано число, выражающее максимальное число итераций.

- Функция остужения (Coolfunction): было использовано геометрическое остужение t = alpha*t, где alpha = 0,8.. .0,99.

Эксперименты.

Для всех экспериментов использовался тестовый набор данных состоящий из 30 предметов. Тестирование проводилось на следующей конфигурации аппаратного обеспечения. процессор - Intel Corei7 4700 HQ 2.4 GHz (x64), ОЗУ - 1600 Mhz 8 Gb.

Эксперимент 1. Начальная температура = 4000.0, конечная температура = 0.1, Альфа = 0.995, Внутренний цикл N = 50.

Время выполнения. 8.49 с. Относительная погрешность. 0,0172.

Рис. 1. Эксперимент 1 (по вертикали графика - разность стоимости рюкзака, по горизонтали - итерации)

На рис. 1 можно увидеть некоторое количество «безрезультатно потраченного» времени в конце вычислений, но относительная погрешность низкая. Лишняя трата времени может означать, что установленное значение конечной температуры было слишком низкое. Эксперимент 2.

Начальная температура = 4000.0, конечная температура =1.0, Альфа = 0.995, Внутренний цикл N = 50.

Время выполнения: 6.49 с. Относительная погрешность: 0,0473.

4000 2000 о

О 10000 20000 30000 40000

Рис. 2. Эксперимент 2 (по вертикали графика - разность стоимости рюкзака, по горизонтали - итерации)

Увеличение значения конечной температуры дало свой эффект, в этом случае область интенсификации короче, но область диверсификации слишком большая.

Эксперимент 3. Начальная температура = 4000.0, конечная температура = 0.1, Альфа = 0.995, Внутренний цикл N = 25.

Во время выполнения = 2.68. Относительная погрешность: 0,0739.

3000

Е

2000 1000

V * » (ix. jtAj

0

0 5000 10000 15000 20000

Рис. 3. Эксперимент 3 (по вертикали графика - разность стоимости рюкзака, по горизонтали - итерации)

В этом эксперименте была совершена попытка урезать конечную сумму итераций путем урезания количества итераций во внутреннем цикле. Результат получился хуже, чем в предыдущих опытах, но вычисление заняло гораздо меньшее времени.

Эксперимент 4. Начальная температура = 4000.0, конечная температура =0.1, Альфа = 0.95, Внутренний цикл N = 50.

Время выполнения: 0.97. Относительная погрешность: 0,492.

4000

3000

2000

1000 0 ■ш

0 1000 2000 3000 4000 5000

Рис. 4. Эксперимент 4 (по вертикали графика - разность стоимости рюкзака, по горизонтали - итерации)

В этом эксперименте был уменьшен коэффициент Альфа, время выполнения этого эксперимента является самым низким из всех, но относительная погрешность - самая высокая. Охлаждение происходит слишком быстро.

Таким образом, лучшим является результат, полученный в эксперименте 1: с времен выполнения 6.49 с. При этом простым перебором точного результата можно добиться за 8 минут 29,64 секунды, а эвристическим алгоритмом - 0,055 за 1,93 секунды .

Алгоритм имитации отжига имеет свои преимущества и недостатки по сравнению с другими методами глобальной оптимизации. Его преимуществами являются относительная простота реализации и универсальность применения для многих комбинаторных задач. К недостаткам можно отнести необходимость многократных тестов для верного подбора параметров алгоритма, результат работы данного алгоритма сильно зависит от выбранных значений параметров, что доказали проведенные эксперименты. Для каждой задачи и реализации параметры могут существенно варьироваться, что делает проведение тестов неотъемлемым этапом метода.

Библиографические ссылки

1. Алгоритм имитации отжига [Электронный ресурс]. URL: Шр8://гц.'тк1ре&а.о^^1к1/Алго-ритм_имитации_отжига (дата обращения: 30.01.2016).

2. Задача о ранце [Электронный ресурс]. URL: Шр8://гц.'шк1ре&а.о^/'шк1/Задача_о_ранце (дата обращения: 30.01.2016).

3. Джонс М. Т. Программирование искусственного интеллекта в приложениях. М. : ДМК Пресс, 2004. 312 с. ISBN 5-94074-275-0. С. 25-42.

© Савельев А. С., Томилина А. И., 2016

i Надоели баннеры? Вы всегда можете отключить рекламу.