- •Лекция №1 Логическая программа: основные конструкции
- •Лекция №2 Программирование баз данных
- •Структурированные и абстрактные данные
- •Логические программы и модель реляционной базы данных
- •Лекция №3 Рекурсивное программирование
- •Построение рекурсивных программ
- •Бинарные деревья
- •Работа с символьными выражениями
- •Лекция №4 Вычислительная модель логических программ
- •Абстрактный интерпретатор логических программ
- •Лекция №5 Теория логических программ Операционная и декларативная семантика. Интерпретация
- •Корректность программы
- •Лекция №6 Анализ структуры термов
- •Типовые предикаты
- •Составные термы
- •Лекция №7 Металогические предикаты
- •Типовые металогические предикаты
- •Сравнение неосновных термов
- •Использование переменных в качестве объектов
- •Доступность метапеременных
- •Лекция №8 Внелогические предикаты
- •Лекция №9 Недетерминированное программирование
- •Недетерминизм с произвольным выбором альтернативы и недетерминизм с неизвестным выбором альтернативы
- •Лекция №10 Неполные структуры данных
- •Лекция №11 Программирование второго порядка
- •Лекция №12 Методы поиска
- •Лекция №13 Нечеткая логика. Обработка нечетких данных
- •Лекция №14 Constraint-пролог: операционная семантика Программирование в ограничениях
- •Лекция №15 Применение логического программирования в задачах искусственного интеллекта. Тест Тьюринга.
- •Лекция №16 Введение в функциональное программирование
- •Лекция №17 Рекурсивные функции и лямбда-исчисление а.Черча
- •Лекция №18 Функциональные языки программирования Свойства функциональных языков
- •Лекция №19 Программирование в функциональных обозначениях Структуры данных и базисные операции
- •Типы в функциональных языках
- •Лекция №20 Представление и интерпретация функциональных программ Программная реализация
Лекция №13 Нечеткая логика. Обработка нечетких данных
В сочетании слов "нечеткий" и "логика" есть что-то необычное. Логика в обычном смысле слова есть представление механизмов мышления, то, что никогда не может быть нечетким, но всегда строгим и формальным. Однако математики, исследовавшие эти механизмы мышления, заметили, что в действительности существует не одна логика (например, булева), а столько, сколько мы пожелаем, потому что все определяется выбором соответствующей системы аксиом. Конечно, как только аксиомы выбраны, все утверждения, построенные на их основе, должны быть строго, без противоречий увязаны друг с другом согласно правилам, установленным в этой системе аксиом.
Человеческое мышление – это совмещение интуиции и строгости, которое, с одной стороны, рассматривает мир в целом или по аналогии, а с другой стороны – логически и последовательно и, значит, представляет собой нечеткий механизм. Законы мышления, которые мы захотели бы включить в программы компьютеров, должны быть обязательно формальными; законы мышления, проявляемые в диалоге человека с человеком – нечеткие. Можем ли мы поэтому утверждать, что нечеткая логика может быть хорошо приспособлена к человеческому диалогу? Да – если математическое обеспечение, разработанное с учетом нечеткой логики, станет операционным и сможет быть технически реализовано, то человеко-машинное общение станет намного более удобным, быстрым и лучше приспособленным к решению проблем.
Термин "нечеткая логика" используется обычно в двух различных значениях. В узком смысле, нечеткая логика – это логическое исчисление, являющееся расширением многозначной логики. В ее широком смысле, который сегодня является преобладающим в использовании, нечеткая логика равнозначна теории нечетких множеств. С этой точки зрения, нечеткая логика в узком смысле является разделом нечеткой логики в широком смысле.
Определение. Любая нечеткая переменная характеризуется тройкой
где
–
название переменной,
–
универсальное множество,
–
нечеткое подмножество множества
,
представляющее собой нечеткое ограничение
на значение переменной
,
обусловленное
.
Используя аналогию
с саквояжем, нечеткую
переменную
можно уподобить саквояжу с ярлыком,
имеющим "мягкие" стенки. Тогда
–
надпись на ярлыке (название саквояжа),
–
список предметов, которые в принципе
можно поместить в саквояж, а
–
часть этого списка, где для каждого
предмета
указано
число
,
характеризующее степень легкости, с
которой предмет можно поместить в
саквояж
.
Рассмотрим теперь
различные подходы к определению основных
операций над нечеткими
переменными,
а именно конъюнкции, дизъюнкции и
отрицания. Данные операции являются
основными для нечеткой
логики в том
смысле, что все ее конструкции основываются
на этих операциях. В настоящее время в
нечеткой логике
в качестве операций конъюнкции и
дизъюнкции широко используют
-нормы
и
-конормы,
пришедшие внечеткую
логику из
теории вероятностных метрических
пространств. Они достаточно хорошо
изучены и лежат в основе многих формальных
построений нечеткой
логики. В то
же время расширение области приложений
нечеткой логики
и возможностей нечеткого моделирования
вызывает необходимость обобщения этих
операций. Одно направление связано с
ослаблением их аксиоматики с целью
расширения инструментария нечеткого
моделирования. Другое направление
обобщения операций конъюнкции и
дизъюнкции нечеткой логики связано с
заменой множества значений принадлежности
на
линейно или частично упорядоченное
множество лингвистических оценок
правдоподобности. Эти обобщения основных
операцийнечеткой
логики, с одной
стороны, вызываются необходимостью
разработки экспертных систем, в которых
значения истинности фактов и правил
описываются экспертом или пользователем
непосредственно в лингвистической
шкале и носят качественный характер. С
другой стороны, такие обобщения вызываются
смещением направления активного развития
нечеткой логики
от моделирования количественных
процессов, поддающихся измерению, к
моделированию процессов мышления
человека, где восприятие мира и принятие
решений происходит на основе гранулирования
информации и вычисления словами.
Естественным обобщением иволютивных операций отрицания нечеткой логики являются неиволютивные отрицания. Они представляют самостоятельный интерес и рассматриваются в нечеткой и других неклассических логиках. Необходимость исследования подобных операций отрицания вызывается также введением в рассмотрение обобщенных операций конъюнкции и дизъюнкции, связанных друг с другом с помощью операции отрицания.
Операции отрицания
Пусть множество
значений функций принадлежности
является
линейно упорядоченным множеством с
наименьшим0
и наибольшим 1
элементами. Примером
может
служить интервал вещественных чисел
,
шкала лингвистических оценок (например,
L={"неправдоподобно", "малоправдоподобно",
"средняя правдоподобность", "большая
правдоподобность", "наверняка"},
шкала балльных оценок и др.
Определение.
Операцией
отрицания на
называется
функция
,
удовлетворяющая следующим условиям:
(О1)
;
(O2)
.
В зависимости от
выполнения на
дополнительных
условий, рассматриваются следующие
типы отрицаний:
Строгое отрицание:
;Квазистрогое отрицание:
;Инволюция:
;Обычное отрицание:
;Слабое отрицание:
.
Слабое отрицание
называется также интуиционистским
отрицанием. Элемент
из
будет
называться иволютивным элементом, если
,
в противном случае он будет называться
неиволютивным. Отрицание будет называться
неиволютивным, если
содержит
неиволютивные по этому отрицанию
элементы.
Элемент
,
удовлетворяющий условию
,
называется фиксированной точкой. Этот
элемент будет центральным элементом
(фокусом)
.
Очевидно, что если фиксированная точка
существует, то она единственна.
Отрицание
называется
сжимающим в точке
,
если выполнено условие
![]()
Отрицание называется
сжимающим на
,
если оно сжимающее в каждой точке
множества
.
Отрицание
называется
разжимающим в точке
,
если выполнено условие
![]()
Отрицание называется
разжимающим на
,
если оно является разжимающим в каждой
точке множества
.
Теорема
Для любого отрицания
любая
точка
является
либо сжимающей, либо разжимающей.
Доказательство
Пусть
,
тогда из условия (О2) получим
,
откуда следует либо
,
либо
.
Аналогично, из
получаем
,
и, следовательно, либо
,
либо![]()
Следствие
Элемент
является
иволютивным тогда и только тогда, если
он одновременно сжимающий и разжимающий.
Используя математические методы, можно доказать, что элементы, порождаемые сжимающими и разжимающими отрицаниями в точках, представляют собой спирали, соответственно "закручиваемые внутрь" или "раскручиваемые наружу". Эти спирали либо бесконечные, либо в конечном случае имеют петлю на конце, состоящую из двух элементов, которые для сжимающих отрицаний могут совпадать, образуя неподвижную точку отрицания. Спирали, порождаемые разными элементами, либо вложены друг в друга, либо совпадают, начиная с некоторого элемента.
На рис.
8.1 даны
примеры сжимающего и разжимающего в
точке
отрицания.
Элементы
представлены
вершинами соответствующего графа и
упорядочены снизу вверх, в частности,
.
Элементы y порождаются элементами
так,
что
длярис.
8.1(А)
и
длярис.
8.1(Б).

Рис. 8.1.
Рассмотрим
простейшие примеры отрицаний. Во всех
примерах предполагается, что
содержит
элементы, отличные от0
и 1.
Пример. "Все, что не истина и не ложь, является неопределенностью".


Рис. 8.2.
где
–
некоторый элемент из
такой,
что
.
Это отрицание является сжимающим, ни
обычным, ни слабым, с фиксированной
точкой.
Пример. "Все, что не истина, есть ложь".
![]()

Рис. 8.3.
Это отрицание является обычным, разжимающим, квазистрогим, без фиксированной точки.
Пример. "Все, что не ложь, есть истина".
![]()

Рис. 8.4.
Это отрицание является слабым, разжимающим, квазистрогим, без фиксированной точки.
Пример. "Все или истина, или ложь".
![]()

Рис. 8.5.
где
–
некоторый элемент из
такой,
что
.
Это отрицание
является разжимающим, ни обычным, ни
слабым, без фиксированной точки. Некоторые
подходы к формализации нечеткой
логики,
основанные на подобной интерпретации,
сводят ее к двузначной, используя
.
Пример.
Пусть
,
где
.
![]()

Рис. 8.6.
Это отрицание
является иволютивным. При нечетном
фиксированной
точкой отрицания является элемент
.
Мера нечеткости на этом элементе
принимает максимальное значение. При
четном
фиксированная
точка отрицания отсутствует, фокус
состоит из множества
,
имеющих максимальную нечеткость.
Пример. "Все, что не истина, есть ложь".
![]()

Рис. 8.3.
Это отрицание является обычным, разжимающим, квазистрогим, без фиксированной точки.
Пример. "Все, что не ложь, есть истина".
![]()

Рис. 8.4.
Это отрицание является слабым, разжимающим, квазистрогим, без фиксированной точки.
Пример. "Все или истина, или ложь".
![]()

Рис. 8.5.
где
–
некоторый элемент из
такой,
что
.
Это отрицание
является разжимающим, ни обычным, ни
слабым, без фиксированной точки. Некоторые
подходы к формализации нечеткой
логики,
основанные на подобной интерпретации,
сводят ее к двузначной, используя
.
Пример.
Пусть
,
где
.
![]()

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