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

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,68 Mb
  • Опубликовано:
    2011-06-02
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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








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

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

Содержание

Введение

Глава 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 Оценка эффективности различных структур оптимизационного алгоритма в генетическом подходе формирования БП нечеткого контроллера

Селекция + Рекомбинация

Индии-виды

Итера-ции

Min

Aver

MVOA

AVOA

MVOF

AVOF

MVPA

AVPA

MVPF

AVPF

MA, в %

AA, в %

Пропорциональная + Одноточечная

10

200

196,270

0,3635

0,1282

0,1949

0,1509

90,8835

32,0584

1,9494

1,5092

3,0

2,5


20

100

278,689

312,0722

0,2231

0,0817

0,1800

0,1326

102,636

37,6073

3,6007

2,6527

9,0

4,6


40

50

305,487

331,1852

0,0542

0,0213

0,1432

0,0878

47,7469

18,8072

5,7296

3,5155

12,0

8,8


50

40

254,635

316,1276

0,0367

0,0147

0,1538

0,1073

47,7161

19,1867

7,6925

5,3662

22,5

12,9


100

20

287,011

323,8246

0,0269

0,0140

0,1146

0,0691

45,8730

23,9261

11,4682

6,9147

25,0

17,0


200

10

308,089

340,9390

0,0384

0,0130

0,0790

0,0533

100,067

33,9066

15,8079

10,6765

40,0

26,0

Пропорциональная + Двухточечная

10

200

237,797

272,2300

0,0949

0,0529

0,2301

0,1707

35,1388

19,5926

2,3010

1,7073

5,0

3,7


20

100

276,778

311,0004

0,0497

0,0256

0,1745

0,1493

32,8038

16,9433

3,4911

2,9871

9,0

6,6


40

50

239,070

273,2708

0,0700

0,0293

0,1468

0,1146

64,4386

26,9683

5,8721

4,5856

12,0

9,2

Пропорциональная + Равномерная

10

200

354,449

389,8774

0,1308

0,0568

0,1430

0,1261

43,1681

18,7593

1,4307

1,2615

4,5

3,3


20

100

416,236

449,9046

0,0732

0,0385

0,1089

0,0812

30,7699

16,1967

2,1784

1,6248

5,0

4,2


40

50

377,034

422,5010

0,0467

0,0219

0,0867

0,0650

33,6359

15,8049

3,4710

2,6023

12,0

7,2


50

40

376,512

451,7504

0,0298

0,0124

0,0937

0,0533

28,3850

11,8447

4,6859

2,6692

12,5

9,5


100

20

399,808

436,5214

0,0203

0,0121

0,0626

0,0440

24,4739

14,5777

6,2627

4,4091

15,0

12,0


200

10

444,328

449,5686

0,0244

0,0100

0,0367

0,0187

34,2470

14,0916

7,3504

3,7515

20,0

14,0

Турнирная + Одноточечная

10

200

306,145

352,8090

0,1449

0,0615

0,1855

0,1416

46,3851

19,6867

1,8554

1,4162

4,0

3,2


20

100

340,624

374,6484

0,0507

0,0248

0,1521

0,1140

31,4424

15,4092

3,0431

2,2804

8,0

6,2


40

50

374,458

411,5316

0,1011

0,0349

0,0741

0,0622

68,8069

23,7718

2,9656

2,4895

10,0

6,8


50

40

380,950

412,5074

0,0706

0,0319

0,1221

0,0594

42,4080

19,1646

6,1093

2,9746

15,0

6,0


100

20

301,910

390,6010

0,0455

0,0203

0,1240

0,0575

50,1293

22,4211

12,4054

5,7592

15,0

11,0


200

10

353,650

411,9254

0,0634

0,0203

0,1068

0,0493

114,271

36,6786

21,3689

9,8657

30,0

18,0

Турнирная + Двухточечная

10

200

322,851

366,0982

0,1377

0,0868

0,1907

0,1517

38,5642

24,3208

1,9077

1,5171

4

2,8


20

100

358,967

393,5348

0,1075

0,0425

0,1469

0,1180

55,9007

22,1508

2,9382

2,3615

6

5,2


40

50

369,89

397,4588

0,0596

0,0276

0,1208

0,0731

40,5897

18,7886

4,8330

2,9270

8

6,8


50

40

329,587

372,6314

0,0486

0,0248

0,1022

0,0735

34,0891

17,3716

5,1133

3,6772

15

7,0

20

343,024

409,0890

0,0593

0,0292

0,0623

0,0348

41,5390

20,4816

6,2308

3,4838

15

7,0


200

10

367,033

399,5528

0,0325

0,0091

0,0910

0,0503

91,0305

25,6908

18,2061

10,0671

40

28,0

Турнирная + Равномерная

10

200

294,543

349,4776

0,1493

0,0611

0,1620

0,1336

46,3011

18,9502

1,6205

1,3362

4

3,1


20

100

269,359

367,1044

0,0795

0,0293

0,1590

0,0909

39,7741

14,6936

3,1819

1,8197

8

5,0


40

50

327,568

403,9174

0,0926

0,0394

0,1288

0,0539

44,4490

18,9266

5,1523

2,1569

8

4,8


50

40

369,082

400,9890

0,0890

0,0336

0,1064

0,0730

62,3529

23,5811

5,3218

3,6527

10

7,0


100

20

358,853

386,8446

0,0551

0,0224

0,0958

0,0520

49,6050

20,2413

9,5830

5,2033

15

9,0


200

10

308,693

378,8586

0,0225

0,0073

0,1127

0,0456

45,0870

14,7499

22,5435

9,1318

50

19,9

Элитарная + Одноточечная

10

200

243,890

286,5780

0,0955

0,0412

0,2057

0,1777

46,8034

20,2254

2,0579

1,7775

7

4,9


20

100

318,416

338,5364

0,0262

0,0140

0,1505

0,1328

23,6513

12,6521

3,0118

2,6578

12

9,0


40

50

301,721

343,1850

0,0336

0,0164

0,1574

0,1284

40,4110

19,6908

6,2991

5,1383

16

12,0


50

40

316,281

357,6702

0,0317

0,0150

0,1571

0,1114

41,2490

19,5012

7,8591

5,5744

15

13,0


100

20

295,371

338,7938

0,0256

0,0114

0,1400

0,0992

51,2392

22,9554

14,0057

9,9265

25

20,0


200

10

329,435

352,4760

0,0099

0,0045

0,0948

0,0812

37,9401

17,1486

18,9700

16,2494

50

38,0

Элитарная + Двухточечная

10

200

287,795

315,7478

0,1284

0,0575

0,2141

0,1677

47,5308

21,2755

2,1419

1,6779

5,5

3,7


20

100

203,359

297,9274

0,0597

0,0272

0,2335

0,1795

47,7673

21,7727

4,6708

3,5915

9

8,0


40

50

292,169

313,1934

0,0202

0,0108

0,1133

0,1052

25,9728

13,9052

4,5348

4,2116

16

12,8


50

40

255,97

308,8342

0,0258

0,0105

0,1652

0,1298

41,3091

16,8688

8,2618

6,4917

22,5

16,0


100

20

249,922

309,9848

0,0684

0,0248

0,1643

0,1171

109,535

39,7451

16,4302

11,7141

25

16,0


200

10

247,210

343,6796

0,0066

0,0038

0,1617

0,1067

30,5910

17,6263

32,3471

21,3563

60

46,0

Элитарная + Равномерная

10

200

237,423

283,1020

0,1189

0,0492

0,2287

0,1850

51,1631

21,1987

2,2877

1,8502

5,5

4,3


20

100

311,044

335,0372

0,0457

0,0221

0,1734

0,1446

34,7917

16,8352

3,4687

2,8925

9

7,6


40

50

276,218

332,9558

0,0332

0,0177

0,1565

0,1235

34,6005

18,4626

6,2605

4,9411

14

10,4


50

40

288,272

343,7890

0,0320

0,0154

0,1555

0,1306

43,3089

20,8565

7,7794

6,5338

15

13,5


100

20

327,751

369,0774

0,0198

0,0072

0,1251

0,0774

41,7220

15,1890

12,5166

30

21,0


200

10

336,225

395,6470

0,0133

0,0070

0,0948

0,0525

32,0250

16,8487

18,9669

10,5166

30

24,0

Равновероятная + Одноточечная

10

200

298,302

354,7660

0,1384

0,0578

0,2569

0,1820

55,3881

23,1244

2,5699

1,8209

6,5

3,9


20

100

303,684

375,9876

0,1003

0,0456

0,2090

0,1559

58,2026

26,4681

4,1812

3,1180

9,0

5,8


40

50

374,408

395,5760

0,0524

0,0243

0,1621

0,1329

56,6442

26,2500

6,4858

5,3186

14,0

10,8


50

40

269,464

364,0376

0,0343

0,0137

0,1961

0,1420

53,2180

21,2413

9,8099

7,1031

17,5

15,5


100

20

365,897

400,1112

0,0168

0,0091

0,1179

0,0878

40,4775

22,0690

11,7948

8,7813

35,0

24,0


200

10

323,325

363,5010

0,0085

0,0046

0,1422

0,1102

37,5612

20,5076

28,4419

22,0437

60,0

43,9

Равновероятная + Двухточечная

10

200

298,302

354,7660

0,1384

0,0578

0,2569

0,1820

55,3881

23,1244

2,5699

1,8209

6,5

3,9


20

100

303,684

375,9876

0,1003

0,0456

0,2090

0,1559

58,2026

26,4681

4,1812

3,1180

9,0

5,8


40

50

374,408

395,5760

0,0524

0,0243

0,1621

0,1329

56,6442

26,2500

6,4858

5,3186

14,0

10,8

Равновероятная + Равномерная

10

200

298,302

354,7660

0,1384

0,0578

0,2569

0,1820

55,3881

23,1244

2,5699

1,8209

6,5

3,9


20

100

303,684

375,9876

0,1003

0,0456

0,2090

0,1559

58,2026

26,4681

4,1812

3,1180

9,0

5,8


40

50

374,408

395,5760

0,0524

0,0243

0,1621

0,1329

56,6442

26,2500

6,4858

5,3186

14,0

10,8


50

40

269,464

364,0376

0,0343

0,0137

0,1961

0,1420

53,2180

21,2413

9,8099

7,1031

17,5

15,5


100

20

365,897

400,1112

0,0168

0,0091

0,1179

0,0878

40,4775

22,0690

11,7948

8,7813

35,0

24,0


200

10

323,325

363,5010

0,0085

0,0046

0,1422

0,1102

37,5612

20,5076

28,4419

22,0437

60,0

43,9

Элитарная + Пропорциональная + Одноточечная

10

200

287,515

316,9894

0,0619

0,0452

0,2027

0,1143

17,9680

13,1358

2,0279

1,1434

4,5

2,9


20

100

240,164

307,4154

0,1667

0,0742

0,1633

0,1363

76,7095

34,1565

3,2666

2,7269

7,0

4,6


40

50

260,200

292,5446

0,0429

0,0173

0,1803

0,1329

51,5422

20,8742

7,2159

5,3189

14,0

12,0


50

40

249,161

310,4746

0,0342

0,0158

0,1555

0,1320

53,0756

24,5245

7,7758

6,6013

25,0

15,5


100

20

320,167

356,9352

0,0128

0,0075

0,0906

0,0592

23,1050

13,5039

9,0618

5,9209

30,0

18,0


200

10

329,419

375,2860

0,0173

0,0064

0,0821

0,0548

62,3010

23,0657

16,4394

10,9783

60,0

36,0

Элитарная + Пропорциональная + Двухточечная

10

200

217,643

273,3220

0,1834

0,0718

0,2182

0,1733

66,0311

25,8494

2,1826

1,7331

5,5

3,6


20

100

292,387

324,7882

0,0582

0,0268

0,1797

0,1436

40,7670

18,7845

3,5956

2,8727

8,0

7,0


40

50

334,885

362,9828

0,0404

0,0152

0,1359

45,3278

17,0548

5,4393

3,7053

14,0

11,2


50

40

306,099

340,5098

0,0403

0,0149

0,1554

0,0947

46,3593

17,1945

7,7718

4,7386

20,0

11,5


100

20

292,732

346,1956

0,0142

0,0088

0,1106

0,0820

24,2889

15,0522

11,0676

8,2041

35,0

17,0


200

10

269,040

359,0766

0,0223

0,0078

0,0891

0,0663

80,5509

28,1870

17,8342

13,2747

50,0

36,0

Элитарная + Пропорциональная + Равномерная

10

200

290,497

329,8126

0,1060

0,0472

0,1648

0,1387

44,5606

19,8467

1,6489

1,3872

7,5

4,2


20

100

284,487

337,2944

0,0520

0,0215

0,1760

0,1028

36,4001

15,0620

3,5205

2,0573

10,0

7,0


40

50

303,480

316,9492

0,0373

0,0164

0,1357

0,1132

38,7965

17,0589

5,4315

4,5310

14,0

10,4


50

40

332,086

358,0270

0,0243

0,0102

0,1020

0,0752

29,1627

12,2896

5,1034

3,7637

17,5

12,0


100

20

318,389

360,7630

0,0229

0,0083

0,0785

0,0691

50,5203

18,2791

7,8517

6,9159

35,0

21,9


200

10

354,472

374,4990

0,1172

0,0324

0,0844

0,0375

140,719

38,9832

16,8996

7,5193

30,0

12,0

Элитарная + Равновероятная + Одноточечная

10

200

176,247

256,0186

0,0884

0,0437

0,2763

0,2047

39,8193

19,7008

2,7635

2,0470

5,5

4,5


20

100

193,512

239,0160

0,0570

0,0280

0,2247

0,1875

44,5330

21,8912

4,4944

3,7503

11,0

7,8


40

50

202,027

237,4280

0,0425

0,0183

0,1787

0,1452

51,0737

22,0125

7,1503

5,8085

14,0

12,0


50

40

213,146

257,3164

0,0202

0,0097

0,2049

0,1475

36,4330

17,5567

10,2468

7,3753

25,0

18,0


100

20

176,652

238,8652

0,0240

0,0130

0,1525

0,1061

43,3372

23,5563

15,2565

10,6114

25,0

18,0


200

10

238,825

276,6968

0,0282

0,0097

0,1100

0,0823

90,3614

31,1471

22,0061

16,4666

40,0

31,9

Элитарная + Равновероятная + Двухточечная

10

200

232,436

269,0120

0,1038

0,0453

0,1868

0,1673

41,5332

18,1329

1,8689

1,6733

5,0

3,9


20

100

154,509

232,8956

0,0672

0,0310

0,2695

0,1969

53,8284

24,8122

5,3905

3,9384

11,0

8,0


40

50

203,320

274,0732

0,0282

0,0172

0,1975

0,1485

36,1071

22,1166

7,9009

5,9428

16,0

12,8


50

40

209,905

234,2790

0,0206

0,0131

0,2117

0,1669

35,1068

22,3393

10,5865

8,3459

22,5

17,0


100

20

220,620

265,6774

0,0230

0,0115

0,1583

0,1043

46,1786

23,1187

15,8391

10,4378

35,0

20,0


200

10

239,198

277,0322

0,0145

0,0058

0,1227

0,0944

58,2087

23,2359

24,5482

18,8983

50,0

40,0

Элитарная + Равновероятная + Равномерная

10

200

248,153

298,7228

0,1294

0,0520

0,2079

0,1797

53,0570

21,3506

2,0798

1,7977

5,0

4,1


20

100

264,117

297,2370

0,0666

0,0343

0,1776

0,1352

41,3187

21,2792

3,5535

2,7046

9,0

6,2


40

50

282,027

311,8222

0,0524

0,0238

0,1736

0,1128

52,4347

23,8399

6,9472

4,5137

16,0

9,9


50

40

283,410

305,9190

0,0167

0,1603

0,1240

52,6199

20,9808

8,0196

6,2027

20,0

12,5


100

20

229,988

282,9120

0,0190

0,0079

0,1599

0,1161

47,6113

19,8490

15,9928

11,6124

35,0

25,0


200

10

303,303

349,4982

0,0108

0,0059

0,0950

0,0725

41,3444

22,7106

19,016

14,5112

50,0

38,0

Элитарная + Турнирная + Одноточечная

10

200

473,079

538,1732

0,1240

0,0536

0,1172

0,0927

33,5059

14,4785

1,1727

0,9272

3,5

2,7


20

100

475,415

532,8910

0,0823

0,0476

0,1334

0,0803

29,6544

17,1464

2,6688

1,6065

6,0

3,6


40

50

488,741

521,7412

0,0352

0,0141

0,0888

0,0601

29,6323

11,8769

3,5558

2,4072

12,0

8,4


50

40

464,260

503,2170

0,0760

0,0284

0,1137

0,0732

68,4805

25,6268

5,6878

3,6622

15,0

9,0


100

20

491,725

510,7036

0,0125

0,0065

0,1071

0,0660

23,8025

12,4031

10,7111

6,6092

35,0

19,0


200

10

451,652

496,1510

0,0302

0,0115

0,0886

0,0591

72,7154

27,6694

17,7376

11,8392

30,0

24,0

Элитарная + Турнирная + Двухточечная

10

200

340,847

382,2870

0,1835

0,0830

0,1563

0,1112

47,7106

21,5837

1,5633

1,1129

4,0

2,6


20

100

355,293

378,9802

0,1023

0,0403

0,1504

0,0885

42,9722

16,9604

3,0080

1,7710

7,0

4,2


40

50

318,038

373,9004

0,0369

0,0160

0,0879

0,0521

29,5350

12,8387

3,5166

2,0870

12,0

7,9


50

40

321,202

359,7270

0,2899

0,0740

0,1232

0,0766

246,421

62,9634

6,1605

3,8319

15,0

8,5


100

20

312,587

356,1894

0,0344

0,0111

0,1097

0,0756

68,9673

22,2948

10,9787

7,5668

25,0

20,0


200

10

338,630

370,1284

0,0098

0,0066

0,0911

0,0661

29,6929

20,0814

18,2243

13,2381

40,0

29,9

Элитарная + Турнирная + Равномерная

10

200

314,018

346,6274

0,1920

0,0881

0,1875

0,1628

63,3922

29,1051

1,8755

1,6281

4,5

3,3


20

100

333,940

383,6736

0,1249

0,0446

0,1520

0,1256

72,4760

25,9064

3,0402

2,5139

9,0

5,8


40

50

249,061

348,0696

0,0297

0,0162

0,1635

0,1292

30,9263

16,9500

6,5418

5,1690

20,0

10,4


50

40

358,883

373,9126

0,0652

0,0205

0,1441

0,1001

88,0513

27,7586

7,2092

5,0087

17,5

13,5


100

20

291,385

410,6452

0,0649

0,0217

0,0651

0,0384

64,9299

21,7492

6,5130

3,8437

15,0

10,0


200

10

299,910

377,0110

0,0331

0,0170

0,0977

0,0687

59,7094

30,7147

19,5483

13,740

30,0

18,0

Элитарная + ранговая(линейная) + Одноточечная

10

200

337,366

347,5572

0,0820

0,0346

0,1954

0,1404

37,7391

15,9219

1,9545

1,4044

7,0

4,6


20

100

260,348

348,8856

0,0251

0,0206

0,1964

0,1516

17,1099

14,0114

3,9298

3,0324

12,0

6,8


40

50

354,882

390,5888

0,0384

0,0183

0,1340

0,0923

36,9297

17,6629

5,3626

3,6934

14,0

9,6


50

40

298,411

361,7946

0,0275

0,0157

0,1077

0,0732

26,2152

14,9922

5,3878

3,6643

12,5

9,5


100

381,561

422,7636

0,0128

0,0083

0,0900

0,0595

19,2988

12,5817

9,0020

5,9539

30,0

15,0


200

10

344,633

399,4432

0,0487

0,0174

0,0707

0,0461

87,7080

31,4947

14,1454

9,2200

30,0

18,0

Элитарная + ранговая(линейная) + Двухточечная

10

200

215,082

303,9432

0,1488

0,0576

0,2642

0,1859

63,9858

24,7769

2,6424

1,8594

7,0

4,3


20

100

319,976

369,1448

0,1021

0,0615

0,1626

0,1004

34,7467

20,9393

3,2539

2,0090

5,0

3,4


40

50

234,154

337,9576

0,0159

0,0095

0,2151

0,1353

22,9733

13,7059

8,6044

5,4133

24,0

14,4


50

40

275,138

379,8634

0,0425

0,0204

0,1927

0,1109

44,6252

21,4415

9,6370

5,5485

17,5

10,49


100

20

330,905

387,5850

0,0329

0,0131

0,1176

0,0810

52,6625

21,0737

11,7618

8,1001

20,0

16,0


200

10

360,347

407,9070

0,0124

0,0060

0,0636

0,0304

22,3590

10,8773

12,7356

6,0943

30,0

18,0

Элитарная + ранговая(линейная) + Равномерная

10

200

382,855

412,6228

0,2102

0,0799

0,1829

0,1376

60,9748

23,1999

1,8292

1,3760

3,5

2,9


20

100

355,842

407,1344

0,0933

0,0363

0,1467

0,1213

55,9818

21,8294

2,9345

2,4261

8,0

6,0


40

50

291,710

405,6842

0,3473

0,0946

0,1550

0,1091

236,193

64,3838

6,2018

4,3647

10,0

6,8


50

40

391,913

443,1184

0,0524

0,0246

0,1126

0,0944

47,2140

22,2040

5,6344

4,7249

15,0

9,0


100

20

341,898

461,2028

0,0481

0,0144

0,1155

0,0636

77,0236

23,0885

11,5535

6,3644

20,0

15,9


200

10

435,844

453,6330

0,0263

0,0108

0,0570

0,0510

52,7430

21,6397

11,4139

10,2068

30,0

20,0


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

Селекция + Рекомбинация

Индии-виды

Итера-ции

Min

Aver

MVOA

AVOA

MVOF

AVOF

MVPA

AVPA

MVPF

AVPF

MA, в %

AA, в %

Пропорциональная + Одноточечная

10

200

5,70114

71,67708

0,4065

0,1776

0,3171

0,2094

105,7013

46,1895

3,1710

2,0943

5,5

4,3


20

100

9,33287

97,58729

0,0351

0,0246

0,1246

0,1078

19,6957

13,8074

2,4933

2,1569

10,0

9,3


40

50

5,74543

77,11114

0,0550

0,0297

0,2720

0,1287

41,8554

22,6178

10,8824

5,1494

16,0

12,6


50

40

27,4456

47,60300

0,0651

0,0368

0,1750

0,1375

65,1414

36,8839

8,7515

6,8796

25,0

16,6


100

20

23,0299

101,5873

0,0219

0,0117

0,1137

0,0662

30,7400

16,4329

11,3776

6,6231

35,0

23,3


200

10

5,71601

58,43167

0,0135

0,0080

0,0878

0,0793

35,1503

20,9173

17,5751

15,8742

50,0

43,3

Пропорциональная + Двухточечная

10

200

3,90626

50,11382

0,0903

0,0550

0,3531

0,1973

36,1266

22,0353

3,5316

1,9737

9,0

6,7


20

100

40,6911

70,39710

0,0441

0,0291

0,2062

0,1437

24,7348

16,3419

4,1246

2,8752

12,0

9,3


40

50

79,4683

103,1534

0,0424

0,0204

0,2064

0,1469

45,8695

22,1190

8,2565

5,8796

24,0

18,0


50

40

77,3289

83,76487

0,0297

0,0223

0,2567

0,1675

32,7154

24,5797

8,3759

22,5

18,3


100

20

61,5491

163,8877

0,0222

0,0150

0,0978

0,0738

28,9370

19,5391

9,7834

7,3815

30,0

21,7


200

10

71,5549

169,6203

0,0121

0,0062

0,0438

0,0299

21,9440

11,2734

8,7776

5,9996

40,0

30,0

Элитарная + + Пропорциональная + Одноточечная

10

200

5,67207

33,22905

0,0296

0,0226

0,3263

0,2446

17,5106

13,3463

3,2633

2,4462

11,5

9,8


20

100

20,3341

77,42450

0,1184

0,0674

0,4203

0,2889

75,7854

43,1691

8,4079

5,7780

15,0

10,7


40

50

5,96917

52,19316

0,0252

0,0168

0,3225

0,1994

29,3186

19,6001

12,9001

7,9769

28,0

19,3


50

40

55,5773

83,5240

0,0143

0,0099

0,0924

0,0768

15,8303

10,9168

4,6232

3,8433

25,0

18,3


100

20

106,963

114,2970

0,0093

0,0058

0,0871

0,0645

18,6850

11,7480

8,7175

6,4542

35,0

33,3


200

10

54,9099

92,6233

0,0089

0,0085

0,0711

0,0493

16,1618

15,4081

14,2325

9,8763

40,0

30,0

Элитарная + ранговая(линейная) + Одноточечная

10

200

20,7033

67,2585

0,0529

0,0443

0,3030

0,2477

22,2232

18,6177

3,0302

2,4771

9,0

7,0


20

100

55,9894

78,2942

0,0609

0,0281

0,2773

0,1741

42,6742

19,6914

5,5476

3,4827

13,0

11,7


40

50

79,5618

167,326

0,0338

0,0221

0,0890

0,0731

24,3832

15,9562

3,5624

2,9248

16,0

12,0


50

40

18,5354

57,4925

0,0292

0,0159

0,1948

0,1135

33,6612

18,3071

9,7444

5,6789

25,0

19,2


100

20

84,5406

149,436

0,0465

0,0322

0,1677

0,0835

41,9231

29,0593

16,7714

8,3520

20,0

15,0


200

10

83,0244

96,0344

0,0303

0,0179

0,0909

0,0840

60,6280

35,9592

18,1884

16,8193

50,0

33,3

Элитарная + ранговая(линейная) + Двухточечная

10

200

112,325

136,306

0,1195

0,0729

0,4112

0,3913

51,4063

31,3686

4,1125

3,913

8,0

7,2


20

100

19,0286

76,8364

0,0187

0,0169

0,2944

0,1895

15,3431

13,9080

5,8895

3,7914

17,0

13,7


40

50

71,7584

143,173

0,0569

0,0367

0,2618

0,1895

47,8524

30,8965

10,4726

7,5815

14,0

14,0


50

40

99,7275

179,807

0,0512

0,0255

0,1171

0,0841

46,1567

22,9869

5,8563

4,2083

22,5

15,0


100

20

108,935

116,065

0,0433

0,0235

0,1409

0,1065

56,3828

30,6514

14,0957

10,6582

25,0

21,7


200

10

127,391

175,219

0,0217

0,0139

0,0394

0,0242

21,7189

13,9256

7,8995

4,8565

30,0

16,7

Элитарная + турнирная + Одноточечная

10

200

128,315

170,573

0,7864

0,4022

0,3303

0,2359

110,107

56,3146

3,3032

2,3595

3,0

2,3


20

100

106,853

108,639

0,2335

0,1461

0,2616

0,1779

65,4076

40,9089

5,2326

3,5586

6,0

4,7


40

50

185,916

274,980

0,6425

0,2491

0,0514

0,0283

102,812

39,8587

2,0562

1,1324

6,0

2,7


50

40

184,801

245,471

0,0645

0,0483

0,1743

0,1125

38,7352

29,0021

8,7154

5,6254

12,5

10,0


100

20

126,610

158,555

0,0809

0,0430

0,1092

72,8326

38,7125

10,9249

9,3466

20,0

14,9


200

10

128,260

152,105

0,0090

0,0049

0,0596

0,0399

19,8879

10,7826

11,9327

7,9892

60,0

36,7

Элитарная + Одноточечная

10

200

4,6792

40,9175

0,0650

0,0399

0,2749

0,2288

29,9360

18,3645

2,7494

2,2881

8,5

7,7


20

100

29,6674

104,435

0,0400

0,0284

0,2864

0,1838

25,6080

18,1987

5,7294

3,6773

16,0

10,7


40

50

59,7687

120,804

0,0648

0,0378

0,1652

0,1447

51,8958

30,2573

6,6102

5,7903

16,0

13,3


50

40

88,4089

121,898

0,0331

0,0257

0,1548

0,1129

28,1485

21,8557

7,7408

5,6451

15,0

14,2


100

20

68,2782

84,9372

0,0519

0,0346

0,1744

0,1303

57,1474

38,1658

17,4448

13,0318

25,0

18,3


200

10

79,9766

118,803

0,0617

0,0266

0,0585

0,0326

74,1003

31,9804

11,7137

6,5291

40,0

20,0

Элитарная + Двухточечная

10

200

1,35603

70,284

0,1838

0,0877

0,4541

0,3148

69,8729

33,3292

4,5417

3,1482

8,5

6,3


20

100

1,37453

46,7223

0,0992

0,0544

0,3401

0,2103

59,5434

32,6531

6,8024

4,2079

16,0

10,0


40

50

43,8733

69,9160

0,0224

0,0162

0,2170

0,1091

19,7331

14,2952

8,6825

4,3673

22,0

14,7


50

40

51,3679

87,9136

0,0645

0,0339

0,2508

0,2023

77,4795

40,7924

12,5409

10,1176

27,5

20,0


100

20

69,1430

95,4803

0,0455

0,0268

0,1089

0,0781

54,7135

32,1707

10,8976

7,8199

30,0,

20,0


200

10

95,3013

157,282

0,0403

0,0187

0,0850

0,0624

72,6203

33,8160

17,0128

12,4972

40,0

30,0

Турнирная + Двухточечная

10

200

51,3119

100,804

0,1147

0,0931

0,4394

0,2183

32,1428

26,0874

4,3941

2,1834

7,0

4,7


20

100

70,1874

150,825

0,2184

0,0990

0,3932

0,2212

87,3955

39,6266

7,8655

4,4259

9,0

6,7


40

50

83,9705

149,475

0,1505

0,0705

0,1505

0,0863

60,2154

28,2301

6,0215

3,4558

10,0

67


50

40

127,464

154,676

0,1728

0,1070

0,1728

0,1510

86,4200

53,5485

8,6420

7,5522

10,0

8,3


100

20

120,542

153,085

0,0250

0,0159

0,1015

0,0612

22,5570

14,3809

10,1506

6,1282

35,0

15,0


200

10

24,8409

108,329

0,0145

0,0119

0,0786

0,0625

26,2318

21,4366

15,7391

12,5109

30,0

30,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 - активное поведение алгоритма в данном поколении.

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

Похожие работы на - Программная система автоматического формирования нечеткого логического контроллера

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!