5335
.pdf81
2.7. Лабораторная работа 7
Тема: Генетические алгоритмы
Цель работы – изучить особенности применения генетических алгоритмов к оптимизационным задачам, получить опыт применения генетических алгоритмов к конкретной предметной области.
Теоретические сведения
Генетические алгоритмы (ГА) – это адаптивные методы поиска, которые в последнее время часто используются для решения задач функциональной и структурной оптимизации. ГА способны развивать решения реальных задач,
если те закодированы соответствующим образом.
Данные алгоритмы строятся на основе принципов эволюции биологических организмов Чарльза Дарвина. В природе наиболее приспособленные к окружающим условиям особи будут иметь больше шансов воспроизвести потомков. Следовательно, гены высокоадаптированных особей распространяются в популяции и количество их потомков возрастает в каждом следующем поколении, т.е. вид развивается за счёт приспособления к среде обитания.
Генетические алгоритмы по аналогии с эволюционным механизмом работают с популяцией, каждая из хромосом которой представляет возможное решение данной задачи. Каждая хромосома представляет собой конкатенацию ряда подстрок, называемых генами и оценивается мерой её
«приспособленности», которую называют функцией оптимальности. Наиболее приспособленные особи получают возможность «воспроизвести» потомство с помощью «перекрестного скрещивания» с другими особями популяции. В
результате появляются новые особи, сочетающие в себе характеристики,
наследуемые от родителей. Наименее приспособленные особи постепенно исчезают из популяции в процессе эволюции. Новое поколение обладает лучшими характеристиками по сравнению с предыдущими. Скрещивание наиболее приспособленных особей приводит к тому, что эволюция отыскивает
82
перспективное решение в широком пространстве поиска. В конечном итоге,
популяция сходится к оптимальному решению задачи.
Рассмотрим стандартный генетический алгоритм.
Обычно хромосома – это строка бит, хотя ГА реализуют не только бинарное представление. Хромосомы строят с использованием векторов вещественных чисел – строк фиксированной, или переменной длины. Гены располагаются в различных позициях (локусах) хромосомы и принимают значения, называемые аллелями, т.е ген – это бит, локус – его позиция в строке, и аллель – его значение
(0 или 1).
Функцией приспособленности в ГА может служить целевая функция оптимизации. Стандартный ГА генерирует начальную популяцию структур случайным образом и работает итерационно до тех пор, пока не выполнится заданное число поколений или критерий остановки. ГА реализует отбор хромосом пропорционально приспособленности, одноточечный кроссовер и мутацию для каждого поколения. Сначала пропорциональный отбор назначает каждой i-й хромосоме вероятность Ps(i), равной отношению её приспособленности к суммарной приспособленности популяции:
Ps (i) |
fi |
. |
n |
||
|
fi |
|
|
i 1 |
|
Отбор и замещение всех n особей происходит в соответствии с величиной
Ps(i). Простейший оператор пропорционального отбора – «рулетка», которая отбирает особей с помощью n «запусков». Колесо рулетки содержат по одному сектору для каждого члена популяции. Размер i-го сектора пропорционален соответствующей величине Ps(i). При таком отборе члены популяции с более высокой приспособленностью выбираются чаще, чем особи с низкой. ГА выполняет оператор кроссовер для n выбранных особей с заданной вероятностью Рс, для чего n строк сбиваются на n/2 пар случайным образом. Для каждой пары применяется кроссовер с вероятностью Рс. Выражение 1- Рс
означает вероятность сохранения особей, которые переходят на стадию мутации.
83
Потомки, полученные с помощью кроссовера, заменяют собой родителей и так же переходят к мутации.
Одноточечный кроссовер работает следующим образом. Сначала случайным образом выбирается одна из l-1 точек разрыва. Точка разрыва – граница между соседними битами в строке. Обе родительские структуры разрываются в этой точке на два сегмента. Затем соответствующие сегменты различных родителей склеиваются и получаются два генотипа потомков.
Пример одноточечного кроссовера:
Генотипы родителей:
Родитель-1: 1111111111
Родитель-2: 0000000000
Выбранная точка разрыва: 3
Генотипы потомков:
Потомок-1: 1110000000
Потомок-2: 0001111111
Пример выполнения Лабораторной работы 7
Условие оптимизационной задачи расчёта химической технологии:
Пусть имеется N химических реакторов, соединенных последовательно и перерабатывающих некоторый тип сырья с целью выделить из него полезный продукт. Пусть x = (xk1, xk2, …, xkn) – характеристика свойств данного продукта.
Обозначим xk = (xk1, xk2, …, xkn) характеристику продукта на входе реактора k,
тогда xk+1 – характеристика на выходе из реактора.
Пусть uk – набор параметров, регулирующих процесс преобразования продукта в k-ом реакторе. Считаем, что известна зависимость xk+1 = fk(xk, uk) для k-го реактора. При этом на реактор могут быть наложены ограничения
γk(uk) < dk.
Требуется найти оптимальные векторы uk, чтобы при заданных начальных свойствах x = (x11, x22, …, xnn) максимизировать величину φ(x1, x2, …, xN, u1,u2,
…, uN), которая может выражать, например, стоимость продукта.
84
В алгоритме жирным шрифтом выделены операции, приводящие к решению данной задачи.
1. Выбор направления эволюционного моделирования
Генетические алгоритмы (ГА) – предназначенные для оптимизации функций дискретных переменных и использующие аналогии естественных процессов рекомбинации и селекции.
2.Выбор типа перераспределения наследственных факторов:
1)рекомбинация хромосомных и нехромосомных генов;
2)рекомбинация целевых негомологических хромосом;
3)рекомбинация участков хромосом, представленных непрерывными молекулами ДНК.
3.Выбор типа рекомбинации участков хромосом:
1)кроссинговер.
Происходит обмен определенными участками между гомологичными хромосомами. Приводит к новому сочетанию сцепленных генов;
2) сайт.
На коротких специализированных участках хромосом происходит обмен генных носителей различных по объёму и составу генетической информации; 3) иллегальная рекомбинация.
Допускает негомологичные обмены (транслокации, инверсии и случаи неравного кроссинговера).
4. Выбор генетических операций:
1) мутация.
Получение разнообразного генетического материала; 2) инверсия.
Участок хромосомы поворачивается на 180о;
3) транслокация.
Перенос части одной хромосомы в другую хромосому;
85
4) транспозиция.
Перенос части хромосомы на другую позицию в пределах этой же хромосомы.
5) делеция.
Выпадение отдельных участков хромосом; 6) дупликация.
Повторение участка генетического материала.
Ген
Геном (ДНК)
Хромосома
5. Способ кодировки хромосомы:
L – длина хромосомы
N – количество реакторов в цепи
P – количество параметров, регулирующих процесс в реакторе
L = N*P |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
Вид хромосомы при частном случае 4 реактора по 3 параметра на каждый, |
|||||||||||||||
где знак «|» это граница элемента, uk j |
– j параметр k-го реактора: |
||||||||||||||||
’ |
’ |
’ |
’’ |
u |
’’ |
2 u |
’’ |
’’’ |
u |
’’’ |
2 u |
’’’ |
3 | u |
’’’’ |
1 u |
’’’’ |
’’’’ |
u 1 |
u 2 |
u 3 | u |
1 |
|
3 | u |
1 |
|
|
|
2 u |
3 |
6. Функция оптимальности хромосомы:
Прохождение через N реакторов материала x и оценка стоимости материала на выходе.
7. Вероятностные параметры:
- вероятность мутации
Mut = 0,001
8.Условие завершения эволюции:
1.Стоимость материала (приспособленность хромосомы) > порогового
86
значения.
2.Достигнуто максимально количество эволюционных циклов.
9.Содержание операторов:
отбор;
рекомбинация;
мутация.
10. Простой генетический алгоритм:
1. Создать начальную популяцию.
Создаётся T хромосом с соблюдением правил построения и случайными генами,
удовлетворяющими ограничениям.
2.Оценить приспособленность каждой особи
2.1.Осуществить прохождения материала x через все реакторы.
2.2.Оценить стоимость получившегося материала, которая и будет являться искомой оценкой приспособленности
3.Задание условия остановки. (Остановка := ложь)
4.ВЫПОЛНЯТЬ цикл, ПОКА НЕ выполнится условие (Остановка == истина):
--------------------------------------------------------------------------------------------------------
4.1. ПОВТОРИТЬ (размер популяции / 2) РАЗ следующее:
------------------------------------------------------------------------------------------------
4.1.1.Выбрать 2 особи с высокой приспособленностью из предыдущего поколения для скрещивания.
4.1.2.Скрестить выбранные особи и получить двух потомков.
4.1.3.Оценить приспособленности потомков
4.1.4.Поместить потомков в новое поколение
------------------------------------------------------------------------------------------------
4.2. ЕСЛИ (приспособленность лучшего потомка > порога), ТО
{Остановка:= истина }
--------------------------------------------------------------------------------------------------------
87
Библиографический список
1.Абдикеев Н. М. Проектирование интеллектуальных систем в экономике :
учебник / Н. М. Абдикеев, под ред. Н. П. Тихомирова. – М. : Экзамен , 2004. –
528 с.
2.Абдикеев Н. М. Интеллектуальные информационные системы / Н. М.
Абдикеев. – М. : КОС-ИНФ, Рос. экон. акад., 2003. – 188 с.
3. Андрейчиков А. В. Интеллектуальные информационные системы : учебник /
А. В. Андрейчиков, О. Н. Андрейчикова. – М. : Финансы и статистика, 2004. –
424с.
4.Гаврилова Т. А. Базы знаний интеллектуальных систем / Т. А. Гаврилова, В.
Ф. Хорошевский. – СПб. : Питер , 2000. – 348 с.
5.Гаскаров Д. В. Интеллектуальные информационные системы : учеб. для вузов /
Д. В. Гаскаров. – М. : Высш. шк., 2003. – 431 с.
88
6. Джексон П. Введение в экспертные системы / П. Джексон. – М. : Вильямс,
2001. – 624 с.
7. Искусственный интеллект : 3 кн. / ред. Э. В. Попова. – М. : Радио и связь,
1990.
8.Оссовский С. Нейронные сети для обработки информации / С. Оссовский, пер.
спольск. И. Д. Рудинского. – М. : Финансы и статистика, 2002. – 342 с.
9.Романов В. П. Интеллектуальные информационные системы в экономике :
учеб. пособие / В. П. Романов, под ред. проф. Н. П. Тихомирова. – М. :
Экзамен , 2003.
10. Фролов Ю. В. Интеллектуальные системы и управленческие решения / Ю. В.
Фролов. – М. : Изд-во МГПУ, 2000.
11.Ярушкина Н. Г. Основы теории нечётких и гибридных систем : учеб. пособие /
Н. Г. Ярушкина. – М. : Финансы и статистика , 2004. – 320 с.
12.Яхъяева Г. Э. Нечеткие множества и нейронные сети : учеб. пособие / Г. Э.
Яхъяева. – М. : Интернет-Университет Информационных технологий;
БИНОМ, 2008.
13.Уткин В. Б. Информационные системы в экономике : учебник для студ. высш.
учеб. заведений / В. Б. Уткин, К. В. Балдин. – М. : Академия, 2004. – 288 с.
14.Леоненков А. В. Нечёткое моделирование в среде MATLAB и fuzzy TECH / А.
В. Леоненков. – СПб. : БХВ – Петербург, 2005. – 736 с.
15.Анализ рязанского рынка СМИ при помощи самоорганизующихся карт Кохонена ( http://www.basegroup.ru/library/practice/media/ )
16.Kohonen's Self Organizing Feature Maps Англоязычный вариант детального описания структуры, процесса обучения и результатов работы SOM.
( http://www.ai-junkie.com/ann/som/som5.html )
17.Кластеризатор на основе нейронной сети Кохонена. Е. С. Борисов
( http://mechanoid.narod.ru/nns/kohonen/index.html )
18.T. Kohonen Self-Organizing Maps. Springer. 1995.
19.Нейронная сеть Кохонена. Материал из Википедии — свободной энциклопедии
( http://ru.wikipedia.org/wiki/Нейронная_сеть_Кохонена )
89
20. Самоорганизующаяся карта Кохонена: материал из Википедии — свободной энциклопедии
( http://ru.wikipedia.org/wiki/Самоорганизующаяся_карта_Кохонена )
21. Самоорганизующаяся карта. Статья от Basegroup Labs.
Приложение А – Методы представления знаний
В толковом словаре С.И. Ожегова знания определяются как « постижение действительности сознанием, наука» или « знание – это совокупность сведений,
познаний в какой-либо области».
Исследования в области искусственного интеллекта потребовали более конкретных определений знания, данных и информации.
Функциональное соотношение этих понятий можно представить таким образом. Зафиксированные (воспринятые) сигналы реального мира представляют собой данные. Информация появляется при использовании данных в процессе решения конкретных задач. В это же время формируется новое личное знание субъекта. Знания накапливаются, обобщаются в виде теорий и совокупности взглядов и образуют обобществлённые знания,
отчуждённые от субъектов их сформировавших. Такие знания обычно представляются в форме документов и сообщений и могут опять рассматриваться как данные. Станут ли данные информацией, зависит от
90
методов преобразования, которые являются субъективными и, в свою очередь,
зависят от целей субъекта. Поэтому информация не является статичным объектом, поскольку постоянно изменяется и существует только в момент взаимодействия данных и методов.
Классификация знаний может проводиться по различным основаниям.
По способу существования различают факты и эвристики.
Факты – это хорошо известные обстоятельства; эвристики – это знания из опыта экспертов в конкретной предметной области.
По формам представления знания бывают декларативные и процедурные.
В декларативной форме факты представляются в виде наборов структурированных данных. Знания описывают факты и явления, основные связи и закономерности. В процедурной форме – это алгоритм в виде процедур обработки фактов, т.е. действия с фактами и явлениями для достижения намеченных целей.
Для описания знаний на абстрактном уровне используются специальные языки описания знаний. В компьютерах фон-неймановской архитектуры описание знаний производится языками процедурного типа.
По способу приобретения знания делятся на научные и бытовые.
По способу использования в экспертных системах различают:
-фактические знания ( знания типа « А – это А» );
-правила ( знания типа « Если – то» );
-метазнания.
Знания, относящиеся к конкретному объекту из какого-либо класса,
называются экстенсиональными. Знания, характеризующие весь класс объектов,
называются интенсиональными. Как правило, и те и другие относятся к декларативным знаниям и выражают родовидовые отношения.
Знания о реальном мире это физические знания. Ментальные знания – это знания об отношениях объектов. Предметные знания – это знания о предметной области. Прагматические знания – знания о практическом смысле описываемых объектов и явлений в конкретной ситуации. Знания о смысле и значениях явлений и объектов – это семантические знания. Морфологические знания –