Онтологический подход к построению структур генетических

advertisement
Онтологический подход к построению структур генетических алгоритмов
П.В. АФОНИН
Московский государственный технический университет им. Н.Э.Баумана
ОНТОЛОГИЧЕСКИЙ ПОДХОД К ПОСТРОЕНИЮ
СТРУКТУР ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ
Предложен подход к построению структуры и определению параметров генетического алгоритма (ГА). Онтология описывает связи предметной области на 4-х уровнях: 1) макроуровень ГА (гибридные схемы на основе ГА, макромодель с миграцией); 2) уровень блок-схемы ГА (используемые операторы, последовательность выполнения операторов, связь с макроуровнем); 3) уровень операторов ГА (реализация и параметры операторов); 4) уровень задачи (тип
задачи, размерность, временная сложность, способ представления строки-хромосомы).
Большое число возникающих на практике сложных задач оптимизации являются NPполными. Это – задачи, для которых на сегодняшний день пока не найдено быстрых алгоритмов
решения, а за приемлемое время можно найти лишь приближенное или близкое к оптимальному
решение [1]. Универсальными методами решения NP-полных задач оптимизации являются метаэвристики. Метаэвристики – это алгоритмы эвристического поиска оптимальных решений,
предусматривающих различные подходы для решения проблемы выхода из локальных оптимумов
и стратегий поиска глобального оптимума. Одним из наиболее применяемых на практике метаэвристических алгоритмов является генетический алгоритм (ГА) [2].
Важным вопросом применения ГА является адаптация структуры и настройка параметров
для конкретной практической задачи. Эти факторы существенно влияет на эффективность работы
алгоритма, и как следствие, на качество решения оптимизационной задачи. Вопросы определения
рациональной структуры и параметров в большинстве случаев являются задачей разработчикаисследователя и требуют значительных временных и интеллектуальных затрат.
В работе предлагается автоматизированный подход к построению структуры и определению значений параметров ГА для решения практических задач, который основан на применении
онтологии (рис.1). Онтология в информатике – это попытка всеобъемлющей и детальной формализации некоторой области знаний с помощью концептуальной схемы [5]. Такая схема состоит из
структуры данных, содержащей классы объектов, их связи и правила (теоремы, ограничения),
принятые в этой области. Для рассматриваемой задачи предметная область онтологии охватывает
перечень NP-полных задач из справочника-классификатора [1] и различные схемы реализации
ГА. Представление задачи также включает: размерность, временную сложность и способ представления строки-хромосомы для применения ГА. Представление схем реализации ГА содержит:
описание макроуровня (гибридный ГА, модель с миграцией), описание блок-схемы ГА (используемые операторы, последовательность выполнения операторов, связь с макроуровнем) и описание
операторов ГА (реализация и параметры операторов).
Классификатор представляет собой базу данных, которая включает обширный набор NPполных задач из 12-ти тематических категорий. Данный список служит источником информации
о том, какие задачи можно, а какие нельзя решать за полиномиальное время. В список вошли
только те задачи, для которых были проведены соответствующие подтверждения принадлежности к определенному классу сложности.
Макроуровень ГА включает перспективные схемы генетического поиска для повышения
эффективности работы ГА.
Гибридный ГА основан на интеграции классического ГА с методом локального поиска [4].
Для некоторых особей используется метод локального поиска (например, один из методов прямого поиска: метод Розенброка, метод Хука–Дживса, регулярный симплекс, нерегулярный симплекс
и др), позволяющий достаточно быстро найти локальный оптимум в соответствующей области
поиска. В общем, применение гибридного ГА позволяет значительно сократить время на поиск
глобального оптимума по сравнению с классическим ГА.
Генетический алгоритм с миграцией основан на работе классического ГА для нескольких
независимо развивающихся популяций, между которыми организована миграция (обмен особями)
через определенное количество поколений [5]. Основные параметры: число мигрантов, способ
выбора мигрантов, схема связей популяций и период миграции. Схема является мощным средством выхода из локальных оптимумов.
Онтологический подход к построению структур генетических алгоритмов
Макроуровень ГА
Классификатор
NP-полных задач по
«Гэри, Джонсон»
1. Гибридный ГА
2. Модель с миграцией
Блок схема ГА
А1. Теория графов
А1.1. Покрытие и разбиение
А1.2. Подграфы и надграфы
А1.3. Упорядочение вершин
А1.4. Морфизмы и изоморфизмы
А1.5. Разное
А2. Построение сетей
А2.1. – А2.5.
А3. Множества и
разбиения
А3.1., А3.2.
А4. Хранение и поиск
данных
Используемые операторы
Онтология
Структура
данных
(классы, связи,
правила)
Примеры
решений задач
А4.1. – А4.3.
1. Генерация нач. популяции
2. Скрещивание
3. Мутация
4. Отбор
и др.
Последовательность
выполнения операторов
Схема связи с
макроуровнем
Операторы ГА
Кроссинговер
А5. – А13.
1. Одноточечный
2. Двухточечный
3. Жадный
и др.
Мутация
Практическая задача
Поиск по онтологии
1. Точечная
2. Генная
и др.
др. операторы
Решение задачи с
помощью ГА
Блок-схема ГА
с параметрами
Рис. 1. Подход к построению структуры ГА на основе онтологии
Для представления блок-схемы ГА задаются используемые операторы. Это классические
операторы ГА: оператор генерации начальной популяции, оператор скрещивания, оператор мутации, оператор отбора, оператор останова. Вместо или в дополнение к классическим могут применяться неклассические или модифицированные операторы ГА. Поскольку, алгоритм – это конечный набор правил, который определяет последовательность операций для решения конкретного
множества задач, то задается также последовательность выполнения операторов. Для представления общей блок-схемы описывается связь блок-схемы ГА с макроуровнем для построения (в случае необходимости) гибридного ГА или ГА с миграцией.
В онтологии хранятся примеры решений задач (описанные в научной литературе), для которых найдена рациональная структура и значения параметров ГА по результатам проведенных
ранее исследований. Для новой практической задачи реализуется поиск по онтологии, в результате чего выдается ответ: блок-схема ГА со значениями параметров операторов.
Дальнейшим развитием данной работы будет построение детальной концептуальной модели предметной области и компьютерная реализация онтологии.
Работа выполнена при поддержке гранта РФФИ (08-07-00343).
СПИСОК ЛИТЕРАТУРЫ
1. Гери М., Джонсон Д. Вычислительные машины и труднорешаемые задачи. М.: Мир, 1982.
2. Goldberg D. Genetic Algorithms in Search, Optimization, and Machine Learning. Massachusetts: Addison-Wesley, 1989.
3. El-Mihoub T.A., Hopgood A.A., Nolle L., Battersby A. // Engineering Letters. 2006. 13(2). P. 124.
4. Potts C.I., Giddens T.D., Yadav S.B. // IEEE Transactions on Systems, Man and Cybernetics. 1994. V.24.
№ 1. P. 73.
5. Интернет ресурс: http://wikipedia.org
Download