Нечеткие формулы
Нечеткие предикаты, переменные и постоянные
Нечёткие предикатыесть нечёткие высказывательные функции, аргументами которых являются предметные переменные и/или предметные постоянные, степень истинности которых принадлежит интервалу [0, 1]. Например, высказывание «Петров выполняет ответственное задание». Здесьпредметная постоянная «ответственное задание»носит нечеткий характер, поскольку не совсем понятно, какова мера ответственности Петрова.
Нечёткими предметными постоянными являются слова и словосочетания естественного языка, которые служат для качественного описания явления, факта или события. Например, «ребенок», «юноша», «часто», «близко» и т.п.
Лингвистические постоянные объединяются по какому-либо признаку в нечёткие классы х, которые характеризуют качественные признаки явлений, фактов, событий. Эти классы называют лингвистическими переменными. Им также соответствуют определенные слова и словосочетания естественного языка. Такими классами, например, могут быть «возраст», «количество», «частота», «расположение» и т. п. Множество лингвистических постоянных, объединенных в нечеткий класс, называют терм-множеством и обозначают Т(x).
Примерами терм-множеств Т(х) для нечетких классов х являются:
Т1(возраст)={ребенок, подросток, юноша, молодой человек, человек средних лет, пожилой человек, старик},
Т2(количество)={мало, много, достаточно},
Т3(частота)={всегда, часто, редко}.
Можно дать формальное определение нечеткого аргумента высказывательной функции, для чего используют некоторую метрическую шкалу.
Например, введем метрическую шкалу с делением 1 год, соответствующую возрасту человека (примем, что максимальный возраст человека – 100 лет, т.е. универсум U={0, 1, …, 100}). Определим на этой шкале некоторые понятия из нечеткого класса «возраст» через функцию принадлежности, т.е. зададим нечеткие множества, соответствующие лингвистическим постоянным:
«ребенок»={1/0,1/1,1/2,1/3,1/4,1/5,1/6,1/7,1/8,0.9/9,0.8/10,0.6/11,0.4/12,0.3/13},
«подросток»={0.2/12,0.4/13,0.5/14,0.8/15,0.5/16},
и т.д.
Пусть дан нечеткий предикат P’(х):= «быть ребенком». Универсум U={0,1,…,100}.
Пусть х=13. Оценить истинность предиката P’(х).
Судя по приведенным выше оценкам, нечеткий предикат P’(х) истинен на 0.3, т.е. r(P’(13))=0.3, поскольку лингвистическая постоянная «ребенок» включает степень принадлежности возраста 13 лет, равную 0.3. Одновременно он на 0.7 ложен.
При описании факта сложными нечёткими высказываниями также используют логические связки отрицания, конъюнкции, дизъюнкции, импликации и эквивалентности. Так формируются нечёткие логические формулы.
Степень истинности нечёткой формулы определяется степенью принадлежности результатов логических операций над нечёткими множествами и обозначается символом ρ:
ρ(¬A’)=(1-ρ(A’)),
ρ(A’&B’)=min{ρ(A’),ρ(B’)},
ρ(A’∨B’)= max{ρ(А’), ρ(B’)},
ρ(A’→B’)=max{(1-ρ(А’)), ρ(B’)},
ρ(A’↔B’)=min{max{(1-ρ(А’)), ρ(B’)},max{(1-ρ(B’)), ρ(A’)}},
ρ(A’&¬A’)=min{ρ(A’), (1-ρ(A’))},
ρ(A’∨¬A’)=max{ρ(А’),(1-ρ(¬A'))}.
Пусть дано сложное высказывание «Иван еще ребенок, поэтому Иван часто болеет». Оценить его истинность.
Для оценки степени истинности первого высказывания Иван еще ребенок используем приведенный выше пример. Пусть Ивану 13 лет. Тогда r(Иван еще ребенок)=0.3.
Пусть некоторые эксперты (например, родители Ивана) нечетко оценивают его болезненность: r(Иван часто болеет)=0.6.
Представим формально исходное сложное высказывание как импликацию:
«Иван еще ребенок»® «Иван часто болеет».
Тогда ρ(Иван еще ребенок® Иван часто болеет)=max{(1-r(Иван еще ребенок)), r(Иван часто болеет)}=max{0.7,0.6}=0.7.
5.3.4. Нечёткие правила вывода
Так же как для четких высказываний, в логике нечётких высказываний выводима теорема: |⎯F’1&F’2&…&F’n→B’, но формулы посылок и заключения имеют значение степени истинности в интервале [0, 1]. Это удобно объяснить с помощью нечёткого высказывания «если A’, то B’, иначе С’».
Нечёткое высказывание «если A’, то B’» можно определить как нечёткое отображение нечёткого высказывания A’ на нечёткое высказывание B’, т. е. (А’ÄB’), а нечёткое высказывание «если не А, то С» – как нечёткое отображение нечёткого высказывания ¬A’ на нечёткое высказывание С’, т. е. (¬А’ÄС’). Объединение этих двух отображений есть формула данного нечёткого высказывания ((A’→В’),C’)=((А’ÄB’)∪(ØA’ÄC’)).
Если даны степени истинности нечётких высказываний r(A’), r(B’) и r(C’), то истинность высказывания «если A’, то B’, иначе C’» может быть определена по формуле: r((A’→В’),C’)=max{min{r(A’),r(B’)},min{r(ØA’),r(C’)}}.
Например, пусть дано нечеткое высказывание: «Если сегодня вечером будет дождь (A’), то завтра будет солнечная погода (B’), иначе завтра будет пасмурный день (C’)».
Пусть r(A’)=0.3, r(B’)=0.5 и r(C’)=0.2. Тогда r((A’→В’), C’)=max{min{r(A’), r(B’)}, min{r(ØA’),r(C’)}}=max{min{0,3, 0,5}, min{0,7, 0,2}= max{0.3,0.2}=0.3, т. е. истинность сложного высказывания при данных значениях простых нечётких высказываний не более 0,3.
Если допустить, что r(C’)=1, т.е. высказывание C’ истинно для любых значений истинности высказывания ¬A’, то ((A’→В’),C’)=((А’ÄB’)∪¬A’). Степень истинности такого высказывания есть r(A’→В’)=max{min{r(A’),r(B’)},r(¬A’)}.
Например, пусть дано нечеткое высказывание: «Если сегодня вечером будет дождь (A’), то завтра будет солнечная погода (B’)».
Пусть r(A’)=0.3 и r(B’)=0.5. Тогда r(A’→В’)=max{min{r(A’),r(B’)},r(ØA’)}= max{min{0.3,0.5},0.7}=max{0.3,0.7}=0.7, т.е. истинность сложного высказывания «Если сегодня вечером будет дождь, то завтра будет солнечная погода» при данных значениях простых нечётких высказываний равна 0.7.
Основным правилом вывода нечётких высказываний также является правило modus ponens (m.p.), однако степень истинности заключения r(B’) вычисляется по формуле:
,
где r(B’)=min{r(A’),r(A’®B’)}. .
Например, дано нечеткое высказывание: «Прилежный студент получает большую стипендию. Некто - прилежный студент. Следовательно, некто получает большую стипендию».
Введем обозначения:
А':="Прилежный студент"
В':="Большая стипендия"
F':="Прилежный студент получает большую стипендию": F'=A'®B'
Пусть эксперт определил степени истинности высказываний: r(А')=0.7, r(F')=0.5.
Тогда степень истинности заключения определяется по формуле:
r(B’)=min{0.7,0.5}=0.5.