Лабораторный практикум кузнецов. Основы интеллектуальных систем для гуманитариев
Скачать 1.54 Mb.
|
Лингвистической переменной называется набор < ,T, X, G, M>, где – наименование лингвистической переменной, Т – множество ее значений (терм-множество), представляющих собой наименования нечетких переменных, областью определения каждой из которых является множество X (множество T называется базовым терм-множеством лингвистической переменной), G – синтаксическая процедура, позволяющая оперировать элементами терм-множества T, в частности, генерировать новые термы (значения), М – семантическая процедура, позволяющая превратить каждое новое значение лингвистической переменной, образуемое процедурой G, в нечеткую переменную, т.е. сформировать соответствующее нечеткое множество. Нечеткая переменная характеризуется тройкой < , X, A>, где – наименование переменной, X – универсальное множество (область определения ), A – нечеткое множество на X, описывающее ограничения на значения нечеткой переменной Х 41 Рис. 5. Пример лингвистической переменной «Возраст». Нечетким высказыванием называется повествовательное предложение, выражающее законченную мысль, относительно которой мы можем судить об ее истинности или ложности только с некоторой степенью уверенности. Над нечеткими высказываниями определены следующие основные операции. Пусть заданы два нечетких высказывания А и В, где µ(А) и µ(В) – степени уверенности (истинности) соответственно. Конъюнкцией нечетких высказываний А и В называется нечеткое высказывание A B , истинность которого принимает значение ( ) min( ( ), ( )) А В А В Дизъюнкцией нечетких высказываний А и В называется нечеткое высказывание A B , истинность которого принимает значение ( ) max( ( ), ( )) А В А В . Отрицанием нечеткого высказывания А называется нечеткое высказывание А , истинность которого принимает значение 1 ( ) ( ) А А Импликацией нечетких высказываний называется А и В называется нечеткое высказывание А→В (читается - "из А следует В", "ЕСЛИ А, ТО В"), истинность которого принимает значение 1 ( ) max{ ( ), ( )} А В А В Нечеткая импликация занимает центральное место в системах нечеткого вывода. Продукционная нечеткая система или система нечетких правил продукций представляет собой некоторое согласованное множество отдельных нечетких продукций в форме "ЕСЛИ А, ТО В". Основная задача приближенных рассуждений с использованием нечетких правил продукций − на основе некоторых нечетких высказываний с известной степенью истинности, которые являются условиями нечетких правил продукций, оценить степень истинности других нечетких высказываний, являющимися заключениями соответствующих нечетких правил продукций. Основными этапами разработки и применения систем нечѐткого логического вывода являются следующие. 42 1) Этап формирования правил – формализация экспертом базы знаний системы нечѐткого логического вывода в виде нечѐтких продукционных правил заданного вида. 2) Фаззификация (введение нечеткости) входных переменных – установление соответствия между конкретным (обычно численным) значением отдельной входной переменной системы нечеткого вывода и значением функции принадлежности соответствующего ей терма водной лингвистической переменной. 3) Агрегирование подусловий – оценка степени истинности условий правил базы знаний по каждому из правил системы. 4) Активизация подзаключений – оценка истинности отдельных заключений правил базы знаний (в нечѐткой форме) на основе оценок истинности нечѐтких условий данных правил. 5) Аккумулирование заключений – формирование нечѐткого заключения для всей системы нечѐтких продукций базы знаний. Данное заключение определяет нечѐткий выход системы нечѐткого логического вывода. 6) Дефаззификация – приведение к чѐткости, требуемое при необходимости преобразования нечѐткого результата в чѐткое число. Наиболее известными методами дефаззификации являются методы центра тяжести, деления площади пополам, максимума принадлежности. Пример решения задачи Задача. Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи определения временных затрат для решения студентом задач данного пособия (учитывать успеваемость студента и количество решаемых вариантов), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом). Описание процесса решения. Для построения нечеткой базы знаний и реализации логического вывода необходимо выполнить следующее: 1) Сформулировать на естественном языке в виде предложений «Если…, то…» закономерности предметной области. 2) Выделить из этих предложений лингвистические переменные, их значения (построить их функции принадлежности), высказывания различных видов, формализовать нечеткие правила. 43 3) Проверить полученную базу знаний на полноту. 4) Провести фаззификацию (входные данные выбираем случайным образом). 5) Провести агрегирование подусловий и активизацию подзаключений. 6) Провести аккумулирование заключений. 7) Провести дефаззицикацию. Решение. 1) Предложения, описывающие данную задачу могут быть такими: Если успеваемость студента высокая или хорошая и он прорешивает малое количество вариантов, то ему требуется немного времени. Если успеваемость студента высокая или хорошая и он прорешивает много вариантов, то ему требуется достаточно большой промежуток времени. Если успеваемость студента низкая и он прорешивает много вариантов, то ему требуется много времени. Если успеваемость студента средняя и он прорешивает достаточно большое количество вариантов, то ему требуется достаточно большой промежуток времени. 2) Выделим из предложений лингвистические переменные. 1. 1 (входная) – «Успеваемость студента», терм-множество T=(«высокая», «средняя», «низкая»), базовое множество X=[2,5] (используется пятибалльная система). 2. 2 (входная) – «Количество вариантов», терм-множество T=(«мало», «достаточно», «много»), базовое множество X=[1,20] (количество вариантов 20 в каждой теме). 3. 3 (выходная) – «Количество времени», терм-множество T=(«мало», «достаточно», «много»), базовое множество X=[1,7] (количество часов в неделю, уделенных предмету изучения). Для полного задания лингвистической переменной необходимо определить нечеткие переменные, входящие в Т: 44 С учетом выделенных лингвистических переменных, нечеткие правила следующие: 1. Если Успеваемость = «высокая» или Успеваемость = «средняя» и Количество вариантов = «мало», то Количество времени = «мало». 2. Если Успеваемость = «высокая» или Успеваемость = «средняя» и Количество вариантов = «много», то Количество времени = «достаточно». 3. Если Успеваемость = «низкая» и Количество вариантов = «много», то Количество времени = «много». 4. Если Успеваемость = «средняя» и Количество вариантов = «достаточно», то Количество времени = «достаточно». 3) Проверим полученную базу на полноту: существует хотя бы одно правило для каждого лингвистического терма выходной переменной (выходная переменная «Количество времени» имеет 3 терма: «мало» используется в 1 правиле, «достаточно» - в 2 и 4, «много» - в третьем); для любого терма входной переменной имеется хотя бы одно правило, в котором этот терм используется в качестве посылки (есть две входных переменных «Успеваемость» и «Количество вариантов», у каждой из 45 них 3 терма: «высокая» используется в 1 и 2 правиле, «средняя» - 1,2 и 4, «низкая» - в 3, «мало» - в 1, «достаточно» - 4, «много» - 3 и 2). Значит, полученная база нечетких правил полная. 4) Пусть имеется студент Иванов А.А., имеющий среднюю оценку 3,5 и решивший прорешать 9 вариантов, нужно определить сколько ему понадобится времени. Определим степени уверенности простейших утверждений: Успеваемость = «высокая» - 0; Успеваемость = «средняя» - 0.5; Успеваемость = «низкая» - 1; Количество вариантов = «мало» - 0; Количество вариантов = «достаточно» - 0.5; Количество вариантов = «много» - 0.125. 5) Определим степени уверенности посылок правил: Правило 1: min (max (0, 0.5), 0) = 0; Правило 2: min (max (0, 0.5), 0.125) = 0.125; Правило 3: min (1, 0.125) = 0.125; Правило 4: min (0.5, 0.5) = 0.5. Построим новую выходную нечеткую переменную, используя полученные степени уверенности: 6) Аккумуляция: Новый терм выходной переменной Количество часов: 46 7) Исходя из полученного графика степени принадлежности выходного терма, можно сказать, что Иванову А.А., имеющему среднюю оценку 3.5, на решение 9 вариантов заданий понадобится не менее 2.75 часа (степень уверенности данного утверждения 0.5). Варианты заданий 1. Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи закупок (соотношения цены, качества, объема закупок и т.д.), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом). 2. Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи распределения нагрузок спортсмена (соотношение нагрузок, физического состояния, потребляемых калорий и т.д.), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом). 3. Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи управления транспортным средством (регулировка скорости с учетом передачи, погодных условий, интенсивности потока и т.д.), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом). 4. Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи управления транспортным средством (управление рулем, газом, тормозом при въезде в гараж), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом). 5. Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи регулирования 47 теплоснабжения (соотношение среднесуточной температуры, ветра, размера здания и т.д.), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом). 6. Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи регулирования реверсного движения на волжском мосту (учитывать время, интенсивность потока, день недели и т.д.), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом). 7. Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи подбора специй для блюда (соотношение количества и остроты специй, рецептуры, предпочтений едока, объема пищи и т.д.), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом). 8. Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи подбора объема блюд (учитывать калорийность, вкусовые предпочтения, количество едоков и т.д.), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом). 9. Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи подачи электроэнергии в условиях экономии (учет времени суток, типа помещений, количества людей, типа оборудования и т.д.), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом). 10. Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи подбора интенсивности занятий (учитывать начальный уровень подготовки, объем учебного материала, количество человек в группе, необходимый уровень усвоения и т.д.), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом). 11. Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи расчета потребления бензина (учитывать тип совершаемых маневров, уровень подготовки водителя, состояние автомобиля, тип автомобиля и т.д.), проверить ее на полноту 48 и произвести нечеткий вывод для конкретных значений (выбрать случайным образом). 12. Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи регулирования системы орошения (учитывать время года, количество выпадающих озадков, вид орошаемой культуры и т.д.), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом). 13. Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи настройки аудиосистемы (мощность колонок, их количество, размер помещения, назначение установки и т.д.), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом). 14. Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи выбора дозы снотворного (количество препарата, действие препарата, восприимчивость к выбранному препарату, цель и т.д.), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом). 15. Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи планирования объема производства продукции (с учетом возможной прибыли, необходимых ресурсов, платежеспособности населения, рынка сбыта и т.д.), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом). 16. Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи регулирования кондиционера (учитывать его мощность, объем помещения, температуру окружающей среды, необходимую температуру в помещении и т.д.), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом). 17. Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи распределения нагрузки между компьютерами при использовании их в кластерах (учитывать характеристики компьютеров, их количество, количество параллельного кода, характеристики сети и т.д.), проверить ее на 49 полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом). 18. Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи выбора складского помещения (учитывать площадь склада, количество и размеры продукции, удаленность от места производства и точек реализации, свойства продукции и характеристики помещений и т.д.), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом). 19. Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи выбора комплектующих для компьютера (учитывать цену, потребности пользователя, совместимость, сроки использования и т.д.), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом). 20. Построить нечеткую базу знаний (использовать не менее 3 лингвистических переменных) для задачи определения количества линий в службе поддержки (учитывать количество обслуживаемых клиентов, среднюю частоту обращения в службу одного клиента, среднее время обслуживания одной заявки, квалификацию персонала и т.д.), проверить ее на полноту и произвести нечеткий вывод для конкретных значений (выбрать случайным образом). 50 ЛИТЕРАТУРА 1. Сидоркина И. Г. Системы искусственного интеллекта [Текст] : учебное пособие для вузов / И. Г. Сидоркина. – Москва : КНОРУС, 2011. – 246 с. – Гриф УМО. – ISBN 978-5-406-00449-4. 2 Ясницкий Л. Н. Искусственный интеллект. Элективный курс [Электронный ресурс]: учебное пособие / Л. Н. Ясницкий. – Москва: Бином. Лаборатория знаний, 2012. – 201 с. – ISBN 978-5-9963-1482-9. – Режим доступа: http://e.lanbook.com/books/element.php?pl1_cid=25&pl1_id=8776 3. Ясницкий Л. Н. Введение в искусственный интеллект [Текст] : учебное пособие для студентов / Л. Н. Ясницкий. – 3-е изд., стер. – Москва : Издат. центр Академия, 2010. – 176 с. – ISBN 978-5-7695-7042-1. 4. Андрейчиков А. В. Интеллектуальные информационные системы [Текст] : учебник для вузов / А. В. Андрейчиков, О. Н. Андрейчикова. – М. : Финансы и статистика, 2006 . – 424 с – Гриф МО. 5. Глухих И. Н. Интеллектуальные информационные системы [Текст] : учебное пособие для вузов / И. Н. Глухих ; РФ МО и науки ГОУ ВПО Тюменский гос. ун-т. – Москва : Академия, 2010. – 112 с. – ISBN 978- 5-7695-7089-6. 6. Рыбина Г. В. Основы построения интеллектуальных систем [Текст] : учебное пособие / Г.В. Рыбина. – М : Финансы и статистика, 2010. – 432 с. – ISBN 978-5-279-03412-3. 7. Липатова С. В. Сборник задач по курсу «Интеллектуальные информационные системы» [Текст]: учебное пособие / С.В. Липатова. – Ульяновск : Изд-во УлГУ, 2010. – 64 с. ___________________________________________________________________________________ Отпечатано в издательско-полиграфическом центре Набережночелнинского института Казанского (Приволжского) федерального университета Подписано в печать 17.02.2017г. Формат 60х84/16. Печать ризографическая. Бумага офсетная. Гарнитура «Times New Roman» Усл.-печ.л. 2,9. Уч.-изд.л. 2,9. Тираж 50 экз. Заказ № 811. ————————————————————————————————————————— 423810, г. Набережные Челны, Новый город, проспект Мира, 68/19 тел./факс (8552) 39-65-99 e-mail: ic-nchi-kpfu@mail.ru |