Главная > Прикладные нечеткие системы
НАПИШУ ВСЁ ЧТО ЗАДАЛИ
СЕКРЕТНЫЙ БОТ В ТЕЛЕГЕ
<< Предыдущий параграф Следующий параграф >>
Пред.
След.
Макеты страниц

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

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO

6.2.2. НЕЧЕТКИЙ ПРОЛОГ

Введение

Пролог-язык программирования, широко используемый в системах искусственного интеллекта и экспертных системах. Пролог - непроцедурный язык. В его основе лежит логика предикатов первого порядка, а в качестве правил вывода используется принцип резолюций. Логика предикатов первого порядка - система двузначной логики. Она предполагает, что значения логических переменных в суждениях и предикатах могут быть либо истиной (1), либо ложью (0).

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

С другой стороны, в нечеткой логике значения истинности

всех логических переменных - это не только истина (1) или ложь (0), как и двузначной логике, они могут Принимать любые значения в интервале [0, 1]. Таким образом, если каждому оператору Пролога присвоить произвольное значение в [0, 1] и интерпретировать эти значения как значения истинности или степень достоверности, то можно было бы делать выводы даже из нечетких фактов и недостоверных правил, а благодаря заключениям со значениями истинности в [0, 1] можно было бы менять порядок управления программой. Все это стимулирует исследования нечеткого Пролога.

При разработке нечеткого Пролога необходимо пересмотреть лежащий в его основе принцип резолюций с позиций нечеткой логики [26, 27]. В данном разделе кратко изложены идеи нечеткого Пролога, основанного на принципах нечетких резолюций. Рассматриваемый здесь нечеткий Пролог логически многозначен, и в качестве значений истинности выбираются не произвольные значения в [0, 1], а используется нечеткое множество в [0, 1] (которое называют лингвистическими значениями истинности), хотя до настоящего времени принципы нечетких резолюций для лингвистических значений истинности еще не вполне ясны.

Степень достоверности резолюций

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

Здесь называются степенями достоверности

Рис. 6.11. Степень достоверности резолюции.

и определяются как

где - значение истинности А. В случае двузначной логики обычно равно 0 или 1, а в случае нечеткой логики принимает произвольное значение в [0, 1]. Степень достоверности при равном 0,5, принимает значение 0, а при равном 0, - значение —1. Если предположить, что то степень достоверности резолюции будет равна (рис. 6.11). Таким образом, если делается вывод с использованием ключевого слова А, значение истинности которого равно 0 (строго ложь) или 1 (строго истина), то степень достоверности резолюции равна 1, а если значение истинности равно 0,5 (совсем не ясно, истина или ложь), то степень достоверности равна 0. Степень достоверности полной резолюции для вывода справедливости В с использованием А и В равна меньшей из степеней достоверности отдельных резолюций, т.е. определяется как Благодаря этому в нечеткой логике принимается метод вывода, при котором информация представляющая в общем случае неполное противоречие, зависит от формы степени достоверности резолюций.

Пример программы на нечетком Прологе

Объясним на очень простом примере идеи нечеткого Пролога. Займемся поиском желающих найти друга. Для простоты будем считать в качестве условий для друга (подруги) только два фактора: молодость и обеспеченность. На Рис. 6.12 показана функция принадлежности нечеткого множества «молодой». Данные построены по результатам реального

Рис. 6.12. Функция принадлежности множества «молодой».

анкетирования. В нечетком Прологе эти факты определим как функцию принадлежности следующим образом:

Числа в скобках обозначают возраст, а числа перед косой чертой - значения функции принадлежности для данного возраста. На рис. 6.12 функция принадлежности построена непрерывной линией, а здесь функция определяется дискретно

Рис. 6.13. Функция принадлежности множества «богатый

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

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

Рис. 6.15. Функция принадлежности множества «бедный».

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

Допустим, имеются данные о трех девушках и двух юношах. Например, девушка, возраст - 33 года вклад - 13 млн. Это запишем так:

Для двух других девушек Ямасита и Исида запишем аналогично:

Для двух юношей Танака и Сато запишем:

При этом имеются все данные о фактах. Факты о юношах и девушках установлены достоверно, поэтому все они имеют меру истинности, равную 1 (в этом случае 1 будем опускать).

Теперь зададим правила. Пусть Есинага считает, что ее другом быть богатый юноша, независимо от возраста. Аналогично Ямасита хотела бы иметь молодого и небедного друга, а Исида - молодого, но только богатого друга. Эти правила запишем на нечетком Прологе следующим образом:

Пусть юноши ставят следующие условия своим подругам:

Наконец, для взаимного поиска установим следующее правило.

Числа в конце правила обозначают вес правила. О нем мы скажем ниже.

Метод вывода в нечетком Прологе

До сих пор определялись факты и правила для знакомства. Зададим теперь несколько вопросов.

Вопрос 1. Кто из юношей богатый?

Здесь Т - значение истинности ответа, CONF степень достоверности резолюции вывода, по которой получен ответ, суммарное значение истинности. Первые два значения точные и должны рассматриваться отдельно, но очевидно, что их лучше объединить в одно значение, поэтому определим следующим образом МТ: при обычно МТ должно быть равным 0,5. Из этого требования получаем

В данном примере Танака - безусловно богатый. Сато имеет вклад 2,5 млн. йен. Значение функции принадлежности для богатый равно 0,2, а значение истинности при этом Ключевое слово вывода в этом случае - «богатый» , степень достоверности резолюции по определению равна Таким

образом, суммарное значение истинности

Здесь значение М Т меньшее 0,5 означает «небогатый». Обратите внимание на то, что выдаются и отрицательные результаты. В Прологе, использующем двузначную логику, выдача такого результата невозможна. Это одна из особенностей нечеткого Пролога.

Вопрос 2. Кто из девушек молодая?

В этом случае ответы с девушками Ямасита и Исида почти истинны, а для Есинага получен отрицательный результат. Вопрос 3. Кого с кем можно познакомить?

Кроме пары Сато и Ямасита все ответы отрицательные, т. е. мала вероятность знакомства. М Тможно интерпретировать как меру этой вероятности. Например, попробуем проследить вывод пары Сато и Предпосылки правил для поиска друга: подруга и друг соответствующие значения истинности - 1, значение истинности богатый (250) 0,2,

в качестве значения истинности предпосылок выбираем меньшее - 0,2. Скажем несколько слов о весах правил. Правилам можно присвоить произвольное числовое значение из Это значение, или вес, определяет «меру истинности заключения, если истинна предпосылка». Для его вычисления используют формулу

С помощью этой формулы по степени достоверности предпосылки вычисляют степень достоверности заключения. Для веса можно указать некоторый интервал значений. Например добавленный к правилу, означает, что верхняя граница веса равна 1, а нижняя - 0,6. Степень достоверности CQ заключения Q правила граница, нижняя при условии, что задана степень достоверности СР предпосылки Р, вычисляется по формулам:

Если вес опущен, он предполагается равным . В указанном выше примере степень достоверности предпосылки равна степень достоверности заключения из формулы (6.14) равна — 1, т. е. значение истинности равно 0. Степень достоверности резолюции в этом случае определяется по ключевому слову богатый (250) и равна

Заключение

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

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

1
Оглавление
email@scask.ru