Программная система автоматического формирования нечеткого логического контроллера

 















КВАЛИФИКАЦИОННАЯ РАБОТА БАКАЛАВРА

Программная система автоматического формирования нечеткого логического контроллера


Содержание


Введение

Глава 1. Постановка задачи на разработку методов автоматического формирования нечетких систем управления

1.1 Тестовая задача

1.2 Функция пригодности

1.3 Формирование задачника

.4 Общая постановка задачи

Глава 2. Сведения из теории интеллектуальных систем

2.1 Нечеткая логика

2.2 Искусственные нейронные сети

2.3 Генетические алгоритмы

Глава 3 Методы и алгоритмы автоматического формирования нечетких систем управления

.1 Генетический подход к формированию БП для нечеткой системы управления

3.2 Нейросетевой подход к формированию БП для нечеткой системы управления

.3 Настройка семантики лингвистических переменных

.4 Коэволюционный алгоритм для формирования НСУ в целом

Глава 4. Практическая реализация разработанных подходов и исследование эффективности их работы

4.1 Программная реализация

.2 Подбор оптимальной структуры оптимизационного алгоритма

4.3 Сравнение эффективности подходов

Заключение

Список литературы


Введение


Актуальность

В настоящее время все большую роль в управлении сложными, в том числе социальными и экономическими системами, играют интеллектуальные информационные технологии, позволяющие освободить человека от рутинных интеллектуальных операций и переключить внимание на творческие задачи принятия решения. Одной из таких технологий являются экспертные системы, основанные на нечеткой логике и теории нечетких множеств (НСУ). НСУ представляют в виде формализованных моделей, использующих нечеткие и неявные знания человека, что позволяет им (системам) решать довольно большой круг задач. Однако рост практического использования таких экспертных систем в значительной мере сдерживается трудностями в их разработке. Инженер по знаниям и эксперт (в подавляющем большинстве случаев это группа экспертов) должны длительное время взаимодействовать друг с другом. Цель такого взаимодействия - извлечение знаний из эксперта, их (знаний) формализация и кодирование. Но в реальности такое взаимодействие не всегда возможно, кроме того, работа с экспертом это дорогое удовольствие. В большинстве случаев именно с данной стадией проектирования НСУ связанны основные материальные и временные затраты.

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

Цель работы

Целью данной работы является разработка и исследование методов автоматического проектирования нечетких систем управления.

Для достижения данной цели необходимо решить следующие задачи:

.разработать методы автоматического формирования базы правил (БП) нечеткого контроллера

.разработать методы автоматической настройки семантики лингвистических переменных

.разработать методы одновременной настройки семантики лингвистических переменных и формирования БП.

.исследовать данные методы на тестовой задаче и сравнить результаты.

Методы исследования

В данной работе использовались методы системного анализа, нечеткой логики, оптимизации, методики разработки интеллектуальных информационных систем.

Научная новизна

.Разработаны, реализованы и исследованы новые методы автоматического формирования базы правил, основанные на генетических алгоритмах и искусственных нейронных сетях.

.Разработан, реализован и исследован новый метод автоматической настройки семантики лингвистических переменных.

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

Практическая значимость

Алгоритмы автоматического формирования базы правил позволяют:

.минимизировать роль человека при разработке НСУ,

.ускорить процесс разработки НСУ,

.уменьшить затраты на разработку НСУ,

.решать более сложные задачи.

Программная система, разработанная в данной работе, используется в качестве лабораторной установки для обучения студентов Сибирского государственного аэрокосмического университета по дисциплине «Интеллектуальные технологии и принятие решения».

Защищаемые положения

.Метод автоматического формирования БП, основанный на искусственной нейронной сети, превосходит по эффективности метод, основанный на генетических алгоритмах.

.Метод автоматической настройки семантики лингвистических переменных позволяет улучшить работу НСУ для фиксированной базы правил;

.Разработанный метод совместной настройки семантики лингвистических переменных и базы правил позволяет эффективно разрабатывать НСУ и превосходит по эффективности каждый из этих алгоритмов в отдельности;

.Подобраны оптимальные структуры оптимизационного алгоритма для двух подходов автоматического формирования БП;

Апробация

Процесс разработки методов и результаты исследований докладывались на следующих конференциях:

  • VII Всероссийская научная конференция «Решетневские чтения», Красноярск 2003.
  • Всероссийская научная конференция молодых ученых «НАУКА. ТЕХНОЛОГИИ. ИННОВАЦИИ», Новосибирск 2003.
  • 37-ая Краевая научная студенческая конференция, Красноярск 2004.
  • 42-ая научно-практическая конференция студентов, аспирантов и молодых ученых, посвященная Всемирному дню авиации и космонавтики, секция «Кибернетики», Красноярск 2004.
  • Всероссийская научная конференция студентов, аспирантов и молодых ученых, Кемерово 2004.
  • Межрегиональный научный фестиваль «Молодежь и наука - третье тысячелетие», Красноярск 2004.

Публикации

По материалам данной работы авторами опубликовано 8 печатных работ, из них: 3 - статьи в сборниках, 5 - работы, опубликованные в материалах конференций. Также на данный момент 2 статьи находятся в печати. Полный список публикаций представлен в конце работы.

Разработанные методы и алгоритмы

Методы и алгоритмы, разработанные Малько Владимиром.

.Генетический подход для формирования базы правил НСУ.

.Алгоритм настройки семантики лингвистических переменных.

.Критерий оценивания эффективности работы НСУ.

Методы и алгоритмы, разработанные Липинским Леонидом.

.Нейросетевой подход для формирования базы правил НСУ.

.Коэволюционный алгоритм для настройки НСУ в целом.

.Задачник для оценивания эффективности работы НСУ.

Методы, алгоритмы и модули программной системы, разработанные совместно Малько Владимиром и Липинским Леонидом.

.Модуль программной системы, реализующий нечеткую систему управления.

.Редактор термов нечеткой системы управления.

.Редактор базы правил нечеткой системы управления.

Структура работы

Квалификационная работа содержит основной текст на 45 с., 19 иллюстраций, приложение на 9 с., список использованной литературы из 5 наименований, список публикаций авторов, и имеет следующую структуру:

В главе 1 дана постановка задачи на разработку методов автоматического формирования нечетких систем управления.

В главе 2 изложены основные определения, термины и понятия, а также алгоритмы работы нечетких систем управления, искусственных нейронных сетей и генетических алгоритмов.

В главе 3 рассмотрены методы формирования БП и настройки семантики лингвистических переменных и описан алгоритм формирования НСУ в целом.

В главе 4 описана программная система, реализующая все рассмотренные методы и позволяющая формировать НСУ, приведены результаты тестов по выбору наиболее эффективных структур оптимизационного алгоритма и произведено сравнение эффективностей рассмотренных подходов формирования НСУ.


Глава 1. Постановка задачи на разработку методов автоматического формирования нечетких систем управления


.1 Тестовая задача


Оценка качества рассматриваемых подходов производилась на следующей тестовой задаче: имеется система «Тележка - Перевернутый маятник», изображенная на рисунке 1.1.1.


Рис. 1.1.1 Система «Тележка - Перевернутый маятник»


Динамичное поведение перевернутого маятника описывается двумя дифференциальными уравнениями:


, (1.1.1)

, (1.1.2)


где q (t) - угол наклона маятника от вертикали в момент времени t,

q'' (t) - угловая скорость,

q''' (t) - угловое ускорение,

x (t) - позиция тележки в момент времени t,

x' (t) - скорость тележки,

x'' (t) - ускорение движения тележки,

l - длина маятника (от точки вращения до центра масс),

mb - масса маятника,

m - суммарная масса тележки и маятника,

g - гравитационная постоянная,

F (t) - сила, прилагаемая к тележке в момент времени t.

Данные уравнения не учитывают силу трения при движении.

Состояние системы в каждый момент времени характеризуется значением 4-х ее параметров:

·положение системы - x(t);

·линейная скорость системы - x(t);

·угол отклонения маятника - (t);

·угловая скорость маятника - (t).

Управляющим воздействием является сила F(t), прикладываемая к системе «Тележка - Перевернутый маятник».

Система может перемещаться вдоль одной оси в интервале от минус 100 до 100 м. Маятник может совершать колебания в интервале от минус 12 до 12 градусов. Если значения положения системы или угла маятника превышают указанные интервалы, то считается, что система управления потерпела неудачу.

Необходимо построить нечеткий логический контроллер, управляющий системой «Тележка - Перевернутый маятник». Целью управления является приведение системы в состояние равновесия, которое характеризуется нулевым значением отклонения маятника от вертикальной оси и нулевым значением позиция тележки, за счет передвижения системы вдоль оси X, при любом начальном допустимом положении тележки и маятника.


1.2 Функция пригодности


Оценка эффективности работы БП для задачи «Тележка - Перевернутый маятник» производилась по следующему критерию, который необходимо было минимизировать в процессе оптимизации:


, (1.2.1)

, (1.2.2)

, (1.2.3)

, (1.2.4)

, (1.2.5)


где a - максимально допустимое число шагов (тактов) работы системы при тестировании,

Sq - число шагов, сделанных системой, до момента прекращения тестирования,

Ki - уровень значимости i-го параметра системы, i = 1, 2, 3, 4,

Pi Cur - текущие значение i-го параметра системы, i = 1, 2, 3, 4,

Pi max - максимальное реально достигаемое значение i-го параметра системы, i = 1, 2, 3, 4,

N - количество параметров системы (в нашем случае N = 4),

P1 j - позиция тележки на j-м шаге,

P2 j - линейная скорость тележки на j-м шаге,

P3 j - угол отклонения маятника от вертикали на j-м шаге,

P4 j - угловая скорость отклонения маятника на j-м шаге.

Значения 0.5 в формуле FitS, 200 в формуле B и 0.3 в формуле C были подобраны экспериментально.

Функции, указанные в квадратных скобках, могут быть включены в общий критерий по желанию пользователя (включение/исключение соответствующей функции производится в настройках алгоритма оптимизации).

Данная функция качества позволяет на первых этапах работы ГА производить отбор решений, которые достаточно продолжительное время пытаются привести систему в равновесное состояние (доминирование слагаемого ошибки FitS). Включение же дополнительных критериев дает следующие преимущества:

[A] - когда почти все индивиды начнут более или менее хорошо ловить маятник, их пригодность будет уже определяться тем, насколько хорошо они ловят (FitS устремится к 0.5, а [A] начнет доминировать над FitS, определяя качество);

[B] - если индивид не смог продержаться заданное число тактов при тестировании, т.е. потерял управление над системой за число шагов, меньшее чем a, то он считается не способным решить данную тестовую задачу за что и получает «штрафные баллы»;

[C] - данный критерий обеспечивает быстроту и плавность управления системой, отбрасывая индивиды, совершающие большие колебательные движения и находящиеся далеко от нулевого положения.

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


1.3 Формирование задачника


Для более объективной оценки качества управления, был введен тестовый задачник (ТЗ). ТЗ состоит из набора начальных параметров системы. Система ставится в условия каждой тестовой задачи, после чего запускается контроллер. Качество управления оценивается по критерию (1.2.1). Общая оценка находится как сумма оценок качества по каждой задаче.

Задачник может создаваться случайным образом или составляться экспертом.

Если есть возможность создать задачник на основе заключений экспертов, то предпочтительнее использовать его. В таком случае задачник должен отвечать двум основным и, в то же время, противоречивым требованиям. Во-первых, ТЗ не должен быть слишком большого объема (не должен содержать слишком много тестовых задач), иначе оценка одной БП займет неприемлемо много времени. Во-вторых, ТЗ должен отражать основные (наиболее общие) ситуации, для более объективной оценки качества управления.


1.4 Общая постановка задачи


Необходимо разработать методы, позволяющие автоматически настраивать базу правил или базу правил и семантику лингвистических переменных контроллера решающего задачи из ТЗ.


, (1.4.1)


где - значение критерия (1.2.1) на i-ой тестовой задачи из задачника, - значение соответствующего компонента критерия на i-ой тестовой задаче, M - количество задач в ТЗ.


Глава 2. Сведения из теории интеллектуальных систем


.1 Нечеткая логика


Первые упоминания о нечеткой логике появились в 1965 году в работах Лофте Заде. Первоначально она разрабатывалась как средство моделирования неопределенности естественного языка, однако впоследствии круг задач, в которых нечеткая логика нашла применение, значительно расширился. В настоящее время она используется для управления линейными и нелинейными системами реального времени, при решении задач анализа данных, распознавания, исследования операций.

Нечеткая логика представляет собой надмножество классической булевой логики. Она расширяет возможности классической логики, позволяя оперировать не только значениями "ложь" и "истина", но и значениями в промежутке между ними. Не смотря на то, что нечеткая логика использует нечеткую информацию и основана на теории нечетких множеств, ее аппарат столь же строг и точен, как и классический.

Рассмотрим основные понятия определения из теории нечетких множеств.

Теория нечетких множеств. Одним из базовых понятий нечеткой логики является понятие нечеткого множества.

Пусть S - множество с конечным числом элементов, S = {}, где n - число элементов (мощность) множества S, R - некоторое свойство. Тогда, нечеткое множество A, элементы которого удовлетворяют свойству R, определяется как множество пар {}, где - характеристическая функция принадлежности (или просто функция принадлежности), принимающая значения из упорядоченного множества M = [0,1]. Функция принадлежности указывает степень принадлежности элемента s нечеткому множеству A, причем, = 1, если элемент s полностью удовлетворят свойству R, и = 0 - в противном случае.

Введем еще несколько определений, которые понадобятся нам в дальнейшем.

Опорное множество A, обозначаемое как supp (A), есть четкое подмножество множества S, все элементы которого имеют не нулевую степень принадлежности в A, т.е. supp (A) = {s S | > 0}.

Нечеткое множество A называется нормальным, если существует элемент sS такой, что = 1. В противном случае A - субнормально.

Очень часто при описании какого-либо объекта возникают такие ситуации, когда мы не можем достаточно точно определить численные значения его параметров, а можем лишь задать их приблизительные значения. К примеру, глубина реки «больше 80» метров, Петрову «около 30» лет и т.д. Это все есть примеры так называемых нечетких чисел.

Нечеткое число A - это нечеткое множество действительных чисел с нормальной, выпуклой и непрерывной функцией принадлежности ограниченного опорного множества.

В зависимости от того, как мы определяем нечеткое число s S - «s приблизительно равен a» или «s приблизительно лежит в интервале [a;b]», - оно может быть представлено либо как триангулярное, либо как трапецеидальное.

Нечеткое множество A называется триангулярным нечетким числом с вершиной (или центром) a, шириной слева >0 и шириной справа >0, если его функция принадлежности имеет вид


, (2.1.1)


и мы используем обозначение A = (a, , ). Опорным множеством множества A является (a - , a + ). Данное нечеткое число с центром a можно понимать как нечеткую величину «s приблизительно равно a».

Нечеткое множество A называется трапецеидальным нечетким числом с интервалом допуска [a,b], шириной слева >0 и шириной справа >0, если его функция принадлежности имеет вид


, (2.1.2)


и мы используем обозначение A = (a, b, , ). Опорным множеством множества A является (a - , b + ). Данное нечеткое число можно понимать как нечеткую величину «s приблизительно находится в интервале [a,b]».

Нечеткие системы управления. Нечеткие системы управления (нечеткие контроллеры, НСУ) являются наиболее важным приложением теории нечетких множеств. Функционирование нечетких логических контроллеров отличается от работы обычных контроллеров. Это отличие состоит в том, что обычные контроллеры основаны на аналитическом выражении, описывающем объект управления, в то время как нечеткие контроллеры используют знания экспертов. Эти знания могут быть выражены естественным образом с помощью так называемых лингвистических переменных.

Лингвистические переменные могут рассматриваться либо как переменные, значения которых являются нечеткими числами, либо как переменные, значения которых определяются в лингвистических термах [2].

Лингвистические переменные характеризуются пятеркой (x, T(x), U, G, M), в которой x - имя переменной, T(x) - множество термов x, т.е. множество имен лингвистических величин x, каждое значение которой есть нечеткое число, определенное на U, G - синтаксические правила для выработки имен величин x, M - семантические правила для связывания каждой величины с ее смыслом.

Предназначение НСУ состоит в том, чтобы следить за значениями переменных состояния управляемой системы и получать величины переменных управления путем определенных связей, которые представляют собой БП системы.

Нечеткие логические системы управления обычно состоят из четырех основных частей: Интерфейс фаззификации (введение нечеткости на четких входных данных), База нечетких правил, Машина нечеткого вывода и Интерфейс дефаззификации (исключение нечеткости для обеспечения четкого выхода) [2].

Интерфейс фаззификации - оператор фаззификации переводит четкие данные в нечеткие множества.

База нечетких правил - содержит информацию о связях нечетких входных и выходных значений.

Машина нечеткого вывода - механизм сопоставления по БП нечетких значений входных параметров нечетким значениям выходных.

Интерфейс дефаззификации - оператор дефаззификации переводит нечеткие множества в четкие значения.

В общем виде принцип работу НСУ представлен на рисунке 2.1.1.


Рис. 2.1.1 Структурная схема нечеткого логического контроллера


2.2 Искусственные нейронные сети


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


Рис. 2.2.1 Схема искусственного нейрона


Модель нейрона. Нервная клетка, или нейрон, является основным элементом нейронной сети. Он представляет собой ядро, которое обрабатывает входящие в него сигналы и передает результат на другие нейроны. Входные сигналы поступает в ядро через синапсы. При прохождении сигнала через синапс сила его импульса меняется в определенное число раз. Коэффициент изменения импульса называется весом синапса. Импульсы, поступившие к нейрону одновременно по нескольким синапсам, суммируются. Взвешенная сумма входных сигналов является аргументом для функции активации - реакции нейрона, - значение которой и является выходом нейрона. Таким образом, нейрон полностью описывается своими весами и передаточной функцией [3]. Схема функционирования элементарного нейрона с n входами изображена на рисунке 2.2.1.


S = , (2.2.1)

Y = f(S) = f (), (2.2.2)


где x 1, x 2, …, x n - нормированные входные сигналы,

w 1, w 2, …, w n - веса синаптических связей,

S - взвешенная сумма входных сигналов,

f(S) - функция активации.


Рис.2.2.2 а) функция единичного скачка; б) линейный порог (гистерезис); в) сигмоид - гиперболический тангенс; г) сигмоид - формула (2.2.3)










Нелинейная функция f(s) - функция активации - может иметь различный вид (см. рисунок 2.2.2). Наиболее распространенной является нелинейная функция с насыщением - сигмоид (функция S-образного вида):


(2.2.3)


При изменении параметра a сигмоида меняется его внешний вид. Уменьшение параметра приводит к тому, что сигмоид становится более пологим, а в пределе, при a=0, вырождается в горизонтальную линию на уровне 0.5. Увеличение a приближает сигмоид по внешнему виду к функции единичного скачка с порогом в точке x=0 [4].

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

Структура нейросетей. Искусственная нейронная сеть (ИНС, нейросеть) - это совокупность нейронов, объединенных между собой (рис. 2.2.3). Как правило, передаточные функции всех нейронов в сети фиксированы, а веса являются параметрами сети и могут изменяться. Некоторые входы нейронов помечены как внешние входы сети, а некоторые выходы - как внешние выходы сети. Подавая любые числа на входы сети, мы получаем какой-то набор чисел на выходах сети. Таким образом, работа нейросети состоит в преобразовании входного вектора в выходной вектор, причем это преобразование задается весами сети и функциями активации.

Проектирование ИНС происходит в два этапа. На первом этапе необходимо выбрать тип (архитектуру) сети, которая определяется видом нейронов, способом их соединения, направлением распространения сигналов, а также подобрать количество слоев и число нейронов на каждом слое. На втором этапе производится процесс обучения сети - подбор весов синаптических связей сети.


Рис. 2.2.3 Нейронная сеть с k скрытыми слоями

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

Обучение сети. Обучить нейросеть - значит, подобрать такие веса синаптических связей сети, чтобы на любой выходной вектор значений сеть выдавала адекватный (правильный) выходной вектор.

Обучение сети может производиться одним из двух способов: с учителем и без учителя. При обучении с учителем набирается некоторый объем наблюдений, либо с помощью экспертной оценки создается минимальный задачник (совокупность входных и выходных значений) и на их основе производится обучение нейронной сети по одному из известных алгоритмов обучения, например, Error Back Propagation - алгоритм обратного распространения ошибки [3]. Если такой подход невозможен, то используется обучение без учителя. Настройка весом в этом случае производится либо на основе конкуренции нейронов между собой, либо с учетом корреляции обучающих и выходных сигналов. Примерами алгоритмов обучения без учителя могут служить алгоритм Winner Take All, генетические алгоритмы, обучение по Хеббу.

В контексте ИНС процесс обучения может рассматриваться как настройка архитектуры сети и весов синаптических связей для эффективного выполнения конкретной задачи. В процессе обучения функционирование сети улучшается по мере итеративной настройки весовых коэффициентов.

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

2.3 Генетические алгоритмы

автоматический проектирование нейронный семантика

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

Каждый индивид в ГА представляет собой решение, закодированное определенным образом (например, в виде бинарной, восьмеричной, десятичной или др. строки) - хромосому. Совокупность таких индивидов в фиксированный момент времени составляет популяцию. Этап эволюционного развития индивидов определяется номером поколения, в котором в данный момент времени находятся индивиды. Индивиды последующей популяции (потомки) получаются путем наследования признаков своих родителей и случайного изменения их генотипа, известного в природе как мутация. Каждый индивид в ГА характеризуется некоторым числом (пригодностью), обозначающим меру его адаптации к окружающей среде [5].

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

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

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

Равновероятная селекция. Самая простая, но менее эффективная модель селекции. При данном виде селекции вероятности выбора индивидов в качестве родителя равны, вне зависимости от пригодности индивида.

Преимуществами данного вида селекции является:

·нет преждевременной сходимости,

·нет стагнации,

·индивиды популяции охватывают большую площадь поискового пространства.

Недостаток: низкая эффективность поиска.

Пропорциональная селекция. Пропорциональная селекция является наиболее распространенной и используемой в ГА. Вероятность отбора индивида для скрещивания при данной селекции пропорциональна его пригодности и определяется следующим образом:


pi = ,


где fi - пригодность i - го индивида, - средняя пригодность популяции и N - объем популяции.

Однако данная модель селекции обладает двумя отрицательными чертами:

·преждевременная сходимость - если на ранних поколениях был получен индивид с fi >>, но fi << fmax , то гены такого индивида быстро распространятся на всю популяцию и рекомбинация не сможет более производить новых индивидов, т.е. fi << fmax навсегда;

·стагнация - ближе к концу работы алгоритма все индивиды получают относительно высокую и примерно равную пригодность, т.е. , поэтому наилучшее решение будет предпочитаться лишь немного больше, чем наихудшее. Это приводит к очень маленькому селективному давлению.

Ранговая (линейная) селекция. Первоначально происходит упорядочивание индивидов по их пригодности (по возрастанию), т.е. fi ³ fj для i > j. Затем каждому индивиду, в зависимости от его места в упорядоченном ряду, назначается вероятность pi быть отобранным. Для линейной ранговой селекции используется следующее распределение вероятностей: pi = a×i + b (a <0), причем Si pi = 1. Здесь, i - номер индивида в ранжированном ряде, a и b - параметры линейной ранговой селекции.

Основные преимущества данной модели селекции:

·нет преждевременной сходимости,

·нет стагнации,

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

Недостатками ранговой селекции являются значительные накладные расходы на переупорядочивание индивидов и трудность теоретического анализа сходимости.

Турнирная селекция. Одна из самых эффективных схем селекции, используемая для решения большинства задач оптимизации. Для отбора индивида в качестве родителя из текущей популяции случайным образом набирается группа в M индивидов (M - размер турнира и 2 £ M). Затем из данной группы выбирается индивид с наибольшей пригодностью, а остальные индивиды возвращаются в популяцию.

Преимущества турнирной селекции:

·нет преждевременной сходимости,

·нет стагнации,

·не требуется глобальное переупорядочивание,

·не требуется явное вычисление функции пригодности.

Элитарная селекция. Набирается группа из M наилучших индивидов из всей популяции (M - размер элиты и 2 £ M). Затем отобранная элита переносится в новую популяцию, а оставшиеся (N - M) индивидов новой популяции получаются при скрещивании индивидов элитарной группы между собой. Индивиды, не вошедшие в элиту, игнорируются и не участвуют ни в каких операциях.

Преимуществом элитарной селекции является то, что есть гарантия сходимости ГА к глобальному экстремуму, если таковой будет обнаружен в ходе оптимизации.

Недостатки данной селекции является большой риск захвата локальным минимумом.

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

·Одноточечная рекомбинация представляет собой разбиение родительских хромосом в одной точке, выбранной случайным образом, и обмен правыми частями хромосом. Схематически одноточечная рекомбинация отображена на рис. 2.3.1.


Рис. 2.3.1 Пример одноточечной рекомбинации

При двухточечной рекомбинации разбиение родительских хромосом происходит уже в двух точках. После разбиение для получения потомков родители обмениваются центральными частями хромосом.

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

Мутация. Оператор мутации предназначен для поддержания разнообразия особей в популяции и является методом восстановления потерянной генетической информации. Он состоит из выполнения небольших изменений в значениях одного или нескольких генов в хромосоме. В двоичных хромосомах мутация состоит в инвертировании случайным образом выбранного бита генотипа, например, 101000101 à 100000101.

Хорошим эмпирическим правилом считается выбор вероятности мутации из соотношения pm = , где H - число бит в хромосоме. На основе этого правила можно произвести классификацию мутации по трем типам:

-слабая (pm < ),

-средняя (pm =),

-сильная (pm > ).

Схема работы генетического алгоритма:

  1. Инициализация популяции случайными значениями;
  2. Оценивание популяции;
  3. Повторять, пока не выполнится условие останова:

Селекция. Отбор по определенной методике части популяции для воспроизводства;

Рекомбинация. Формирование индивидов новой популяции путем обмена частей хромосом отобранных родителей;

Мутация. Изменение генов хромосом индивидов полученной популяции для восстановления потерянной информации;

Оценивание. Оценивание пригодности индивидов популяции.

Замещение. Отбор индивидов в следующее поколение из популяции родителей и потомков.

Решением будет наилучший индивид в последнем поколении, либо наилучший найденный индивид, сохраненный в отдельной ячейке памяти.


Глава 3 Методы и алгоритмы автоматического формирования нечетких систем управления


Для упрощения работы с БП при оптимизации нами был предложен следующий способ преобразования БП из вида if x = A then y = B к целочисленному виду. Каждому терму лингвистических переменных присваивался номер, соответствующий порядку его расположения на числовой оси. Например, в случае описания переменной 5-ю термами, им будут присвоены следующие номера - «Отрицательное большое» = 0, «Отрицательное малое» = 1, «Ноль» = 2, «Положительное малое» = 3 и «Положительное большое» = 4 (см. рис. 3.1).


Рис. 3.1 Порядок нумерации терм лингвистических переменных


Тогда, в случае n входов и одного выхода, БП будет представлять собой n-мерный массив. Порядковые номера терм входных лингвистических переменных будут служить индексами данного массива, а элементами массива будут являться номера терм выходной переменной.


3.1 Генетический подход к формированию БП для нечеткой системы управления


Каждый индивид в ГА представляет собой решение - БП, содержащую все правила, необходимые для управления системой, и принадлежащую множеству всех возможных БП.

В ГА БП кодируется бинарной строкой фиксированной длины. Поскольку БП представляет собой n-мерный целочисленный массив, то ее кодировка не составляет особой сложности (см. рис.3.1.1). Если учесть тот факт, что БП симметрична относительно точки равновесия (точка в БП, где все входные параметры принимают нулевые значения), то длину хромосомы можно уменьшить в два раза. Тем самым мы уменьшаем время, затрачиваемое на поиск лучшего решения, и одновременно увеличиваем качество найденных решений.


Рис. 3.1.1 Кодирование решений в ГА


После кодирования БП в хромосому запускается механизм обычного ГА, параметры которого были подобраны наиболее эффективным образом на основании проведенных нами исследований.

На первом этапе работы ГА происходит случайная генерация решений - БП (начальной популяции). Затем, эта популяция проходит процесс эволюции в форме естественного отбора. В каждом поколении относительно хорошие решения дают потомков, которые заменяют относительно плохие решения, исчезающие из популяции. Функция пригодности играет роль внешней среды, которая определяет хорошие и плохие решения, т.о. функция пригодности назначает каждому индивиду число, пропорциональное мере адаптации индивида к внешней среде.

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


.2 Нейросетевой подход к формированию БП для нечеткой системы управления


Другим подходом к формированию БП является нейросетевой. Он заключается в интегрировании ИНС в НСУ с последующим ее обучением. Данное интегрирование осуществляется заменой базы нечетких правил в НСУ нейронной сетью. Таким образом, число входов нейронной сети равно числу входных лингвистических переменных, число выходов сети равно единице. Принцип работы такой системы изображен на рисунке 3.2.1.


Рис. 3.2.1 Блок-схема работы нечеткой системы при замене Базы Правил нейронной сетью


Интегрирование ИНС в НСУ позволяет уменьшить размерность поискового пространства, поскольку, в этом случае, происходит подмена задачи оптимизации БП на задачу подбора коэффициентов синаптических связей (весов) нейронной сети, аппроксимирующей данную БП. Размер поискового пространства второй задачи в несколько раз ниже, чем первой, что соответственно уменьшает время на поиск наиболее эффективной БП. Свойство обобщения ИНС позволяет получать решения даже на те задачи, на которые система не обучалась.

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

По окончанию обучения ИНС происходит извлечение БП из «черного ящика» сети и представление ее (БП) в понятном пользователю формате. В дальнейшем, управление системой осуществляется по БП, извлеченной из обученной ИНС, без участия самой ИНС.


.3 Настройка семантики лингвистических переменных


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

Основную сложность при оптимизации термов лингвистических переменных составляет кодирование терм в бинарную строку. Это связано со следующими фактами (проблемами):

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

.в каждой лингвистической переменой должен соблюдаться строгий порядок расположения ее термов (к примеру, … «отрицательное среднее», «отрицательное малое», «ноль», …), который в ходе оптимизации не должен нарушаться;

.термы должны покрывать весь интервал изменения переменной, т.е. между термами не должно существовать разрывов.

Данные проблемы можно обойти, если наложить на решение множество ограничений, но тогда вместо задачи безусловной оптимизации пришлось бы решать задачу условной оптимизации, что гораздо сложнее. Следовательно, необходимо разработать такой способ кодирования и декодирования термов, который позволил бы решить обозначенные выше проблемы. Первая проблема решается достаточно просто - для каждой лингвистической переменной составляется своя масштабная функция вида , в результате применения которой диапазоны изменения переменных становятся одинаковыми. Здесь, x - исходная координата вершины терма по оси абсцисс, k = d/D - коэффициент масштаба, d = (l2-l1) - ширина интервала изменения переменной до масштабирования, D = (lM2-l M1) - ширина интервала изменения переменной после масштабирования, l1 и l2 - левая и правая границы изменения переменной до масштабирования, lM1 и lM2 - левая и правая границы изменения переменной после масштабирования, fM(x) - промасштабированная абсцисса вершины. При декодировании полученного решения используется обратная к масштабной функция:


,


где kM = 1/k = D/d - коэффициент обратного масштаба и xM = fM (x).

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


Однако сразу возникает вопрос, а какая из точек (1) и (2), (3) и (4) должна находиться левее, т.е. (1)>(2) или (2)>(1), (3)>(4) или (4)>(3)? Конечно, если предварительно определить очередность их расположения, например, (1)>(2), (3)>(4), то можно будет избежать данной проблемы. Однако, убрав из рассмотрения остальные варианты расположения точек, мы искусственно сократим поисковое пространство, что не допустимо при оптимизации.

Для решения данной проблемы авторами был разработан алгоритм перевода массива точек в вершины термов. Для каждой пары таких точек ((1) и (2), (3) и (4), …; рис. 3.3.1), назовем их спорными, определяется одна приоритетная точка, к примеру, первая точка пары. Затем найденный массив точек термов сортируется в порядке возрастания их значений. Каждой паре спорных точек в сортированном массиве соответствует своя двойка значений. Первой спорной паре первого терма соответствуют первый и второй элементы сортированного массива, второй паре второго терма - (3) и (4) элементы массива и т.д. Когда возникает вопрос о том, какая из точек будет лежать левее, из двух значений массива приоритетной точке приравнивается то число, которое в исходной строке (не сортированной) встречается раньше. Таким образом, отпадает какая-либо необходимость ввода ограничений на решение или искусственного сокращения пространство поиска.

Рассмотрим этот алгоритм на примере. Пусть некоторая лингвистическая переменная описывается тремя термами и пусть в ходе оптимизации было получено решение в виде массива {1,2,0,7,5,4,8,6}. Для каждой пары спорных точек (1 и 2, 3 и 4, 5 и 6, …; рис. 3.3.1) назначаем приоритетной первую точку, т.е. для 1 и 2 приоритетной является точка 1, для 3 и 4 - это 3 и т.д. После сортировки массив точек примет вид {0,1,2,4,5,6,7,8}. Далее, решается вопрос о расположении точек. Так, точка (2) терма будет лежать левее точки (1), поскольку элемент приоритетной точки {1} в исходном массиве находится левее точки {0}, т.е. точка (2) = {0} терма будет лежать левее точки (1) = {1}. Схематически данная процедура отображена на рисунке 3.3.2.

Для предупреждения разрывов между термами порядок расположения таких точек как (2) и (3) (рис. 3.3.1) оговаривается заранее и не претерпевает изменений в процессе оптимизации. В данном случае, точка (2) должна лежать левее, либо совпадать с точкой (3), в противном случае возникнет разрыв функции, что не допустимо.



Оптимизация термов производится генетическим алгоритмом. Пригодность каждого набора термов определяется аналогично тому, как и в случае оценивания БП.


.4 Коэволюционный алгоритм для формирования НСУ в целом


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

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

Алгоритм состоит из следующих шагов:

.Инициализация БП и термов случайными значениями;

.Фиксация значений термов лингвистических переменных, и оптимизация по БП;

.Фиксация БП, найденной на предыдущем этапе, и оптимизация термов;

.Если пройдено заданное число этапов, то завершение (найденные на последних этапах оптимизации БП и термы являются решением), иначе возвращаемся на п.2.

Оптимизация БП происходит с использованием генетического подхода. Данный подход был включен в коэволюцию, поскольку он, как настройка семантики лингвистических переменных, основан на ГА, что обеспечивает единообразность коэволюционного алгоритма. Авторы данной работы отдают себе отчет в том, что генетический подход является не самым лучшим алгоритмом оптимизации БП.


Глава 4. Практическая реализация разработанных подходов и исследование эффективности их работы


.1 Программная реализация


Приведенные выше алгоритмы были реализованы в виде программной системы (ПС). Стартовое окно данной системы отображено на рисунке 4.1.1.


Рис. 4.1.1 Стартовое окно программной системы


Для упрощения работы с программой главная форма разбита на 4 основных блока: «Инициализация», «Текущее состояние», «Управление» (включая кнопки) и «Испытательный полигон». Рассмотрим каждый из этих элементов.

В блоке «Инициализация» задаются начальные параметры системы.

В блоке «Текущее состояние» отображаются текущие значения параметров системы и вектор силы, прикладываемый к тележке для управления системой.

Блок «Испытательный полигон» предназначен для визуального отображения работы системы.

Блок «Управление» состоит из 2-х частей: флага ручного либо автоматического управления и кнопок управления.

·Нажатие кнопки «Запуск» запускает механизм расчета физических параметров системы.

·Нажатие кнопки «Пауза/Продолжить» временно останавливает (замораживает) движение системы с сохранением всех параметров / запускает «физику» системы.

·При нажатии кнопки «Стоп» происходит остановка работы системы без запоминания последних параметров.

·Кнопка «Выход» - выход из программы, при необходимости выдается запрос о сохранении изменений БП и термов.

·Нажатие кнопки «Настройки» вызывает форму, на которой находятся редактор терм, редактор БП и панель работы с алгоритмами автоматического формирования БП (см. рис. 4.1.2, 4.1.3, 4.1.4).

Программная система предоставляет широкие возможности по настройке функции качества, параметров алгоритмов, а так же позволяет регулировать термы и БП вручную (используя соответствующие редакторы). Формы панели редакторов термов и БП приведены на рисунках 4.1.3 и 4.1.4, соответственно. Для настройки параметров или запуска какого-либо алгоритма необходимо нажать соответствующую кнопку.

После запуска оптимизационного алгоритма открывается окно Diagram, отображающее ход работы программы (см. рис. 4.1.5).

После того, как оптимизационный алгоритм отработал заданное число итераций, можно проверить полученную БП на испытательном полигоне (см. стартовое окно программы), для чего нужно просто закрыть окно настроек. Так же можно просмотреть найденные правила (используя редактор БП) или сохранить БП в файл (стартовая форма, меню файл, сохранить БП).


Рис. 4.1.2 Форма панели настроек


Рис. 4.1.3 Форма панели редактора термов


Рис. 4.1.4 Форма панели редактора БП


Рис. 4.1.5 График работы оптимизационного алгоритма


Разработанная нами ПС позволяет производить анализ работы реализованных алгоритмов и методов и получать статистику по процессу оптимизации. Это позволило провести исследования эффективности работы двух алгоритмов автоматического формирования БП и алгоритма автоматического формирования нечеткого контроллера, а также подобрать оптимальную структуру для каждого подхода.

4.2 Подбор оптимальной структуры оптимизационного алгоритма


Генетический подход. Структура ГА состояла из параметров двух видов: фиксированных и переменных. Фиксированными параметрами являлись размер турнира и элиты (для турнирной и элитарной селекций соответственно), которые были равны 5 и 6 индивидам, вероятность мутации - средняя. Переменными параметрами были вид селекции, тип рекомбинации, объем популяции, число поколений. Число вычислений целевой функции было ограничено 2000. Для сравнения брались статистически усредненные значения за 50 прогонов. Сравнение алгоритмов осуществлялось по нескольким критериям, среди которых найденный минимум, скорость сходимости алгоритма к наилучшему решению, период активного спуска алгоритма (в процентах). Данные экспериментов приведены в таблице А.1 в приложении. Наиболее эффективной среди всех структур оказалась следующая: Элитарная + равновероятная селекция + Двухточечная рекомбинация + 20 индивидов х 100 поколений.

Нейросетевой подход. Фиксированными параметрами являлись размер турнира и элиты (для турнирной и элитарной селекций соответственно), которые были равны 2 и 3 индивидам, вероятность мутации - средняя. Также фиксированной была структура нейронной сети, которая имела следующие параметры: один скрытый слой, четыре нейрона на скрытом слое, параметр активационной функции был равен 0,5. Переменными параметрами были вид селекции, тип рекомбинации, объем популяции, число поколений. Число вычислений целевой функции было ограничено 2000. Для сравнения брались статистически усредненные значения за 50 прогонов. Сравнение алгоритмов осуществлялось также по нескольким критериям. Данные экспериментов приведены в таблице А.2 в приложении. Наиболее эффективной среди всех структур оказалась следующая: Элитарная + пропорциональная селекция + Одноточечная рекомбинация + 10 индивидов х 200 поколений.

4.3 Сравнение эффективности подходов


Перед алгоритмами ставилась задача поиска наилучшего решения за 2000 вычислений целевой функции. Для каждого алгоритма использовалась оптимальная структура ГА. Для сравнения брались статистически усредненные значения за 50 прогонов. Сравнение осуществлялось по скорости сходимости алгоритмов к наилучшему решению. Графики работы оптимизационных алгоритмов (статистически усредненные по 50 прогонам) приведены на рисунках 4.3.1 и 4.3.2, соответственно, для нейросетевого и генетического подходов формирования БП и график коэволюционного алгоритма - на рисунке 4.3.3. На графиках отображен разброс решений (ось ординат) за каждые 20 вычислений целевой функции (ось абсцисс).


Рис. 4.3.1 График работы оптимизационного алгоритма при нейросетевом подходе (Получено решение с пригодностью f = 33,2290)


В результате проведенных исследований было установлено, что при наиболее эффективных параметрах оптимизационного алгоритма качество управления объектом (система «тележка - перевернутый маятник») по БП, полученной с помощью ИНС выше, чем по БП, полученной с помощью ГА. Коэволюционный алгоритм занимает промежуточное положение между нейросетевым и генетическим подходами. Это доказывает, что коэволюционная процедура улучшает качество работы используемого алгоритма формирования БП, в нашем случае генетического. Включение же нейросетевого подхода формирования БП в коэволюционный алгоритм позволит ускорить процедуру оптимизации и повысить качество формируемой НСУ.


Рис. 4.3.2 График работы оптимизационного алгоритма при генетическом подходе (Получено решение с пригодностью f = 232,8956)


Рис. 4.3.3 График работы оптимизационного алгоритма при коэволюционном алгоритме (Получено решение с пригодностью f = 205.068)



Резкие скачки значений Min, Max и Mid в коэволюционном алгоритме обусловлены переходами от формирования БП к формированию термов лингвистических переменных и наоборот, а также изменением примеров в задачнике.


Заключение


В работе рассмотрены два подхода автоматического формирования БП нечеткого логического контроллера, алгоритм настройки семантики лингвистических переменных и коэволюционный алгоритм, формирующий НСУ в целом. Показана актуальность задачи автоматического формирования НСУ на современном этапе развития науки и техники.

Рассмотрена тестовая задача стабилизации перевернутого маятника. Приведен критерий для оценки БП, получаемых алгоритмами автоматического формирования.

Объяснены основные положения теории нечетких систем управления, нейронных сетей и генетических алгоритмов.

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

Разработанная программная система может быть использована в качестве учебного пособия для изучения принципа работы нечетких систем управления и генетических алгоритмов, а также как инструмент автоматического формирования НСУ, либо БП.


Список литературы


1.Киселев В.В. Обучение в системах нечеткого управления. / Математические структуры и моделирование, вып.6, 2000. - с.78-90.

.Семенкин Е.С., Семенкина О.Э., Терсков В.А. Методы оптимизации в управлении сложными системами / Учебное пособие. - Красноярск: СибЮИ МВД РФ, 2000. - 254 с.

.Оссовский С. Нейронные сети для обработки информации. / Пер. с польского И.Д. Рудинского. - М.: Финансы и статистика, 2002. - 344 с.

.Уоссермен Ф. Нейрокомпьютерная техника. / Теория и практика. - М.: Мир, 1984.

5.Goldberg D.E. Genetic algorithms in search, optimization and machine learning. / Reading, MA: Addison-Wesley, 1989.

1.Липинский, Л.В. Разработка и тестирование программной системы выбора эффективной структуры генетического алгоритма / Л.В. Липинский, В.А. Малько // Межвузовский сборник научных трудов «Информатика и информационные технологии». - Красноярск: ИПЦ КГТУ, 2003 г. - с.160-162.

.Липинский, Л.В. Автоматическое формирование базы правил для нечетких систем с помощью нейронных сетей / Л.В. Липинский, В.А. Малько // Тезисы докладов VII Всероссийской научной конференции «Решетневские чтения». - Красноярск: СибГАУ, 2003. - с. 217-218.

.Липинский, Л.В. Об автоматическом формировании базы правил для нечетких систем / Л.В. Липинский, В.А. Малько // Материалы докладов всероссийской научной конференции молодых ученых в 6-ти частях. - Новосибирск: Изд-во НГТУ, 2003. Часть 1. - с.198-199.

.Липинский, Л.В. Программная система автоматического генерирования базы знаний нечеткого контроллера / Л.В. Липинский, В.А. Малько, Е.С. Семенкин // Вестник КемГУ. Журнал теоретических и прикладных исследований. - Выпуск 1(17) - Кемерово: КемГУ, 2004. - с.34-40.

.Липинский, Л.В. Программная система автоматического проектирования нечеткого контроллера для задачи управления перевернутым маятником / Л.В. Липинский, В.А. Малько // Вестник университетского комплекса. Сборник научных трудов. - Выпуск 1(15). - Красноярск: ВСФ РГУИТП, НИИ СУВПТ, 2004. - с.211-218.

.Липинский, Л.В. Использование метода масок для формирования базы правил нечеткой системы управления. / Л.В. Липинский, В.А. Малько // Материалы Международной (VIII Тамбовской межвузовской) научно-практической конференции. - Тамбов: ТГУ, 2004. - с. 107-108.

.Липинский, Л.В. Применение коэволюционного алгоритма для настройки параметров нечеткой системы управления / Л.В. Липинский, В.А. Малько // Труды 5-й Международной конференции молодых ученых и студентов. - Самара: СамГТУ, 2004, - с.95-98.

.Липинский, Л.В. Подходы к формированию базы правил для нечетких систем управления / Л.В. Липинский, В.А. Малько // Вестник Сибирского государственного аэрокосмического университета. - Вып. 5. - Красноярск: СибГАУ, 2004. - с.83-91.



Приложение


Таблица А.1 Оценка эффективности различных структур оптимизационного алгоритма в генетическом подходе формирования БП нечеткого контроллера

Селекция + РекомбинацияИндии-видыИтера-цииMinAverMVOAAVOAMVOFAVOFMVPAAVPAMVPFAVPFMA, в %AA, в %Пропорциональная + Одноточечная10200196,270240,86280,36350,12820,19490,150990,883532,05841,94941,50923,02,520100278,689312,07220,22310,08170,18000,1326102,63637,60733,60072,65279,04,64050305,487331,18520,05420,02130,14320,087847,746918,80725,72963,515512,08,85040254,635316,12760,03670,01470,15380,107347,716119,18677,69255,366222,512,910020287,011323,82460,02690,01400,11460,069145,873023,926111,46826,914725,017,020010308,089340,93900,03840,01300,07900,0533100,06733,906615,807910,676540,026,0Пропорциональная + Двухточечная10200237,797272,23000,09490,05290,23010,170735,138819,59262,30101,70735,03,720100276,778311,00040,04970,02560,17450,149332,803816,94333,49112,98719,06,64050239,070273,27080,07000,02930,14680,114664,438626,96835,87214,585612,09,2Пропорциональная + Равномерная10200354,449389,87740,13080,05680,14300,126143,168118,75931,43071,26154,53,320100416,236449,90460,07320,03850,10890,081230,769916,19672,17841,62485,04,24050377,034422,50100,04670,02190,08670,065033,635915,80493,47102,602312,07,25040376,512451,75040,02980,01240,09370,053328,385011,84474,68592,669212,59,510020399,808436,52140,02030,01210,06260,044024,473914,57776,26274,409115,012,020010444,328449,56860,02440,01000,03670,018734,247014,09167,35043,751520,014,0Турнирная + Одноточечная10200306,145352,80900,14490,06150,18550,141646,385119,68671,85541,41624,03,220100340,624374,64840,05070,02480,15210,114031,442415,40923,04312,28048,06,24050374,458411,53160,10110,03490,07410,062268,806923,77182,96562,489510,06,85040380,950412,50740,07060,03190,12210,059442,408019,16466,10932,974615,06,010020301,910390,60100,04550,02030,12400,057550,129322,421112,40545,759215,011,020010353,650411,92540,06340,02030,10680,0493114,27136,678621,36899,865730,018,0Турнирная + Двухточечная10200322,851366,09820,13770,08680,19070,151738,564224,32081,90771,517142,820100358,967393,53480,10750,04250,14690,118055,900722,15082,93822,361565,24050369,89397,45880,05960,02760,12080,073140,589718,78864,83302,927086,85040329,587372,63140,04860,02480,10220,073534,089117,37165,11333,6772157,010020343,024409,08900,05930,02920,06230,034841,539020,48166,23083,4838157,020010367,033399,55280,03250,00910,09100,050391,030525,690818,206110,06714028,0Турнирная + Равномерная10200294,543349,47760,14930,06110,16200,133646,301118,95021,62051,336243,120100269,359367,10440,07950,02930,15900,090939,774114,69363,18191,819785,04050327,568403,91740,09260,03940,12880,053944,449018,92665,15232,156984,85040369,082400,98900,08900,03360,10640,073062,352923,58115,32183,6527107,010020358,853386,84460,05510,02240,09580,052049,605020,24139,58305,2033159,020010308,693378,85860,02250,00730,11270,045645,087014,749922,54359,13185019,9Элитарная + Одноточечная10200243,890286,57800,09550,04120,20570,177746,803420,22542,05791,777574,920100318,416338,53640,02620,01400,15050,132823,651312,65213,01182,6578129,04050301,721343,18500,03360,01640,15740,128440,411019,69086,29915,13831612,05040316,281357,67020,03170,01500,15710,111441,249019,50127,85915,57441513,010020295,371338,79380,02560,01140,14000,099251,239222,955414,00579,92652520,020010329,435352,47600,00990,00450,09480,081237,940117,148618,970016,24945038,0Элитарная + Двухточечная10200287,795315,74780,12840,05750,21410,167747,530821,27552,14191,67795,53,720100203,359297,92740,05970,02720,23350,179547,767321,77274,67083,591598,04050292,169313,19340,02020,01080,11330,105225,972813,90524,53484,21161612,85040255,97308,83420,02580,01050,16520,129841,309116,86888,26186,491722,516,010020249,922309,98480,06840,02480,16430,1171109,53539,745116,430211,71412516,020010247,210343,67960,00660,00380,16170,106730,591017,626332,347121,35636046,0Элитарная + Равномерная10200237,423283,10200,11890,04920,22870,185051,163121,19872,28771,85025,54,320100311,044335,03720,04570,02210,17340,144634,791716,83523,46872,892597,64050276,218332,95580,03320,01770,15650,123534,600518,46266,26054,94111410,45040288,272343,78900,03200,01540,15550,130643,308920,85657,77946,53381513,510020327,751369,07740,01980,00720,12510,077441,722015,189012,51667,74033021,020010336,225395,64700,01330,00700,09480,052532,025016,848718,966910,51663024,0Равновероятная + Одноточечная10200298,302354,76600,13840,05780,25690,182055,388123,12442,56991,82096,53,920100303,684375,98760,10030,04560,20900,155958,202626,46814,18123,11809,05,84050374,408395,57600,05240,02430,16210,132956,644226,25006,48585,318614,010,85040269,464364,03760,03430,01370,19610,142053,218021,24139,80997,103117,515,510020365,897400,11120,01680,00910,11790,087840,477522,069011,79488,781335,024,020010323,325363,50100,00850,00460,14220,110237,561220,507628,441922,043760,043,9Равновероятная + Двухточечная10200298,302354,76600,13840,05780,25690,182055,388123,12442,56991,82096,53,920100303,684375,98760,10030,04560,20900,155958,202626,46814,18123,11809,05,84050374,408395,57600,05240,02430,16210,132956,644226,25006,48585,318614,010,8Равновероятная + Равномерная10200298,302354,76600,13840,05780,25690,182055,388123,12442,56991,82096,53,920100303,684375,98760,10030,04560,20900,155958,202626,46814,18123,11809,05,84050374,408395,57600,05240,02430,16210,132956,644226,25006,48585,318614,010,85040269,464364,03760,03430,01370,19610,142053,218021,24139,80997,103117,515,510020365,897400,11120,01680,00910,11790,087840,477522,069011,79488,781335,024,020010323,325363,50100,00850,00460,14220,110237,561220,507628,441922,043760,043,9Элитарная + Пропорциональная + Одноточечная10200287,515316,98940,06190,04520,20270,114317,968013,13582,02791,14344,52,920100240,164307,41540,16670,07420,16330,136376,709534,15653,26662,72697,04,64050260,200292,54460,04290,01730,18030,132951,542220,87427,21595,318914,012,05040249,161310,47460,03420,01580,15550,132053,075624,52457,77586,601325,015,510020320,167356,93520,01280,00750,09060,059223,105013,50399,06185,920930,018,020010329,419375,28600,01730,00640,08210,054862,301023,065716,439410,978360,036,0Элитарная + Пропорциональная + Двухточечная10200217,643273,32200,18340,07180,21820,173366,031125,84942,18261,73315,53,620100292,387324,78820,05820,02680,17970,143640,767018,78453,59562,87278,07,04050334,885362,98280,04040,01520,13590,092645,327817,05485,43933,705314,011,25040306,099340,50980,04030,01490,15540,094746,359317,19457,77184,738620,011,510020292,732346,19560,01420,00880,11060,082024,288915,052211,06768,204135,017,020010269,040359,07660,02230,00780,08910,066380,550928,187017,834213,274750,036,0Элитарная + Пропорциональная + Равномерная10200290,497329,81260,10600,04720,16480,138744,560619,84671,64891,38727,54,220100284,487337,29440,05200,02150,17600,102836,400115,06203,52052,057310,07,04050303,480316,94920,03730,01640,13570,113238,796517,05895,43154,531014,010,45040332,086358,02700,02430,01020,10200,075229,162712,28965,10343,763717,512,010020318,389360,76300,02290,00830,07850,069150,520318,27917,85176,915935,021,920010354,472374,49900,11720,03240,08440,0375140,71938,983216,89967,519330,012,0Элитарная + Равновероятная + Одноточечная10200176,247256,01860,08840,04370,27630,204739,819319,70082,76352,04705,54,520100193,512239,01600,05700,02800,22470,187544,533021,89124,49443,750311,07,84050202,027237,42800,04250,01830,17870,145251,073722,01257,15035,808514,012,05040213,146257,31640,02020,00970,20490,147536,433017,556710,24687,375325,018,010020176,652238,86520,02400,01300,15250,106143,337223,556315,256510,611425,018,020010238,825276,69680,02820,00970,11000,082390,361431,147122,006116,466640,031,9Элитарная + Равновероятная + Двухточечная10200232,436269,01200,10380,04530,18680,167341,533218,13291,86891,67335,03,920100154,509232,89560,06720,03100,26950,196953,828424,81225,39053,938411,08,04050203,320274,07320,02820,01720,19750,148536,107122,11667,90095,942816,012,85040209,905234,27900,02060,01310,21170,166935,106822,339310,58658,345922,517,010020220,620265,67740,02300,01150,15830,104346,178623,118715,839110,437835,020,020010239,198277,03220,01450,00580,12270,094458,208723,235924,548218,898350,040,0Элитарная + Равновероятная + Равномерная10200248,153298,72280,12940,05200,20790,179753,057021,35062,07981,79775,04,120100264,117297,23700,06660,03430,17760,135241,318721,27923,55352,70469,06,24050282,027311,82220,05240,02380,17360,112852,434723,83996,94724,513716,09,95040283,410305,91900,04200,01670,16030,124052,619920,98088,01966,202720,012,510020229,988282,91200,01900,00790,15990,116147,611319,849015,992811,612435,025,020010303,303349,49820,01080,00590,09500,072541,344422,710619,01614,511250,038,0Элитарная + Турнирная + Одноточечная10200473,079538,17320,12400,05360,11720,092733,505914,47851,17270,92723,52,720100475,415532,89100,08230,04760,13340,080329,654417,14642,66881,60656,03,64050488,741521,74120,03520,01410,08880,060129,632311,87693,55582,407212,08,45040464,260503,21700,07600,02840,11370,073268,480525,62685,68783,662215,09,010020491,725510,70360,01250,00650,10710,066023,802512,403110,71116,609235,019,020010451,652496,15100,03020,01150,08860,059172,715427,669417,737611,839230,024,0Элитарная + Турнирная + Двухточечная10200340,847382,28700,18350,08300,15630,111247,710621,58371,56331,11294,02,620100355,293378,98020,10230,04030,15040,088542,972216,96043,00801,77107,04,24050318,038373,90040,03690,01600,08790,052129,535012,83873,51662,087012,07,95040321,202359,72700,28990,07400,12320,0766246,42162,96346,16053,831915,08,510020312,587356,18940,03440,01110,10970,075668,967322,294810,97877,566825,020,020010338,630370,12840,00980,00660,09110,066129,692920,081418,224313,238140,029,9Элитарная + Турнирная + Равномерная10200314,018346,62740,19200,08810,18750,162863,392229,10511,87551,62814,53,320100333,940383,67360,12490,04460,15200,125672,476025,90643,04022,51399,05,84050249,061348,06960,02970,01620,16350,129230,926316,95006,54185,169020,010,45040358,883373,91260,06520,02050,14410,100188,051327,75867,20925,008717,513,510020291,385410,64520,06490,02170,06510,038464,929921,74926,51303,843715,010,020010299,910377,01100,03310,01700,09770,068759,709430,714719,548313,74030,018,0Элитарная + ранговая(линейная) + Одноточечная10200337,366347,55720,08200,03460,19540,140437,739115,92191,95451,40447,04,620100260,348348,88560,02510,02060,19640,151617,109914,01143,92983,032412,06,84050354,882390,58880,03840,01830,13400,092336,929717,66295,36263,693414,09,65040298,411361,79460,02750,01570,10770,073226,215214,99225,38783,664312,59,510020381,561422,76360,01280,00830,09000,059519,298812,58179,00205,953930,015,020010344,633399,44320,04870,01740,07070,046187,708031,494714,14549,220030,018,0Элитарная + ранговая(линейная) + Двухточечная10200215,082303,94320,14880,05760,26420,185963,985824,77692,64241,85947,04,320100319,976369,14480,10210,06150,16260,100434,746720,93933,25392,00905,03,44050234,154337,95760,01590,00950,21510,135322,973313,70598,60445,413324,014,45040275,138379,86340,04250,02040,19270,110944,625221,44159,63705,548517,510,4910020330,905387,58500,03290,01310,11760,081052,662521,073711,76188,100120,016,020010360,347407,90700,01240,00600,06360,030422,359010,877312,73566,094330,018,0Элитарная + ранговая(линейная) + Равномерная10200382,855412,62280,21020,07990,18290,137660,974823,19991,82921,37603,52,920100355,842407,13440,09330,03630,14670,121355,981821,82942,93452,42618,06,04050291,710405,68420,34730,09460,15500,1091236,19364,38386,20184,364710,06,85040391,913443,11840,05240,02460,11260,094447,214022,20405,63444,724915,09,010020341,898461,20280,04810,01440,11550,063677,023623,088511,55356,364420,015,920010435,844453,63300,02630,01080,05700,051052,743021,639711,413910,206830,020,0

Таблица А.2 Оценка эффективности различных структур оптимизационного алгоритма в нейросетевом подходе формирования БП нечеткого контроллера

Селекция + РекомбинацияИндии-видыИтера-цииMinAverMVOAAVOAMVOFAVOFMVPAAVPAMVPFAVPFMA, в %AA, в %Пропорциональная + Одноточечная102005,7011471,677080,40650,17760,31710,2094105,701346,18953,17102,09435,54,3201009,3328797,587290,03510,02460,12460,107819,695713,80742,49332,156910,09,340505,7454377,111140,05500,02970,27200,128741,855422,617810,88245,149416,012,6504027,445647,603000,06510,03680,17500,137565,141436,88398,75156,879625,016,61002023,0299101,58730,02190,01170,11370,066230,740016,432911,37766,623135,023,3200105,7160158,431670,01350,00800,08780,079335,150320,917317,575115,874250,043,3Пропорциональная + Двухточечная102003,9062650,113820,09030,05500,35310,197336,126622,03533,53161,97379,06,72010040,691170,397100,04410,02910,20620,143724,734816,34194,12462,875212,09,3405079,4683103,15340,04240,02040,20640,146945,869522,11908,25655,879624,018,0504077,328983,764870,02970,02230,25670,167532,715424,579712,83838,375922,518,31002061,5491163,88770,02220,01500,09780,073828,937019,53919,78347,381530,021,72001071,5549169,62030,01210,00620,04380,029921,944011,27348,77765,999640,030,0Элитарная + + Пропорциональная + Одноточечная102005,6720733,229050,02960,02260,32630,244617,510613,34633,26332,446211,59,82010020,334177,424500,11840,06740,42030,288975,785443,16918,40795,778015,010,740505,9691752,193160,02520,01680,32250,199429,318619,600112,90017,976928,019,3504055,577383,52400,01430,00990,09240,076815,830310,91684,62323,843325,018,310020106,963114,29700,00930,00580,08710,064518,685011,74808,71756,454235,033,32001054,909992,62330,00890,00850,07110,049316,161815,408114,23259,876340,030,0Элитарная + ранговая(линейная) + Одноточечная1020020,703367,25850,05290,04430,30300,247722,223218,61773,03022,47719,07,02010055,989478,29420,06090,02810,27730,174142,674219,69145,54763,482713,011,7405079,5618167,3260,03380,02210,08900,073124,383215,95623,56242,924816,012,0504018,535457,49250,02920,01590,19480,113533,661218,30719,74445,678925,019,21002084,5406149,4360,04650,03220,16770,083541,923129,059316,77148,352020,015,02001083,024496,03440,03030,01790,09090,084060,628035,959218,188416,819350,033,3Элитарная + ранговая(линейная) + Двухточечная10200112,325136,3060,11950,07290,41120,391351,406331,36864,11253,9138,07,22010019,028676,83640,01870,01690,29440,189515,343113,90805,88953,791417,013,7405071,7584143,1730,05690,03670,26180,189547,852430,896510,47267,581514,014,0504099,7275179,8070,05120,02550,11710,084146,156722,98695,85634,208322,515,010020108,935116,0650,04330,02350,14090,106556,382830,651414,095710,658225,021,720010127,391175,2190,02170,01390,03940,024221,718913,92567,89954,856530,016,7Элитарная + турнирная + Одноточечная10200128,315170,5730,78640,40220,33030,2359110,10756,31463,30322,35953,02,320100106,853108,6390,23350,14610,26160,177965,407640,90895,23263,55866,04,74050185,916274,9800,64250,24910,05140,0283102,81239,85872,05621,13246,02,75040184,801245,4710,06450,04830,17430,112538,735229,00218,71545,625412,510,010020126,610158,5550,08090,04300,10920,093472,832638,712510,92499,346620,014,920010128,260152,1050,00900,00490,05960,039919,887910,782611,93277,989260,036,7Элитарная + Одноточечная102004,679240,91750,06500,03990,27490,228829,936018,36452,74942,28818,57,72010029,6674104,4350,04000,02840,28640,183825,608018,19875,72943,677316,010,7405059,7687120,8040,06480,03780,16520,144751,895830,25736,61025,790316,013,3504088,4089121,8980,03310,02570,15480,112928,148521,85577,74085,645115,014,21002068,278284,93720,05190,03460,17440,130357,147438,165817,444813,031825,018,32001079,9766118,8030,06170,02660,05850,032674,100331,980411,71376,529140,020,0Элитарная + Двухточечная102001,3560370,2840,18380,08770,45410,314869,872933,32924,54173,14828,56,3201001,3745346,72230,09920,05440,34010,210359,543432,65316,80244,207916,010,0405043,873369,91600,02240,01620,21700,109119,733114,29528,68254,367322,014,7504051,367987,91360,06450,03390,25080,202377,479540,792412,540910,117627,520,01002069,143095,48030,04550,02680,10890,078154,713532,170710,89767,819930,0,20,02001095,3013157,2820,04030,01870,08500,062472,620333,816017,012812,497240,030,0Турнирная + Двухточечная1020051,3119100,8040,11470,09310,43940,218332,142826,08744,39412,18347,04,72010070,1874150,8250,21840,09900,39320,221287,395539,62667,86554,42599,06,7405083,9705149,4750,15050,07050,15050,086360,215428,23016,02153,455810,0675040127,464154,6760,17280,10700,17280,151086,420053,54858,64207,552210,08,310020120,542153,0850,02500,01590,10150,061222,557014,380910,15066,128235,015,02001024,8409108,3290,01450,01190,07860,062526,231821,436615,739112,510930,030,0


Примечание - в таблицах приняты следующие сокращения:

Min - минимальное значение критерия по всем запускам алгоритма;

Mid - средний минимум критерия по всем запускам алгоритма;

Пусть


Krit1 = , (А2.1)

Krit2 = , (А2.2)

Krit3 = ,(А2.3)

Krit4 = , (А2.4)


где Fitn Beg - пригодность наилучшего индивида в стартовой популяции, Fitn End - пригодность наилучшего индивида в последней популяции, Activ = MA, NumCalk = 2000 - число вычислений целевой функции, NumPokol - число поколений генетического алгоритма, тогда

MVOA = - максимальная среди всех запусков скорость спуска алгоритма к минимуму за одно вычисление целевой функции (при активном спуске алгоритма) , где N = 50 - число тестов;

AVOA = - средняя по всем запускам скорость спуска алгоритма к минимуму за одно вычисление целевой функции (при активном спуске алгоритма);

MVOF = - максимальная среди всех запусков скорость спуска алгоритма к минимуму за одно вычисление целевой функции (на протяжении всей работы алгоритма);

AVOF = - средняя по всем запускам скорость спуска алгоритма к минимуму за одно вычисление целевой функции (на протяжении всей работы алгоритма);

MVPA = - максимальная среди всех запусков скорость спуска алгоритма к минимуму за одно поколение (при активном спуске алгоритма);

AVPA = - средняя по всем запускам скорость спуска алгоритма к минимуму за одно поколение (при активном спуске алгоритма);

MVPF = - максимальная среди всех запусков скорость спуска алгоритма к минимуму за одно поколение (на протяжении всей работы алгоритма);

AVPF = - средняя по всем запускам скорость спуска алгоритма к минимуму за одно поколение (на протяжении всей работы алгоритма);

MA = - максимальная активность алгоритма среди всех запусков;

AA = - средняя активность алгоритма по всем запускам, где ActivPokol - активное поведение алгоритма в данном поколении.

Поведение алгоритма в данном поколении считается активным, если в данном поколении было найдено решение с пригодностью меньшей, чем в предыдущем поколении.


КВАЛИФИКАЦИОННАЯ РАБОТА БАКАЛАВРА Программная система автоматического формирования нечеткого логическ

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ