Справочник от Автор24
Поделись лекцией за скидку на Автор24

Построение нечёткой модели вывода

  • 👀 518 просмотров
  • 📌 496 загрузок
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Построение нечёткой модели вывода» pdf
Лекция 16. Нечёткая модель вывода. Часть 2. На этой лекции мы разберём построение нечёткой модели для решения следующей задачи. Предположим, что нам нужно оценить время, затрачиваемое студентом на изучение какой-то дисциплины, преподаваемой в учебном заведении. Эта величина зависит от многих факторов: уровня подготовленности студента, его добросовестного (или не очень) отношения к обучению, сложности материала, изучаемого в этом курсе, уровня требования преподавателя, физического здоровья студента и многого другого. Степень зависимости времени, которое нужно студенту для изучения предмета от вышеуказанных факторов, можно понять, проведя статистические исследования, которые позволят определить те из них, что оказывают наиболее существенное влияние. Предположим, что мы обладаем этим знанием и можем сформулировать на обычном языке зависимость времени, необходимого студенту на изучение дисциплины, от самых существенных факторов. Пусть, например, мы сделали следующие заключения (не судите строго, задача, ведь, учебная): – если студент слабый, а дисциплина сложна, но при этом он выполняет большое количество заданий (молодец!), то ему требуется очень много времени; – если у студента средний уровень подготовки, и он выполняет большое количество заданий по сложной дисциплине, то ему требуется много времени; – если студент слабый, но дисциплина проста, да и решает он мало заданий, то тратит он на это умеренное количество времени; – если у студента средний уровень подготовки, дисциплина проста, но он выполняет большое количество заданий, то ему необходимо для этого не много времени; – сильный студент на изучение лёгкой дисциплины тратит на её изучение мало времени не зависимо даже от количества выполняемых заданий; – сильный студент, изучающий сложную дисциплину и выполняющий небольшое количество заданий, тратит на это умеренное количество времени. Эти заключения представляют собой нечёткие правила вывода. Чтобы их формализовать, необходимо начать с введения лингвистических переменных и определения их значений, исходя из сформулированных правил. Анализ этих шести заключений показывает, что в них речь идёт о зависимости времени, затраченного на изучение от следующих характеристик: 1) уровня подготовки; 2) сложности изучаемой дисциплины; 3) количества выполненных заданий. Поэтому и начнём с введения четырёх лингвистических переменных, отвечающих этим характеристикам. 1. Лингвистическая переменная 𝑍 = «Время» имеет терм-множество 𝑇(𝑍), состоящее из трёх основных нечётких переменных 𝑍1 = «мало», 𝑍2 = «умеренно», 𝑍3 = «много». Пусть универсальным множеством, на котором определены эти нечёткие переменные, является отрезок 𝑌 = [0; 8] (пусть это часы, затрачиваемые студентом на изучение дисциплины в неделю; мы это вполне могли знать, когда проводили статистические исследования). Зададим их функции принадлежности графиками, изображёнными на рисунке 16.1. рис 16.1 Функции принадлежности нечётких переменных можно выписать и аналитически: 1, если 𝑦 ∈ [0; 2] 𝜇мало (𝑦) = {0,5(4 − 𝑦), если 𝑦 ∈ [2; 4], 0, если 𝑦 ∈ [4; 8] 0, 0,5(𝑦 − 4), 𝜇умеренно (𝑦) = 1, 0,5(7 − 𝑦), { 0, если 𝑦 ∈ [0; 2] если 𝑦 ∈ [2; 4] если 𝑦 ∈ [4; 5] , если 𝑦 ∈ [5; 7] если 𝑦 ∈ [7; 8] 0, если 𝑦 ∈ [0; 5] 𝜇много (𝑦) = {0,5(𝑦 − 5), если 𝑦 ∈ [5; 7]. 1, если 𝑦 ∈ [7; 8] При описании значений других лингвистических переменных мы не будем выписывать их аналитическое задание (знакомые с аналитической геометрией сделают это сами без труда). Синтаксическая процедура 𝐺 допускает использование модификатора «очень» для создания нечёткой переменной 𝑍3′ = «очень много», а также модификатора «не» для определения нечёткой переменной «не много». Семантическая процедура 𝑀 задаёт: – функцию принадлежности 𝜇очень много (𝑦), определяемую синтаксической процедурой, сдвигом графика функции 𝜇много (𝑦) на единицу вправо, а точнее, 0, если 𝑦 ∈ [0; 6] 𝜇очень много (𝑦) = { ; 0,5(𝑦 − 6), если 𝑦 ∈ [6; 8] – функцию принадлежности 𝜇 не много (𝑦) = 1 − 𝜇 много (𝑦). Графики этих функций принадлежности показаны на рисунке 16.2. рис. 16.2. Графики функций принадлежности 𝜇много (𝑦) – тонкая чёрная линия; 𝜇очень много (𝑦) – жирная чёрная линия; 𝜇не много (𝑦) – красная линия. Описание выходной лингвистической переменной 𝑍 = «Время» мы закончили. Займёмся теперь описанием входных нечётких переменных. 2. Лингвистическая переменная 𝑈 = «Уровень подготовки» имеет терм-множество 𝑇(𝑈), состоящее из трёх основных нечётких переменных: 𝑈1 = «слабый», 𝑈2 = «средний», 𝑈3 = «сильный», заданных на универсальном множестве 𝑋1 = [0; 100] (процент усвоенного ранее материала). Функции принадлежности этих нечётких переменных показаны на рисунке 16.3. 3. Лингвистическая переменная 𝑆 = «Сложность дисциплины» имеет терм-множество 𝑇(𝑆) = {𝑆1 = «лёгкая», 𝑆2 = «сложная»} (мы отождествили слова «лёгкая» и «простая»), состоящее из нечётких переменных, заданных на универсальном множестве 𝑋2 = [0; 5] (условные баллы), и имеющих функции принадлежности, изображённые на рисунке 16.4. 4. Лингвистическая переменная 𝐾 = «Количество заданий»; её терм-множество 𝑇(𝐾) состоит из двух нечётких множеств 𝐾1 = «небольшое», 𝐾2 = «большое», определённых на универсальном множестве 𝑋3 = [0; 10] (количество выполненных заданий). Графики их функций принадлежности показаны на рисунке 16.5. рис. 16.3 рис. 16.4 рис. 16.5 Отметим, что терм-множества всех четырёх лингвистических переменных (трёх входных и одной выходной) удовлетворяют условиям нормальности, монотонности, полноты и ортогональности (см. лекцию 13). Теперь мы можем формализовать наши первоначальные заключения в виде нечётких правил: 𝑅1 : если ((𝑈 = 𝑈1 ) и (𝑆 = 𝑆2 ) и (𝐾 = 𝐾2 )), то (𝑍 = 𝑍3′ ); 𝑅2 : если ((𝑈 = 𝑈2 ) и (𝑆 = 𝑆2 ) и (𝐾 = 𝐾2 )), то (𝑍 = 𝑍3 ); 𝑅3 : если ((𝑈 = 𝑈1 ) и (𝑆 = 𝑆1 ) и (𝐾 = 𝐾1 )), то (𝑍 = 𝑍2 ); 𝑅4 : ̅̅̅3 ); если ((𝑈 = 𝑈2 ) и (𝑆 = 𝑆1 ) и (𝐾 = 𝐾2 )), то (𝑍 = 𝑍 𝑅5 : 𝑅6 : если ((𝑈 = 𝑈3 ) и (𝑆 = 𝑆1 ) ), то (𝑍 = 𝑍1 ); если ((𝑈 = 𝑈3 ) и (𝑆 = 𝑆2 ) и (𝐾 = 𝐾1 )), то (𝑍 = 𝑍2 ). Каждое из этих шести правил можно записать в виде шести нечётких импликаций: 𝑅1 = (𝑈1 & 𝑆2 & 𝐾2 ) → 𝑍3′ ; 𝑅2 = (𝑈2 & 𝑆2 & 𝐾2 ) → 𝑍3 ; 𝑅3 = (𝑈1 & 𝑆1 & 𝐾1 ) → 𝑍2 ; 𝑅4 = (𝑈2 & 𝑆1 & 𝐾2 ) → ̅̅̅ 𝑍3 ; 𝑅5 = (𝑈3 & 𝑆1 ) → 𝑍1 ; 𝑅6 = (𝑈3 & 𝑆2 & 𝐾1 ) → 𝑍2 ; Теперь оговорим, что нечёткая импликация понимается нами как импликация Мамдани, а нечёткая конъюнкция 𝐴&𝐵 имеет функцию принадлежности, равную 𝜇 𝐴&𝐵 (𝑥, 𝑦) = = min { 𝜇𝐴 (𝑥), 𝜇𝐵 (𝑦)}. В сформулированных правилах не встречалась нечёткая дизъюнкция; если бы она была, то 𝜇 𝐴∨𝐵 (𝑥, 𝑦) = max { 𝜇𝐴 (𝑥), 𝜇𝐵 (𝑦)}. Нетрудно убедиться в том, что нечёткая база правил содержит хотя бы по одному разу все значения входных и выходной нечёткой переменной. Таким образом, база правил является полной. Перейдём теперь непосредственно к нечёткому выводу. Пусть некоторый студент, имеющий уровень подготовки 𝑥1 = 35, изучает дисциплину, сложность которой 𝑥2 = 2 и выполняет пять заданий в неделю, то есть 𝑥3 = 5. Определим количество времени, необходимое ему на изучение этой дисциплины. Сначала произведём фаззификацию, то есть определим значения принадлежности всех нечётких переменных при заданных входных значениях: функций 1) для нечёткой переменной 𝑈 = «Уровень подготовки» 𝜇слабый (𝑥1 ) = 𝜇𝑈1 (35) = 0,75, 𝜇средний (𝑥1 ) = 𝜇𝑈2 (35) = 0,25, 𝜇сильный (𝑥1 ) = 𝜇𝑈3 (35) = 0; 2) для нечёткой переменной 𝑆 = «Сложность дисциплины» 𝜇лёгкая (𝑥2 ) = 𝜇𝑆1 (2) = 0,67, 𝜇сложная (𝑥2 ) = 𝜇𝑆2 (2) = 0,33; 3) для нечёткой переменной 𝐾 = «Количество заданий» 𝜇небольшое (𝑥3 ) = 𝜇𝑆1 (5) = 0,5, 𝜇большое (𝑥3 ) = 𝜇𝑆2 (5) = 0,5. Теперь определим степень активации каждого правила, вычислив меру принадлежности каждой посылки импликации при заданных чётких значениях: 1) для правила 𝑅1 𝜇𝑈1 & 𝑆2 & 𝐾2 (35, 2, 5) = min{0,75; 0,33; 0,5} = 0,33; 2) для правила 𝑅2 𝜇𝑈2 & 𝑆2 & 𝐾2 (35, 2, 5) = min{0,25; 0,33; 0,5} = 0,25; 3) для правила 𝑅3 𝜇𝑈1 & 𝑆1 & 𝐾1 (35, 2, 5) = min{0,75; 0,67; 0,5} = 0,5; 4) для правила 𝑅4 𝜇𝑈2 & 𝑆1 & 𝐾2 (35, 2, 5) = min{0,25; 0,67; 0,5} = 0,25; 5) для правила 𝑅5 𝜇𝑈3 & 𝑆1 (35, 2, 5) = min{0; 0,67} = 0; 6) для правила 𝑅6 𝜇𝑈3 & 𝑆2 & 𝐾1 (35, 2, 5) = min{0; 0,33; 0,5} = 0. Поскольку степени активации посылок правил 5 и 6 равны нулю, то эти правила не участвуют в нечётком выводе при заданных чётких значениях переменных. Для остальных же правил определим активизированные выходные нечёткие переменные: 𝜇1 (𝑦) = min{0,33; 𝜇𝑍3′ (𝑦)}; 𝜇2 (𝑦) = min{0,25; 𝜇𝑍3 (𝑦)}; 𝜇3 (𝑦) = min{0,5; 𝜇𝑍2 (𝑦)}; 𝜇4 (𝑦) = min{0,25; 𝜇̅̅̅ 𝑍3 (𝑦)}. Графики этих функций показаны на рисунке 16.6. рис. 16.6 Теперь осталось провести агрегирование для получения результирующей выходной нечёткой переменной: 𝜇𝑟𝑒𝑠 (𝑦) = max {𝜇1 (𝑦); 𝜇2 (𝑦); 𝜇3 (𝑦); 𝜇4 (𝑦)}. График этой функции изображён на рисунке 16.7. рис. 16.7 Наконец, произведём дефаззификацию. Выходное чёткое значение 𝑦 ∗ выберем, используя метод высотной дефаззификации (см. лекцию 17): 𝑦∗ = ∫𝐵𝛼 𝑦𝜇𝑟𝑒𝑠 (𝑦)𝑑𝑦 ∫𝐵𝛼 𝜇𝑟𝑒𝑠 (𝑦)𝑑𝑦 , где 𝐵 𝛼 – множество 𝛼 −уровня выходной нечёткой переменной. Если выбрать, например, 𝛼 = 0,25, то 𝐵 𝛼 = [2,5; 8], и приведённая выше формула определит абсциссу центра тяжести фигуры, ограниченной линиями: 𝜇 = 𝜇𝑟𝑒𝑠 (𝑦) сверху, 𝜇 = 0 снизу и двумя вертикальными линиями 𝑦 = 2,5 и 𝑦 = 8 (рис. 16.8). рис. 16.8 Вычислив соответствующие интегралы, получаем значение 𝑦 ∗ ≈ 4, 96. Таким образом, время, затраченное этим студентом на изучение дисциплины, составляет примерно пять часов в неделю. Учитывая, что он решал пять заданий в неделю, можно сделать вывод, что каждое выполненное задание занимает у него в среднем один час.
«Построение нечёткой модели вывода» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ
Получи помощь с рефератом от ИИ-шки
ИИ ответит за 2 минуты

Тебе могут подойти лекции

Смотреть все 45 лекций
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot