Генетические алгоритмы в задачах поиска решений на и/или графах
Характеристика подходов к кодированию решений и алгоритмы выполнения основных генетических операторов поиска на графах, учитывающих непостоянство структур хромосом при переходе от одного варианта решения к другому. Поиск оптимальной альтернативы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | доклад |
Язык | русский |
Дата добавления | 18.01.2018 |
Размер файла | 172,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
8
Размещено на http://www.allbest.ru/
Генетические алгоритмы в задачах поиска решений на и/или графах
И.П. Норенков, МГТУ им. Н.Э. Баумана, Москва
Аннотация
Ключевые слова и выражения: эволюционный метод, генетический алгоритм, И/ИЛИ граф, поиск решений, кодирование решений, синтез оптимальных траекторий обучения.
Многие задачи структурного синтеза и принятия решений формулируются как задачи поиска оптимальной альтернативы на И/ИЛИ-графах. Для их решения целесообразно использовать генетические алгоритмы. В докладе предлагаются подходы к кодированию решений и алгоритмы выполнения основных генетических операторов поиска на И/ИЛИ графах, учитывающих непостоянство структур хромосом при переходе от одного варианта решения к другому.
Введение
В ряде задач структурного синтеза множество возможных решений представляется в виде альтернативного (И/ИЛИ) графа. Примерами задач структурного синтеза и принятия решений на основе И/ИЛИ-графов могут служить задачи синтеза бизнес-процессов, конструирования технических изделий, разработки траекторий обучения и поддерживающих их учебных пособий и др. Как правило, в этих задачах вершины ИЛИ графа соответствуют отдельным шагам принятия решений, вершины И-компонентам синтезируемой структуры, ребра отображают отношения "целое/часть" и "род/вид" между компонентами.
Для выбора конкретной структуры достаточно знания правил выбора альтернатив в каждой ИЛИ вершине. Но в большинстве практических задач такие правила неизвестны. Однако известны модели приложений, позволяющие оценить качество каждой заданной структуры. Поскольку размеры практически важных задач довольно велики, исключается возможность полного перебора и оценки всех вариантов решений. В этих условиях целесообразно использовать процедуры поиска оптимальной структуры, оперируя лишь некоторым подмножеством (популяцией) возможных решений, т.е. применять эволюционные методы.
Однако для применения эволюционных и, прежде всего, генетических алгоритмов необходимо решить, каким образом представлять подграфы И/ИЛИ графа, изображающие отдельные проектные решения, в виде хромосом. Трудности кодирования решений заключаются в том, что подграфы разных решений представляют собой разные подмножества вершин и ребер, и их произвольные комбинации, создаваемые генетическими операторами скрещивания и мутации, могут привести к некорректным результатам.
В докладе представлены подход к формализации слабо структурированных задач синтеза (принятия) решений на основе генетического поиска на И/ИЛИ графах и его применение к задаче синтеза оптимальных траекторий обучения и поддерживающих их учебных пособий (СТОУП).
генетический алгоритм граф
1. Задача синтеза оптимальных траекторий обучения и учебных пособий
Синтез учебных пособий, адаптированных к индивидуальным особенностям обучаемых, из отдельных фрагментов учебных материалов, называемых модулями, выполняется на основе модели SCORM [SCORM, 2001] или технологии разделяемых единиц контента (ТРЕК), реализующей онтологический подход [Норенков, 2003].
В рамках ТРЕК задача СТОУП формулируется следующим образом. Имеются:
1) предметная онтология, в которой выделены подмножества Tцел целевых концептов (понятий), для изучения которых должны быть составлены траектория обучения и учебное пособие, и Tисх исходных концептов, уже освоенных пользователем (обучаемым);
2) база М учебных модулей. В каждом модуле поясняются один или более концептов, называемых выходными концептами модуля, на основе использования других концептов, называемых входными концептами модуля.
Требуется составить оптимальное по критерию Z (М) учебное пособие из модулей, соблюдая условие "входные концепты любого модуля должны либо относиться к Tисх, либо присутствовать среди выходных концептов предшествующих модулей". В качестве Z (М) могут использоваться число модулей или функции метаданных модулей, например, объем пособия, оценки сложности изложения материала и т.п.
Моделью задачи СТОУП является И/ИЛИ граф, в котором вершины ИЛИ соответствуют концептам онтологии, вершины И - модулям, дуги, направленные от И-вершин к ИЛИ-вершинам выражают отношения "определен в", дуги, идущие от ИЛИ-вершин к И-вершинам отношения "используется в". Каждому концепту Kp соответствуют переменная kp и вершина типа ИЛИ в И/ИЛИ графе, а каждому модулю Mq - переменная mq и вершина типа И, причем kp=1 и mq=1, если p-й концепт и q-й модуль, входят в рассматриваемый вариант решения, иначе kp=0 и mq=0. Другими словами, для каждого концепта в синтезируемом учебном пособии справедливо уравнение:
kp = У mpq & kr = 1, (1.1)
q€Qp r€ Rpq
где У и & - знаки логических сложения и умножения, Qp множество номеров модулей, в которых определен концепт Kp, Rpq - множество номеров концептов, входных для модуля Mpq.
Решение задачи СТОУП начинается с записи модели в виде:
& kr = 1, (1.2)
где kr-переменные соответствуют концептам Kr€Tцел. Далее каждая переменная kr в (1.2) заменяется на множество дизъюнктов по формуле (1.1). Рекурсивный процесс подстановки (1.1) в (1.2) продолжается до тех пор, пока в (1.1) не останется иных ki, кроме соответствующих концептам множества Tисх. В получающейся после раскрытия скобок дизъюнктивной форме каждый дизъюнкт соответствует одному из возможных решений задачи СТОУП.
2. Пример модели СТОУП
На Рис.1 дан пример И/ИЛИ графа, где вершины концептов и модулей изображены овалами и прямоугольниками соответственно, вершины исходных концептов не показаны, Тцел представлено вершинами K1, K2, K3, изображающими одноименные концепты.
Описание структуры И/ИЛИ-графа удобно представить в форме таблиц 1 и 2, в которых зафиксированы отношения "род/вид" (в случае СТОУП это отношение "концепт определен в модулях") и "целое/часть" (в СТОУП это "в модуле используются концепты").
В соответствии с (1.2):
k1&k2&k3=1.
Используя (1.1), имеем:
(m1&k4+m2&k5&k6) & (m3&k8&k11+m7&k10+m9&k12) & (m4&k7&k13+m7&k10 + m8&k11&k12) =1,
Рис.1. И/ИЛИ граф
где + знак логического сложения. Продолжая замены переменных kr по формуле (1), приходим к итоговой записи модели в виде дизъюнктивной формы, в которой каждый дизъюнкт выражает одну из возможных альтернатив решения - подмножество переменных mq, определяющих модульный состав синтезируемого учебного пособия.
Табл.1
K1 |
K2 |
K3 |
K4 |
K5 |
K6 |
K7 |
K8 |
K9 |
K10 |
K11 |
K12 |
K13 |
|
M1 |
M3 |
M4 |
M5 |
M6 |
M6 |
M 9 |
M 10 |
M 11 |
M 11 |
M 12 |
M 15 |
M 13 |
|
M2 |
M7 |
M7 |
M 10 |
M 7 |
M 14 |
M 12 |
|||||||
M 9 |
M 8 |
M 8 |
Табл.2
M1 |
M2 |
M3 |
M4 |
M5 |
M6 |
M7 |
M8 |
M9 |
M10 |
M11 |
M12 |
M13 |
M14 |
M15 |
|
K4 |
K5 |
K8 |
K7 |
K8 |
K9 |
K10 |
K11 |
K12 |
K13 |
||||||
K6 |
K11 |
K13 |
K12 |
Число дизъюнктов в модели рассмотренного примера сравнительно невелико. Однако в практических задачах с десятками и сотнями концептов перебор всех дизъюнктов невозможен, и для выбора оптимальной альтернативы нужно применять генетические алгоритмы.
3. Генетический поиск на И/ИЛИ графах
Для применения генетического алгоритма необходимо, прежде всего, определить способ кодирования искомых решений. Кодирование решений в задачах поиска на И/ИЛИ графах выполняется следующим образом. Каждому p-му концепту (вершине ИЛИ) в хромосоме отводится один ген. Гены подразделяются на активные и неактивные. Ген активен, если соответствующий ему концепт входит в проектное решение, представляемое данной хромосомой. Аллелем активного гена является имя одного из модулей, в которых определен p-й концепт.
Главная особенность генетического поиска на И/ИЛИ графах обусловлена тем, что аллели неактивных генов не оказывают влияния на целевую функцию, поэтому их аллели не должны участвовать в операциях кроссовера и мутаций. Ниже аллели неактивных генов помечаются знаком х.
Генерация начального поколения осуществляется по следующему алгоритму. Все гены, кроме генов целевого множества, первоначально объявляются неактивными. Для целевых генов случайным образом из таблицы 1 выбирается по одному из возможных значений. Выбор аллеля позволяет по таблице 2 или формуле (1.1) определить гены, входящие в решение, и, следовательно, преобразовать их в активные назначением их аллелей. Процесс выбора аллелей и определения активных генов назовем активизацией генов. Активизация завершается, когда все ветви активизации просмотрены и заканчиваются генами исходных концептов.
При кроссовере рекомбинируемыми фрагментами хромосом могут быть только фрагменты, соответствующие разным подграфам И/ИЛИ графа с общей вершиной-корнем. Признаком вершины-корня является наличие в одном и том же активном гене у хромосом-родителей неодинаковых аллелей. Остальные гены фрагмента одного из родителей определяются в процессе активизации генов, продолжающемся пока одноименные гены второго родителя являются неактивными. Другими словами, выделение фрагмента заканчивается, когда при активизации встречаются гены, являющиеся активными у обоих родителей.
Для примера графа Рис.1 и двух хромосом-родителей А и В, представленных в таблице 3, применение этого алгоритма приводит к выделению в хромосоме А фрагментов
{ M 1, M 5, M 10}; { M 3, M 10, M 12}; { M 7}; { M 11}
и в хромосоме В соответствующих им фрагментов
{ M 2, M 10, M 7}; { M 7}; { M 4, M 9, M 15}; { M 12}.
Табл.3
K1 |
K2 |
K3 |
K4 |
K5 |
K6 |
K7 |
K8 |
K9 |
K10 |
K11 |
K12 |
K13 |
||
Хромосома А |
M1 |
M3 |
M7 |
M5 |
x |
x |
x |
M10 |
x |
M11 |
M12 |
X |
M13 |
|
Хромосома В |
M2 |
M7 |
M4 |
x |
M10 |
M7 |
M9 |
x |
x |
M12 |
x |
M15 |
M13 |
Если рекомбинация фрагментов заключается в обмене четными фрагментами, то в примере будут получены хромосомы-потомки C и D, показанные в таблице 4.
Табл.4
Хромосома C |
M1 |
M7 |
M7 |
M5 |
x |
x |
x |
M10 |
x |
M12 |
x |
x |
M13 |
|
Хромосома D |
M2 |
M3 |
M4 |
x |
M10 |
M7 |
M9 |
M10 |
x |
M11 |
M12 |
M15 |
M13 |
Мутации должны относиться к активным генам, причем появление в некотором гене нового аллеля может сопровождаться изменением статуса активности у ряда других генов, т.е. может инициировать процессы активизации и дезактивизации. Гены в подключаемых ветвях активизируются, гены, не попавшие в рассмотрение при активизации, становятся неактивными. Так, в рассмотренном примере мутация гена k2 с заменой аллеля m3 на m9 приводит к переходу гена k12 с аллелем m15 в число активных, а гена k11 - в число неактивных.
Заключение
В практических задачах поиска на И/ИЛИ-графах полный перебор возможных вариантов решений невозможен, поэтому целесообразно применение эволюционных методов. Поскольку каждый вариант решения характеризуется своим составом компонентов, генетические операторы, используемые при решении задач с фиксированным набором оптимизируемых параметров, оказываются неприменимыми. В статье предложены способы кодирования решений и алгоритмы генетических операторов формирования исходной популяции, кроссовера и мутаций, учитывающие особенности задач структурного синтеза и поиска решений на И/ИЛИ графах, применение которых проиллюстрировано на задаче синтеза оптимальных маршрутов обучения и синтеза поддерживающих их учебных пособий.
Список литературы
1. [Норенков, 2003] Норенков И.П. Технологии разделяемых единиц контента для создания и сопровождения информационно-образовательных сред // Информационные технологии, 2003, № 8.
2. [SCORM, 2001] Shareable Content Object Reference Model.2d Edition. - Advanced Distributed Learning, 2004. http://www.adlnet.gov/downloads/DownloadPage. aspx? ID=237
Размещено на Allbest.ru
...Подобные документы
Способы построения остовного дерева (алгоритма поиска в глубину и поиска в ширину). Вид неориентированного графа. Понятие и алгоритмы нахождения минимальных остовных деревьев. Последовательность построения дерева графов по алгоритмам Крускала и Прима.
презентация [22,8 K], добавлен 16.09.2013Классы задач P и NP, их сводимость. Примеры NP-полных и NP-трудных задач. Сущность метода поиска с возвратом. Алгоритмы решения классических задач комбинаторного поиска. Решение задачи о восьми ферзях. Поиск оптимального решения методом ветвей и границ.
презентация [441,5 K], добавлен 19.10.2014Основные определения поиска подстроки в строке. Простейшие алгоритмы поиска подстроки в строке. Алгоритмы последовательного поиска и Рабина-Карпа, создание и описание программы, реализующей их. Порядок работы с приложением. Тестирование алгоритмов.
курсовая работа [2,7 M], добавлен 24.05.2012Определение понятия графа как набора вершин и связей между ними. Способы решения задач по программированию согласно теории графов на примерах заданий "Дороги", "Перекрестки", "Скрудж Мак-Дак", используя рекурсивные функции и рекуррентные соотношения.
курсовая работа [36,2 K], добавлен 10.03.2010Содержание фундаментальной теории гена. Описание простого генетического алгоритма поиска оптимальных решений. Сущность понятий "кроссинговер", "сайт", "иллегальная рекомбинация". Этапы реализации алгоритма Девиса по перераспределению участков хромосом.
контрольная работа [23,7 K], добавлен 17.09.2010Способ представления графа в информатике. Алгоритмы поиска элементарных циклов в глубину в неориентированных графах. Описание среды wxDev-C++, последовательность создания проекта. Руководство пользователю программы поиска и вывода на экран простых циклов.
курсовая работа [783,2 K], добавлен 18.02.2013Методы поиска подмножеств множества вершин V графа G, удовлетворяющих определенным условиям и свойствам. Понятие независимых множеств и порядок их генерации. Определение доминирующего множества. Основные этапы решения задачи о наименьшем разбиении.
контрольная работа [32,1 K], добавлен 11.03.2010Алгоритм сортировки Шейкер: математическое описание задачи и описание алгоритма. Алгоритм покрытия: построение одного кратчайшего покрытия. Описание схемы и работы алгоритма на графах: нахождение кратчайшего пути. Контрольные примеры работы алгоритмов.
курсовая работа [43,8 K], добавлен 19.10.2010Теоретические сведения. Основные понятия. Строка, её длина, подстрока. Понятие о сложности алгоритма. Алгоритмы основанные на методе последовательного поиска. Алгоритмы Рабина, Кнута - Морриса - Пратта, Бойера – Мура.
курсовая работа [138,3 K], добавлен 13.06.2007Транскрипционные факторы. Представление регуляторных элементов. Алгоритмы поиска мотивов. Скрытые Марковские модели и вспомогательные алгоритмы. Тестирование на сгенерированных и реальных данных, отличия в показателях. Сравнение с другими алгоритмами.
дипломная работа [5,0 M], добавлен 24.05.2012Основные понятия и определения алгоритмов на графах. Связные графы без циклов, свободное дерево или дерево без корня. Ориентированные графы (орграфы), их использование для представления отношений между объектами. Матрицы смежности и инциденций.
презентация [93,9 K], добавлен 13.09.2013Теоретические сведения об алгоритмах поиска подстроки в строке. Глобализация информации в сети Internet. Интеллектуальный поиск. Алгоритм последовательного (прямого) поиска, Рабина и их применение. Анализ алгоритмов. Реализация программного кода.
курсовая работа [230,8 K], добавлен 12.02.2009Алгоритмы, использующие решение дополнительных подзадач. Основные определения теории графов. Поиск пути между парой вершин невзвешенного графа. Пути минимальной длины во взвешенном графе. Понятие кратчайшего пути для графов с помощью алгоритма Флойда.
реферат [39,6 K], добавлен 06.03.2010Описание алгоритма сортировки с двоичным включением, выбор структур данных. Пример сортировки массива, отсортированного случайным образом. Алгоритм покрытия по методу "Построение одного кратчайшего покрытия". Волновой алгоритм поиска длиннейшего пути.
курсовая работа [78,2 K], добавлен 24.09.2010Методы реализации алгоритмов сортировки и алгоритмов поиска на языках программирования высокого уровня. Программирование алгоритмов сортировки и поиска в рамках создаваемого программного средства на языке Delphi. Создание руководства пользователя.
курсовая работа [1,7 M], добавлен 16.04.2012Характеристика основных патентных баз данных, используемых при проведении патентно-информационного поиска в Интернете. Стратегия патентного поиска и системы патентной классификации. Использование логических операторов и ключевых слов при поиске.
презентация [1,9 M], добавлен 15.09.2011Основные критерии и требования к средствам поиска по ресурсу. Технологии создания инструментов поиска. Способы поиска по ресурсу. Принцип действия поиска по ключевым словам и при помощи поисковых систем. Разработка ресурса "Поиск по ресурсу" в виде блога.
курсовая работа [983,7 K], добавлен 01.02.2015Поиск в массивах и списках, ключ и произвольные данные. Линейный (последовательный) поиск. Бинарный поиск в упорядоченном массиве. Алгоритм Рабина-Карпа, простая и улучшенная хэш-функция. Алгоритм Бойера-Мура со сдвигом по стоп-символам и по суффиксам.
презентация [1,5 M], добавлен 19.10.2014Задача об оптимальном графе для децентрализованного поиска. Жадный алгоритм. Модель Клайнберга. Математическая модель. Алгоритмы решения. Алгоритм локального поиска. Табу алгоритм. Метод ветвей и границ. Выбор между одинаковыми соседями. Стартовый граф.
дипломная работа [4,1 M], добавлен 23.10.2016Задачи компьютерного зрения. Анализ, разработка и реализация алгоритмов поиска и определения движения объекта, его свойств и характеристик. Алгоритмы поиска и обработки найденных областей движения. Метод коррекции. Нахождение объекта по цветовому диапазон
статья [2,5 M], добавлен 29.09.2008