Главная страница
Навигация по странице:

  • Исчисление высказываний, логические связки, выполнимые и общезначимые формулы.

  • Исчисление высказываний, логический вывод.

  • Исчисление предикатов, применение логических связок, кванторы.

  • Принцип логического программирования.

  • Языки логического программирования, области применения.

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

  • Программа на языке логического программирования, механизм сопоставления и поиска с возвратом

  • Основные элементы языка логического программирования.

  • Основные разделы программ на языках логического программирования.

  • Динамическая база данных в языках логического программирования.

  • Механизм возврата и отсечения в языках логического программирования. Нечеткая логика, понятие нечетких множеств и функций принадлежности.

  • Нечеткая логика, операции над нечеткими множествами.

  • Равенство множеств A и B.

  • Логическое произведение.

  • Отрицание множества

  • Нормализация множества.

  • Алгебраическое произведение.

  • Нечеткие правила вывода, системы нечеткого вывода Мамдани.

  • ИИСиТ вопросы и ответы. ИИСиТ - вопросы 2018 ответы. Вопросы к экзамену Искусственный интеллект, понятие интеллектуальной информационной технологии


    Скачать 0.71 Mb.
    НазваниеВопросы к экзамену Искусственный интеллект, понятие интеллектуальной информационной технологии
    АнкорИИСиТ вопросы и ответы
    Дата05.12.2019
    Размер0.71 Mb.
    Формат файлаdocx
    Имя файлаИИСиТ - вопросы 2018 ответы.docx
    ТипВопросы к экзамену
    #98702
    страница5 из 6
    1   2   3   4   5   6

    Концепция интеллектуального анализа данных.


    Data mining (рус. добыча данных, интеллектуальный анализ данных, глубинный анализ данных) — собирательное название, используемое для обозначения совокупности методов обнаружения в данных ранее неизвестных, нетривиальных, практически полезных и доступных интерпретации знаний, необходимых для принятия решений в различных сферах человеческой деятельности.

    Развитие технологий баз данных сначала привело к созданию специализированного языка — языка запросов к базам данных. Для реляционных баз данных — это язык SQL, который предоставил широкие возможности для создания, изменения и извлечения хранимых данных. Затем возникла необходимость в получении аналитической информации (например, информации о деятельности предприятия за определённый период), и тут оказалось, что традиционные реляционные базы данных, хорошо приспособленные, например, для ведения оперативного учёта на предприятии, плохо приспособлены для проведения анализа. Это привело, в свою очередь, к созданию т. н. «хранилищ данных», сама структура которых наилучшим способом соответствует проведению всестороннего математического анализа.

    Знания, добываемые методами data mining, принято представлять в виде закономерностей (паттернов). В качестве таких выступают: ассоциативные правила; деревья решений; кластеры; математические функции. Алгоритмы поиска таких закономерностей находятся на пересечении областей: Искусственный интеллект, Математическая статистика, Математическое программирование, Визуализация, OLAP.

    Ряд этапов решения задач методами data mining:

    • Постановка задачи анализа;

    • Сбор данных;

    • Подготовка данных (фильтрация, дополнение, кодирование);

    • Выбор модели (алгоритма анализа данных);

    • Подбор параметров модели и алгоритма обучения;

    • Обучение модели (автоматический поиск остальных параметров модели);

    • Анализ качества обучения, если неудовлетворительный переход на п. 5 или п. 4;

    • Анализ выявленных закономерностей, если неудовлетворительный переход на п. 1, 4 или 5


    1. Исчисление высказываний, логические связки, выполнимые и общезначимые формулы.


    Логика высказываний – самый простой раздел математической логики, лежащий в основе всех остальных ее разделов. Основными объектами рассмотрения являются высказывания. Под высказыванием понимают повествовательное предложение, о котором можно сказать одно из двух: истинно оно или ложно.

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

    «НЕ», «И», «ИЛИ», «ТО ЖЕ, ЧТО» («ЭКВИВАЛЕНЦИЯ»), «ИЗ  СЛЕДУЕТ». («  ВЛЕЧЁТ», «ПОТОМУ, ЧТО».). Эти связки называются сентенциональными. Связки логики высказываний представляют функции истинности или функции алгебры логики. В таблице представлены логические связки и их обозначения.

    Название

    Тип

    Обозна­чение

    Как читается

    Другие обозначения

    Отрицание

    Унарный



    не

    S, NoT, не

    Конъюнкция

    Бинарный



    и

    ,  , AND, и

    Дизъюнкция

    Бинарный



    или

    , or, или

    Импликация

    Бинарный



    влечёт

    , 

    Эквивалент-ность

    Бинарный



    эквивалентно

    , 


    С помощью связок можно получать составные высказывания, которым соответствует формула, например, (A & B)  (A v В). Такие высказывания называют сложными. Каждое сложное высказывание, как и элементарное принимает значение из множества {F, T}. В формулах используются скобки для определения порядка выполнения действий.


    1. Исчисление высказываний, логический вывод.


    Высказывание C есть логическое следствие высказываний H1, H2, HN, что записывается в виде
    { H1, H2, , HN}= C,

    если всякий раз, когда все Hi равны Тrue, значение C тоже равно Тrue.

    Фундаментальная проблема логики, называемая проблемой вывода, состоит в следующем: определить, является ли формула С логическим следствием множества формул H. Решение этой задачи называют выводом теоремы из аксиом.

    В прямом выводе используется знание семантики тех операторов, через которые строятся аксиомы. Так, если аксиома утверждает, что A&B, то из смысла этого утверждения следует, что истинными будут высказывания A и B, которые войдут в цепочку вывода. Если известно, что истинным являются высказывания {AvB, A}, то истинным будет высказывание B именно исходя из смысла этих высказываний. В прямом выводе строится цепочка высказываний, обозначенная выше как C1, C2, …,CK, которая и является выводом.


    1. Исчисление предикатов, применение логических связок, кванторы.


    Определение.Предикатом называется функция, аргументы которой принимают значения из некоторого множества, а сама функция – значение 0 («ложь») или 1 («истина»).

    Пример предиката: ФАМИЛИЯ = «Петров». Здесь ФАМИЛИЯ – переменная, «Петров» – константа.

    Предикат называется N-местным (N=1,2 … ), если соответствующая функция есть функция от N-аргументов. Высказывание – не что иное, как предикат без аргумента, или предикат с нулевым числом мест.

    Примеры.

    1. Бинарные предикаты: X,y,zN, P(X,y)=(X>y), R(X,y)=(X=y2),
      Q(X, y)= «X делит y»;

    2. Трёхместные: P(X,y,z) = «число X является НОД (наибольший общий
      делитель) чисел y и z» , R(X,y,z)= (z= X + y).


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

    Выражения: «каждому», «для всех» и т.п. служат примером КВАНТИФИКАЦИИ, которая состоит из квантора. Именно кванторы делают теорию предикатов гибкой и богатой.

    Кванторы : общности  (читается как «для всех»);

    существования  (читается как «существует»).

    Конъюнкция. P1(X) R(X) &E(X) – это предикат, который истинен для тех и только для тех объектов из M, для которых оба предиката истинны. Таким образом, область истинности предиката P1(X) равна пересечению областей истинности предикатов R(X) и E(X).

    Дизъюнкция. P2(X) R(X) E(X) – это предикат, который ложен для тех и только для тех объектов из M, для которых оба предиката ложны. Таким образом, область истинности предиката P2(X) равна объединению областей истинности предикатов R(X) и E(X).

    Отрицание.P3(X) R(X) – это предикат, который истинен для тех и только для тех объектов из M, для которых предикат R(X) ложен. Его область истинности является дополнением области истинности предиката R(X).

    Операции логики над многоместными предикатами определяются аналогично.



    1. Принцип логического программирования.


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

    В конце 60-х годов Робинсоном для доказательства теорем в логике предикатов был предложен метод резолюции, основанный на доказательстве «от противного». Целевое утверждение инвертируется, добавляется к множеству аксиом и доказывается, что полученное таким образом множество утверждений является несовместным (противоречивым). Для выполнения доказательства методом резолюции необходимо провести определенные преобразования над множеством утверждений, а именно, привести их к совершенной конъюнктивной нормальной форме (СКНФ). СКНФ представляет собой набор (конъюнкцию) дизъюнктов без кванторов. Кванторы всеобщности подразумеваются, а кванторы существования заменяются на перечисление формул (или предикатов) со всеми константами из предметной области, для которых формула истинна. Например:

    «отец (Иван, Петр)», «отец (Иван, Степан)» и т.д.

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


    1. Языки логического программирования, области применения.



    Любой язык программирования всегда ориентирован на определенный круг задач, при решении которых он наиболее эффективен. Для языка Prolog типичными являются проекты, связанные с разработкой систем искусственного интеллекта — это различные экспертные системы, системы планирования, программы-переводчики, интеллектуальные игры и т.п. Prolog обладает достаточно мощными средствами, позволяющими извлекать информацию из баз данных и знаний. При этом его методы поиска принципиально отличаются от "традиционных". Кроме этого, Prolog часто используют в задачах, связанных с манипулированием на естественном языке.

    Разработка языка Prolog началась в 1970 г. Аланом Кулмероэ (Alain Colmerauer) и Филиппом Русселом (Philippe Roussel) в университете города Марсель, Франция. Они хотели создать язык, который мог бы делать логические заключения на основе заданного текста.

    Название Prolog было выбрано Филиппом Русселом как аббревиатура от французского PROgrammation en LOGique (PROLOG) и первая реализация этого языка с использованием компилятора Николауса Вирта "Algol-W" была закончена в 1972 году.

    В развитии языка Prolog наблюдаются очень интересные тенденции. Этот язык быстро приобрел популярность в Европе как инструмент практического программирования. В Японии вокруг языка Prolog были сосредоточенны все разработки компьютеров пятого поколения.

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

    разработка быстрых прототипов прикладных программ;

    управление производственными процессами;

    создание динамических реляционных баз данных;

    перевод с одного языка на другой;

    создание естественно-языковых интерфейсов;

    реализация экспертных систем и оболочек экспертных систем;

    создание пакетов символьных вычислений;

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

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

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


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


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

    механизм вывода с поиском и возвратом,

    встроенный механизм сопоставления с образцом,

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

    Язык Prolog отличается единообразием программ и данных. Данные и программы лишь две различные точки зрения на объекты Prolog.

    Факт — это фраза без условий, утверждение о том, что соблюдается некоторое отношение. Он записывается как имя предиката, за которым следует заключенный в скобки список аргументов. Каждый факт должен заканчиваться точкой. Например:

    likes('Иван’,’Марья’).

    likes('Петр’,’футбол’).

    Правило — это факт, истинность которого зависит от истинности других фактов. Состоит из головы и тела, разделенных знаком :- , который читается как «если» и соответствует импликации. Голова правила — это предикат, а тело правила — последовательность предикатов, разделенных запятыми. Правило должно заканчиваться точкой, а запятая в теле правила означает конъюнкцию (логическое И). Например:

    likes(‘Иван’,X) :- likes(‘Петр’,X).

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

    Голова :- Подцель1, Подцель2, ... , ПодцельN.

    Запрос — это последовательность предикатов, разделенных запятыми или точкой с запятой и завершающаяся точкой. На естественном языке запятая соответствует союзу «и», а на языке математической логики обозначает конъюнкцию. Точка с запятой соответствует союзу «или» и обозначает дизъюнкцию. Предикат запроса называется целью. Простые за-просы, не содержащие никаких переменных, допускают лишь два возможных ответа: "true" или "false". В случае ответа "true" говорят, что запрос завершился успехом, цель достигнута.

    Процедура — это несколько правил, заголовки которых содержат одинаковые предикаты. Так, например, два правила

    max(X, Y, X) :- X >=Y.

    max(X, Y, Y) :- X
    реализуют процедуру нахождения наибольшего из двух чисел и использует одинаковый предикат max/3, вида max(число1, число2, макс_число).

    1. Программа на языке логического программирования, механизм сопоставления и поиска с возвратом


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

    Унификация представляет собой процесс сопоставления цели с фактами и правилами базы знаний. Цель может быть согласована, если она может быть сопоставлена с заголовком какого-либо предложения базы.

    Сопоставление цели с первым предложением базы знаний признается неудачным и Prolog откатывается к исходной цели. Он ищет в базе знаний новое предложение с заголовком likes/2 для выполнения сопоставления.

    likes(Man,’футбол’) - Исходная Цель

    likes('Петр’,’футбол’) - Сопоставляемое предложение

    Унификация: Man ='Петр’ и ’футбол’ = ’футбол’

    Сопоставление: истина -> true

    Таким предложением будет второй факт likes('Петр’,’футбол’). Это сопоставление Prolog признает успешным при условии, что свободная переменная Man будет унифицирована символьной константой 'Петр’. Именно это значение и выводит Prolog в своей консоли как один из ответов на запрос к базе знаний.

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

    likes(‘Иван’,X) :- likes(‘Петр’,X).

    которое можно согласовать с исходной целью при значениях свободных переменных Man ='Иван’ и X=’футбол’ и при условии, что тело правило, то есть его правая часть будет истинной.

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

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



    1. Основные элементы языка логического программирования.


    Аргументы предложений Prolog-программы называются термами, а саму Prolog-программу можно рассматривать как сеть отношений, существующих между термами.

    Каждый терм обозначает некоторый объект предметной области и записывается как последовательность литер, которые делятся на четыре категории: прописные буквы, строчные буквы, цифры и спецзнаки.

    Константа — поименованный конкретный объект или конкретное отношение. Существует два вида констант - атомы и числа. Атом - это либо последовательность латинских букв, цифр и знака подчеркивания, начинающаяся со строчной буквы, либо произвольная группа символов, заключенная в апострофы (одинарные кавычки). Иногда допускается использование и двойных кавычек. Примеры записи констант: ivan, ‘Ivan’, invoice_n, “иван”, ‘№_счета’, 'Иван’

    Числа в Prolog бывают целыми (1, 1024, 0, -97) и вещественными (3.14, -0.0035, -0.5e4). Вещественные числа используются редко.

    Переменная — обозначение объекта, значения которого меняется в ходе выполнения программы. В Prolog она имеет имя, начинающееся с прописной буквы или знака подчеркивания. Например: Name, X, Invoice_n. Переменная называется связанной, если имеется объект, который она обозначает.

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

    [1,2,3,4] % список числ

    [a,b,c] % список констант
    Структура (составной терм) — объект, состоящий из совокупности других объектов, которые называются компонентами. Компоненты сами являются термами. Например, в факт likes входит структура book(_,_):

    likes ( "Иван" , book ( “название”, “автор” ) ).

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

    likes(Who, What).

    likes(Who, What, When).

    Заканчивая разговор об основных элементах языка Prolog, отметим, что все они в той или иной степени составляет основу формирования фактов и правил – основных конструкций Prolog-программ.



    1. Основные разделы программ на языках логического программирования.


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

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

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

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

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


    1. Динамическая база данных в языках логического программирования.


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

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

    Достоинством Пролога является простота создания динамических баз данных. Основной задачей систем управления баз данных СУБД является добавление, удаление и корректирование записей в базе. Как известно из курса «Информационные системы», самая распространенная модель данных – реляционная.

    Для работы с базами данных в Прологе имеются следующие встроенные предикаты.

    1. asserta – заносит новый факт в базу данных (БД) в ?????(ОЗУ). Заносит так, что новый факт помещается перед всеми ранее внесенными фактами.

    2. assertz – помещает новый факт в конец БД.

    Например. assertbase: - student (name, group, number), assertz (dstudent (name, group, number)),

    1. retract – удаляет утверждение из БД (удаляет конкретную запись)

    2. save – предикат, сохраняющий БД на диске из ОЗУ. save (Dos_filename) – сохраняет из ОЗУ на диске.

    3. consult (Dos_filename) – считывает базу из файла на диске в ОЗУ. Consult неуспешен, если нет файла, неправильный синтаксис описания, нельзя разместить в ОЗУ из-за недостатка места.

    4. readterm (Domain, Term) – считывает из файла объекты, относящиеся к определенному домену: readterm(auto_record,auto(Name, Year, Price))


    При проектировании БД необходимо учитывать следующие факторы.

    1. Размер БД (для того, чтобы выбрать, где будет делаться база в ОЗУ или на диске).

    2. Организация элементов БД.

    3. Способы работы и содержание БД. База данных создается в ОЗУ, если размер базы данных относительномал.

    Сначала необходимо задать начальные данные и создать базу. После того как БД создана, необходимо организовать её работу, которая включает следующее: 1. занесение новых данных, 2. удаление данных, 3. выборка и вывод данных на экран.



    1. Механизм возврата и отсечения в языках логического программирования.

    2. Нечеткая логика, понятие нечетких множеств и функций принадлежности.


    Логика высказываний – самый простой раздел математической логики, лежащий в основе всех остальных ее разделов. Основными объектами рассмотрения являются высказывания. Под высказыванием понимают повествовательное предложение, о котором можно сказать одно из двух: истинно оно или ложно.

    Нечеткая логика (fuzzy logic) является надмножеством классической булевой логики. Она расширяет возможности классической логики, позволяя применять концепцию неопределенности в логических выводах. Под термином “нечеткая логика” фактически понимается непрерывная логика, поскольку в данном случае вместе со значениями “ложь” и “истина” применяются значения между ними

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

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

    В нечетких системах элемент может частично принадлежать к любому множеству. Степень принадлежности к множеству A, представляющая собой обобщение характеристической функции, называется функцией принадлежности μA (x) , причем μA (x) ∈[0, 1]. Значения функции принадлежности являются рациональными числами из интервала [0, 1], где 0 означает отсутствие принадлежности к множеству, а 1 – полную принадлежность. Конкретное значение функции принадлежности называется степенью или коэффициентом принадлежности.

    В теории нечетких множеств, помимо переменных цифрового типа, существуют лингвистические переменные с приписываемыми им значениями. Пусть переменная x обозначает температуру (x =“температура”).Можно определить нечеткие множестваотрицательная”, близкая к нулю”, положительная”, характеризуемые функциями принадлежности μотриц (x), μблизкнул (x), μполож (x) .

    Два множества A(x) и B(x) равны между собой, когда

    μA (x) =μB (x) для каждого элемента обоих множеств.

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



    В нечеткой логике принимается во внимание степень вхождения во множество данного элемента, которая может непрерывно изменяться интервале от 0 до 1.
    Коэффициент уверенности – это разность между двумя мерами:
    КУ[h : e]= МД[h : e]− МНД[h : e],
    где КУ[h : e]–уверенность в гипотезе h с учетом свидетельства e;

    МД[h : e]–мера доверия гипотезе h при заданном свидетельстве e;

    МНД[h : e]–мера недоверия h при свидетельстве e.
    Коэффициент КУ может изменяться от –1 (абсолютная ложь) до 1 (абсолютная истина). Значения МД и МНД могут изменяться только от 0 до 1. Следует отметить, что КУ , МД и МНД не являются вероятностными мерами.
    Шортлиффом была предложена формула уточнения, по которой новую информацию можно сочетать со старыми результатами. Она применяется к мерам доверия и недоверия, связанным с каждой гипотезой. Формула для меры доверия имеет следующий вид:
    МД[h : e1, e2]= МД[h : e1]+ МД[h : e2](1− МД[h : e1]),

    где запятая между e1 и e2 означает, что e2 следует за e1 . Аналогичным образом уточняются значения меры недоверия.


    1. Нечеткая логика, операции над нечеткими множествами.


    Пусть A есть некоторое подмножество универсального множества E.Принадлежность любого элемента x подмножеству A можно выразить с помощью функции принадлежностиμA (x) , значения которой указывают, является ли (да или нет) x элементом A:

    μA(x)=1,еслиxA,

    μA(x)=0,еслиxA.

    Предположим теперь, что характеристическая функция для элементов подмножества A может принимать не только значения 0 или 1, но и любое значение а∈[0,1], т.е. μA(x) =a∈ [0,1].

    Математический объект, определяемый выражением

    A ={(x1| 0,2),(x2| 0,4),(x3|1),(x4| 0)},где xiэлементы универсального множества E, а число после вертикальной черты значение функции принадлежности для этого элемента, будем называть нечетким подмножеством множества E.

    На рисунке приведено графическое представление нечеткого множества с помощью его функции принадлежности [3].



    Строгое определение понятия нечеткого подмножества имеет следующий вид. Пусть E есть множество и x – элемент E. Тогда нечетким подмножеством A множества E называется множество упорядоченных пар
    {x | μA (x)},∀xE ,
    где μA (x) – степень принадлежности x к A. Если μA (x) принимает свои значения во множестве M значений функции принадлежности, то можно сказать, что x принимает значения в M посредством μA . Множество M называют множеством принадлежностей.

    Таким образом, четкое множество представляет собой частный случай нечеткого множества с функцией принадлежности {0, 1}. Теория нечетких множеств имеет более широкий спектр применений, чем теория четких множеств, поскольку позволяет учитывать субъективные мнения.
    Равенство множеств A и B. Нечеткие множестваAиBравнымежду собой, когда для всех элементов xi обоих множеств выполняется условие

    • A (x) =μB (x) .


    Логическая сумма. Логическая сумма(объединение)двух нечетких подмножеств A и B, AB, определим как наименьшее нечеткое подмножество, которое содержит как A, так и B:

    • AB (x) =μA (x) ∪μB (x) =Max[ A(x), B(x)],

    где знак ∪ обозначает оператор Max.

    На рисунке графически представлено объединение двух нечетких подмножеств.


    Например, пусть даны два нечетких множества A и B, определенные следующим образом:

    1. = {(x1|1,0),(x2| 0,7),(x3| 0,5),(x4| 0,1)},

    B ={(x1| 0,2),(x2| 0,5),(x3| 0,6),(x4| 0,7)}.

    Логическая сумма этих множеств C=AB равна:

    С = {(x1|1,0),(x2| 0,7),(x3| 0,6),(x4| 0,7)}.
    Логическое произведение. Логическое произведение(пересечение) двух нечетких подмножеств A и B, обозначаемое AB , определяют как наибольшее нечеткое подмножество, содержащееся одновременно в A и B

    • AB (x) =μA(x) ∩μB (x) =Min[ A(x), B(x)] ,

    где знак ∩ обозначает оператор Min.

    В этом случае, используя данные для нечетких множеств A и B, приведенные в предыдущем примере, выражение для множества

    1. = ABприобретает вид

    С = {(x1| 0,2),(x2| 0,5),(x3| 0,5),(x4| 0,1)}.
    На рисунке графически представлено пересечение двух нечетких подмножеств.



    Отрицание множества A . В этом случае соотношение дляфункций принадлежности элемента x к множествам A и A имеет вид

    μA (x) = 1 −μA (x) .


    Следует отметить, что в отличие от четких множеств, где отрицание элементов, принадлежащих к множеству, дает пустое множество, отрицание нечеткого множества определяет непустое множество, состоящее из элементов, функции принадлежности которых также определены на интервале [0, 1].
    Нормализация множества. Операция нормализация множестваNORM(A) осуществляется в соответствии со следующей формулой



    Концентрация. Операция концентрацииCON(A)записывается в виде

    μCON(x)=[μA(x)]2.

    Эта операция часто применяется при действиях с лингвистической переменной, в которых она отождествляется с интенсификатором “очень”.
    Растяжение. Операция растяженияDIL(A)записывается в виде

    μDIL (x) = [μA (x)]0,5 .

    Лингвистическое значение этой операции формулируется как “примерно” или “приблизительно”.

    Алгебраическое произведение. Выражение для функции принадлежности элемента x к алгебраическому произведению двух множеств A B имеет вид

    μAB (x) =μA (x) ∗μB (x) .



    1. Нечеткие правила вывода, системы нечеткого вывода Мамдани.


    Базовое правило вывода типа “если – то” (ifthen rule) называется также нечеткой импликацией, принимающей форму

    если x этоA, то y это B,

    где A и B - это лингвистические значения , идентифицированные нечетким способом через соответствующие функции принадлежности для переменных x и y. Часть “x это A” называется условием(предпосылкой), а“y это B” -следствием(заключением).Данную импликацию можно записать в сокращенном виде AB.

    Нечеткое рассуждение – это процедура, которая позволяет определить заключение, вытекающее из множества правил “ если – то”. Такое множество при N переменных xi может принять вид

    если x1 это А1, x2 это А2 и… и xN это АN, то y это В. (1)
    Переменные x1, x2,…, xN образуют N- мерный входной вектор x, составляющий аргумент условия, в котором A1, A2,…,AN и B обозначают величины соответствующего коэффициента принадлежности μA (xi ) и μB (y) . Необходимо обратить внимание, что здесь присутствуют индивидуальные функции принадлежности для каждой переменой xi, и отдельно для у. Случайное значение функции принадлежности μA (x) , где x - это вектор x = [x1, x2,…, xN], относящееся к условию импликации (уровень активации правила), должно в последующем интерпретироваться с использованием введенных ранее нечетких операций. Возможна интерпретация в форме логического произведения множеств либо в форме алгебраического произведения:


    • интерпретация в форме логического произведения



    • интерпретация в форме алгебраического произведения



    Приписывание единственного значения функции принадлежности, описывающей многомерное условие, будем называть агрегированием предпосылки. Каждой импликации A B ,определенной выражением (1), можно приписать также единственное значение функции принадлежности μAB (x, y) . Зачастую интерпретации этой функции также имеют форму логического или алгебраического произведения:


    • форма логического произведения

    μAB = min{μA(x),μB(y)},

    • форма алгебраического произведения

    μAB = μA(x)μB(y).

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

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

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



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

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




    1. 1   2   3   4   5   6


    написать администратору сайта