Фрагмент для ознакомления
2
ключевым при нечетких выводах и принятии решений в нечетких условиях. Наибольшее применение при решении прикладных задач нечеткого управления находит нечеткая импликация Заде.
30. Расскажите о нечетком логическом выводе. Дайте определение композиции нечетких отношений. Приведите пример нечеткой композиции.
Механизм нечеткого логического вывода в своей основе имеет базу знаний, формируемую специалистами предметной области в виде совокупности нечетких продукционных правил следующего вида:
ЕСЛИ <Антецедент(предпосылка)> ТО <Консеквент(следствие) >,
Антецедент и Консеквент - некоторые выражения нечеткой логики, которые наиболее часто представляются в форме нечетких высказываний. В качестве антецедента и консеквента могут использоваться не только простые, но и составные логические нечеткие высказывания, т.е. элементарные нечеткие высказывания, соединенные нечеткими логическими связками, такими как нечеткое отрицание, нечеткая конъюнкция, нечеткая дизъюнкция:
ЕСЛИ « ЕСТЬ » ТО « ЕСТЬ 2 »,
ЕСЛИ « ЕСТЬ » И « ЕСТЬ » ТО « ЕСТЬ НЕ »,
ЕСЛИ « ЕСТЬ » ИЛИ « ЕСТЬ » ТО « ЕСТЬ НЕ »,
Нечеткий логический вывод– это процесс получения нечетких заключений на основе нечетких условий или предпосылок.
Применительно к нечеткой системе управления объектом, нечеткий логический вывод– это процесс получения нечетких заключений о требуемом управлении объектом на основе нечетких условий или предпосылок, представляющих собой информацию о текущем состоянии объекта.
Логический вывод осуществляется поэтапно.
1)Фаззификация(введение нечеткости) – это установка соответствия между численным значением входной переменной системы нечеткого вывода и значение функции принадлежности соответствующего ей терма лингвистической переменной. На этапе фаззификации значениям всех входным переменным системы нечеткого вывода, полученным внешним по отношению к системе нечеткого вывода способом, например, при помощи статистических данных, ставятся в соответствие конкретные значения функций принадлежности соответствующих лингвистических термов, которые используются в условиях (антецедентах) ядер нечетких продукционных правил, составляющих базу нечетких продукционных правил системы нечеткого вывода. Фаззификация считается выполненной, если найдены степени истинности (a) всех элементарных логических высказываний вида « ЕСТЬ », входящих в антецеденты нечетких продукционных правил, где - некоторый терм с известной функцией принадлежности µ(x), - четкое численное значение, принадлежащее универсуму лингвистической переменной .
2)Агрегирование– это процедура определения степени истинности условий по каждому из правил системы нечеткого вывода. При этом используются полученные на этапе фаззификации значения функций принадлежности термов лингвистических переменных, составляющих вышеупомянутые условия (антецеденты) ядер нечетких продукционных правил.
Если условие нечеткого продукционного правила является простым нечетким высказыванием, то степень его истинности соответствует значению функции принадлежности соответствующего терма лингвистической переменной.
Если условие представляет составное высказывание, то степень истинности сложного высказывания определяется на основе известных значений истинности составляющих его элементарных высказываний при помощи введенных ранее нечетких логических операций в одном из оговоренных заранее базисов.
3)Активизацияв системах нечеткого вывода – это процедура формирования функций принадлежности m(y) консеквентов каждого их продукционных правил, которые находятся при помощи одного из методов нечеткой композиции:
где µ(x) функция принадлежности термов лингвистических переменных консеквента продукционного правила, c - степень истинности нечетких высказываний, образующих антецедент нечеткого продукционного правила.
4)Аккумуляция (или аккумулирование)в системах нечеткого вывода – это процесс нахождения функции принадлежности выходной лингвистической переменной. Результат аккумуляции выходной лингвистической переменной определяется как объединение нечетких множеств всех подзаключений нечеткой базы правил относительно соответствующей лингвистической переменной.
Объединение функций принадлежности всех подзаключений проводится как правило классически (max-объединение).
5)Дефаззификацияв системах нечеткого вывода – это процесс перехода от функции принадлежности выходной лингвистической переменной к её четкому (числовому) значению. Цель дефаззификации состоит в том, чтобы, используя результаты аккумуляции всех выходных лингвистических переменных, получить количественные значения для выходной переменной, которое используется внешними по отношению к системе нечеткого вывода объектам менеджмента.
Рассмотренные этапы нечеткого вывода могут быть реализованы неоднозначным образом: агрегирование может проводиться не только в базисе нечеткой логики Заде, активизация может проводиться различными методами нечеткой композиции, на этапе аккумуляции объединение можно провести отличным от max-объединения способом, дефаззификация также может проводиться различными методами. Таким образом, выбор конкретных способов реализации отдельных этапов нечеткого вывода определяет тот или иной алгоритм нечеткого вывода. В настоящее время остается открытым вопрос критериев и методов выбора алгоритма нечеткого вывода в зависимости от конкретной задачи. На текущий момент в системах нечеткого вывода наиболее часто применяются алгоритмы Мамдани, Цукамото, Ларсена, Сугено.
Композиция (свертка) двух нечетких отношений. Пусть R1 — нечеткое отношение R1:(X × У) → [0, 1] между X и Y, и R2 — нечеткое отношение R2 — (Y× Z) → [0, 1] между Y и Z. Нечеткое отношение между X и Z, обозначаемое R2 ᵒ R1, опреде¬ленное через R2 и R1 выражением
называется (max-min)-композицией ((max-min)-сверткой) отно¬шений R1 и R2
Пример. Пусть
Тогда
При этом
Замечание. В данном примере вначале использован «анали¬тический» способ композиции отношений R1 и R2, т.е. i-ястрокаR1 «умножается» на j-й столбец R2 с использованием операции ˄, полученный результат «свертывается» с использованием операции ˅ в μ(xi, zj).
Свойства(max-min)-композиции. Операция (max-min)-композиции ассоциативна, т.е.
R3 ᵒ (R2 ᵒ R1)= (R3 ᵒ R2) ᵒ R1,
дистрибутивна относительно объединения, но недистрибутивна от¬носительно пересечения:
R3 ᵒ (R2 ∪ R1) = (R3 ᵒ R2) ∪ (R3 ᵒ R1),
R3 ᵒ (R2 ⋂ R1) ≠ (R3 ᵒ R2) ⋂ (R3 ᵒ R1).
Кроме того, для (max-min)-композиции выполняется следую¬щее важное свойство: если R1⊂ R2 ,то R ᵒ R1⊂ R ᵒ R2.
max-композиция.В выражении
для (max-min)-композиции отношений R1 и R2 операцию ˄ можно заменить любой другой, для которой выполняются те же ограни¬чения, что и для ˄: ассоциативность и монотонность (в смысле неубывания) по каждому аргументу. Тогда
В частности, операция ˄ может быть заменена алгебраическим умножением, тогда говорят о (max-prod)-композиции.
31. Нечеткие алгоритмы и выводы. Расскажите об организации ЭС с нечетким логическим выводом. Какие способы используются в таких системах для представления и обработки знаний?
Основой для проведения операции нечёткого логического вывода является база правил, содержащая нечёткие высказывания в форме "Если - то" и функции принадлежности для соответствующих лингвистических термов. При этом должны соблюдаться следующие условия:
• Существует хотя бы одно правило для каждого лингвистического терма выходной переменной.
• Для любого терма входной переменной имеется хотя бы одно правило, в котором этот терм используется в качестве предпосылки (левая часть правила).
В противном случае имеет место неполная база нечётких правил.
Пусть в базе правил имеется m правил вида:
. . .
. . .
где – входные переменные; y – выходная переменная; – заданные нечёткие множества с функциями принадлежности.
Результатом нечёткого вывода является чёткое значение переменной y* на основе заданных чётких значений .
В общем случае механизм логического вывода включает четыре этапа: введение нечёткости (фазификация), нечёткий вывод, композиция и приведение к чёткости, или дефазификация (рис.).
Рис. Система нечёткого логического вывода
Алгоритмы нечёткого вывода различаются главным образом видом используемых правил, логических операций и разновидностью метода дефазификации. Разработаны модели нечёткого вывода Мамдани, Сугено, Ларсена, Цукамото.
32. Программные пакеты в области нечеткой логики.
В настоящее время мировой активно формируется рынок коммерческих программных продук¬тов для работы с нечеткой логикой. На нем представлено более 100 пакетов прикладных программ, которые в той или иной мере используют нечеткую логику. Лидерами в данной области являются несколько компаний-разработчиков программного обеспечения. Их инструментальные средства ориентированы на примене-ние нечеткой логики в максимальном количестве областей и приложений. Это пакет CubiCalc фирмы Hyper Logic, FuzzyTECH (Inform Software), FIDE (Ap-tronix), пакеты расширения к MatLab: Fuzzy Logic Toolbox (поставляется с MatLab) и FlexTool for MATLAB компании Cynap Sys, а также пакет JFS (разработ¬чик Ян Мортенсен) и другие [1, 2, 3].
Большинство перечисленных пакетов программ имеют полнофункцио¬нальный пользовательский интерфейс, развитые средства импорта/экспорта данных. Классифицировать пакеты нечеткой логики по их возможностям можно на сле¬дующие группы.
1. Программное обеспечение для генерации кода для микроконтроллеров, работающих на нечетких алгоритмах. Как правило, код генерируется на языке C или языке ассемблера.
2. Пакеты, позволяющие строить экспертные системы на основе нечеткой логике. Другими словами, нечеткие правила и функции принадлежности задаются экспертами предметной области. Во всех пакетах исследовате¬лю предоставляется возможность выбора вида функций принадлежности (треугольная, трапецеидальная, гауссова и др.), механизма нечеткого вы¬вода (Мамдани, Сугено, Цукамото, Ларсена), способа композиции и при¬ведения к четкости. Работа с пакетами облегчается графическим отобра¬жением мнемосхем нечетких моделей, поверхностей отклика и других за¬висимостей.
3. Пакеты, позволяющие строить аппроксиматоры зависимостей и системы классификации на основе адаптивных моделей нечеткого вывода.
33. Среда моделирования Anylogic. Основные инструменты создания и работы с имитационной моделью.
AnyLogic — программное обеспечение для имитационного моделирования, разработанное российскойкомпанией The AnyLogic Company (бывшая «Экс Джей Текнолоджис», англ. XJ Technologies). Инструмент обладает современным графическим интерфейсом и позволяет использовать язык Java для разработки моделей.
AnyLogic включает в себя графический язык моделирования, а также позволяет пользователю расширять созданные модели с помощью языка Java. Интеграция компилятора Java в AnyLogic предоставляет более широкие возможности при создании моделей, а также создание Java апплетов, которые могут быть открыты любым браузером. Эти апплеты позволяют легко размещать модели AnyLogic на веб-сайтах. В дополнение к Java-апплетам, AnyLogic Professional поддерживает создание Java-приложений, в этом случае пользователь может запустить модель без инсталляции AnyLogic.
Графическая среда моделирования AnyLogic включает в себя следующие элементы:
• Stock & Flow Diagrams (диаграмма потоков и накопителей) применяется при разработке моделей, используя метод системной динамики.
• Statecharts (карты состояний) в основном используется в агентных моделях для определения поведения агентов. Но также часто используется в дискретно-событийном моделировании, например для симуляции машинных сбоев.
• Action charts (блок-схемы) используется для построения алгоритмов. Применяется в дискретно-событийном моделировании (маршрутизация звонков) и агентном моделировании (для логики решений агента).
• Process flowcharts (процессные диаграммы) основная конструкция, используемая для определения процессов в дискретно-событийном моделировании.
Среда моделирования также включает в себя: низкоуровневые конструкции моделирования (переменные, уравнения, параметры, события и т.п), формы представления (линии, квадраты, овалы и т.п), элементы анализа (базы данных, гистограммы, графики), стандартные картинки и формы экспериментов.
Среда моделирования AnyLogic поддерживает проектирование, разработку, документирование модели, выполнение компьютерных экспериментов с моделью, включая различные виды анализа — от анализа чувствительности до оптимизации параметров модели относительно некоторого критерия.
34. Агентные модели. Особенности создания. Дать определение агента и описать его свойства.
Агентное моделирование (англ. agent-based model (ABM))— метод имитационного моделирования, исследующий поведение децентрализованных агентов и то, как такое поведение определяет поведение всей системы в целом. В отличие от системной динамики аналитик определяет поведение агентов на индивидуальном уровне, а глобальное поведение возникает как результат деятельности множества агентов (моделирование «снизу вверх»).
Агентное моделирование включает в себя клеточные автоматы, элементы теории игр, сложных систем, мультиагентных систем и эволюционного программирования, методы Монте-Карло, использует случайные числа.
В основе агент-ориентированных моделей лежат три основные идеи:
• объектная ориентированность;
• обучаемость агентов (или их эволюция);
• сложность вычислений.
Доминирующим методологическим подходом является подход, при котором вычисляется равновесие или псевдоравновесие системы, содержащей в себе множество агентов. При этом, сами модели, используя простые правила поведения, могут выдавать весьма интересные результаты.
АОМ состоят из динамически взаимодействующих по определённым правилам агентов. Среда, в которой они взаимодействуют, может быть достаточно сложной.
Основные свойства агентов:
Интеллектуальность. В то же время, это свойство должно быть умеренным для того, чтобы агенты не могли познать нечто большее, выходящее за рамки правил игры.
Наличие жизненной цели. Расположение во времени и пространстве. Имеется в виду некоторая «среда обитания», которая может быть представлена и в виде решетки (как в