Научная статья на тему 'Проектирование экспертных систем на базе нечеткой логики в Mathcad'

Проектирование экспертных систем на базе нечеткой логики в Mathcad Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
280
83
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Семененко Марина Геннадьевна, Черняев Сергей Иванович

В данной работе проанализированы возможности создания экспертных систем в Mathcad на базе облачных технологий.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Проектирование экспертных систем на базе нечеткой логики в Mathcad»

Проектирование экспертных систем на базе нечеткой логики в Mathcad

М.Г. Семененко, филиал ВЗФЭИ в г. Калуге, доцент, msemenenko@mail.ru; С.И. Черняев, филиал ВЗФЭИ в г. Калуге, профессор, ambler@list.ru

В данной работе проанализированы возможности создания экспертных систем в Mathcad на базе облачных технологий.

Облачные технологии

Облачные вычисления - это новый подход к организации вычислительного процесса, предполагающий распределенную и удаленную обработку и хранение данных. Очевидные преимущества данного подхода:

• Автоматически снимаются все проблемы, связанные с производительностью компьютера и количеством свободного места на винчестере (вычисления можно проводить даже на смартфоне или планшетном компьютере).

• Отпадает необходимость платить довольно большие деньги за современный программный продукт.

• Снимаются проблемы, связанные с легализацией программного обеспечения

В настоящее время выделяют несколько основных технологий этого направления [1]:

• инфраструктура как услуга (Infrastructure as a Service, IaaS);

• платформа как услуга (Platform as a Service, PaaS);

• программное обеспечение как услуга (Software as a Service, SaaS);

• рабочее место как услуга (Workplace as a Service, WaaS). Согласно SaaS-концепции пользователь как бы берет продукт в

аренду, причем использует только те функции программы, которые ему нужны.

Интересным направлением для исследователей является бесплатный онлайн-сервис, предоставляющий (полностью или частично) функциональные возможности современных систем вычислительной математики. В первую очередь это мощные пакеты прикладных программ Mathcad и Mathematica.

В качестве стороннего сервера для работы с программным продуктом Mathcad можно, например, использовать сайт, который представля-

ет собой совместный проект Санкт-Петербургского государственного политехнического университета и компании Softline под руководством проф. Р.И. Ивановского [2]. Еще одна платформа на базе Mathcad - расчетный сервер МЭИ (ТУ) под руководством профессора В.Ф. Очкова [3]. На этих сайтах расчеты, сделанные в среде Mathcad, можно опубликовать в Интернете для интерактивного использования по технологии Mathcad Calculation Server (MCS). Реализация решений задач в Mathcad ведется на естественном математическом языке с привлечением мощного математического аппарата. Например, в Mathcad можно решать уравнения и системы уравнений (алгебраических и дифференциальных), проводить визуализацию полученных решений, в том числе с элементами анимации, выполнять статистические расчеты и т.п. Пакет Mathcad можно дополнить специфическими функциями, предназначенными для решения конкретных задач практически в любой предметной области.

Программирование задач математического моделирования на базе формализма нечеткой логики

Одним из наиболее удобных средств программирования в данной области является среда Fuzzy Logic пакета прикладных программ Matlab [4, 5]. Основное преимущество данного подхода - использование визуального моделирования, когда достаточно сложные программы можно создавать без написания программного кода, который генерируется автоматически. Тем не менее данный подход содержит ряд недостатков:

• Применяемый программный продукт является достаточно дорогим и недоступен для покупки частными лицами.

• При создании программ можно использовать только алгоритм Мамдани или алгоритм Сугено.

• Использование других алгоритмов требует достаточно сложных методов разработки, для которых Matlab не является наилучшей средой.

Подобные недочеты в той или иной степени присущи всем современным системам вычислительной математики. Одним из методов преодоления перечисленных выше недостатков является развитие облачных вычислений на базе других пакетов прикладных программ.

Рассмотрим пример программирования задачи «Сколько дать на чай?» [2] в Mathcad на основе алгоритма Мамдани, подготовленный для раз. Выходной переменной задачи является сумма чаевых (процент от счета), которая вычисляется на основе оценок качества еды (нечеткая переменная «Еда») и качества обслуживания (нечеткая переменная «Сервис») по десятибалльной шкале (входные переменные). Можно выделить следующие этапы алгоритма:

15. Нечеткость: находим значения функций принадлежности переменных, соответствующих значениям входных переменных. Для переменной «Еда» этот этап показан на рис.1. Терм-множество значений переменной - {«еда плохая», «еда превосходная»}. Функции принадлежности - трапециевидные. Параметры задания трапеции показаны на рис.2.

Задаем трапециевидные функции принадлежности входной переменной "Еда"

Задаем параметры функции принадлежности/оос!_Ьас1 ("еда плохая", параметры а0=а1=0, а2, аЗ=атах)

аЬа(19 :=__аЬа(12 :=__аЬа(13 :=_

^с(1_Ьа(1(к) := иар_1(н,аЬа(Ю.аЬас12.аЬа(13)

Задаем параметры функции принадлежности [оос/ ЬезЦ"еда превосходная", параметры аО, а 1, а2=атах

аЬезгО := аЬе51:1 := аЬе512 :=

|? [э [То-

&юй_Ье£*(к) := й' ар х, эЪ >: 5 Ш, эЬ е 5 г 1. эЬ е 5 й) Показываем графики функций принадлежности переменной "Еда"

15

1«х1_Ъ«Э(х)

Рис. 1. Задание функций принадлежности входной переменной «Еда»

• Нечеткий вывод: функция принадлежности переменной вывода «отсекается» на уровне, равном значению функции, найденному в п. 1.

• Композиция: производим объединение найденных усеченных функций принадлежности (из значений, соответствующих

координате ю, выбирается максимальное). В результате получаем нечеткое множество выходной переменной с функцией принадлежности |1ю ). Результаты выполнения п.п. 1-3 данного алгоритма показаны на рис.3.

• Приведение к четкости: находим «четкое» значение переменной вывода. Одним из методов поиска четкого значения является центроидный метод, когда искомое значение определяется как центр тяжести фигуры, полученной в п.З.

Рис. 2. Задание параметров трапециевидной функции принадлежности Центр тяжести фигуры находится по формуле м0= a/uada/uada .

Интегрирование проводится по области множества значений выходной переменной. Значения интегралов находится одним из численных методов, например, методом трапеций.

Сравнение результатов работы программы с аналогичными, полученными с помощью системы Fuzzy Logic пакета прикладных программ Matlab, показало идентичность результатов.

Разработанную программу предполагается разместить на сайте [2]. Ее можно будет применять для работы с другими задачами, содержа-

щими две входные и одну выходную переменную с функциями принадлежности указанного типа.

Вычисляем значения функций принадлежности, соответствующие значениям входных переменных

а: := а1 = I Ы := Г«нн1Ъэ<а(уСГ) Ы = О

з2 - 5ег\'_зоос1(яЙ) а2 = 1062 Ь2 - Г<ии1_1жЛ(уО) Ъ2 - 1

аЗ := знлНЬекЦжО) аЗ = 1.495 х 10~ '

Находим уровни отсечения функции принадлежности выходной переменной

а; := шах(а1.Ы) а! = 1 о2 := а2 о2 = 0.062

ои := шах|аЗ,Ь2) ои = 1

Находим объединение усеченных функций принадлежности

С 1(2) := тк^а! .Ьр_5таД(г)) С2(г) := тт(а2 .йр_ли(1(1)) С3(1) := .Ьр_Ыд(1))

р.(г) := тая(С1(г),С2(г)=СЗ(1)) Строим график функции принадлежности переменной вывода

Рис. 3. Механизм нечеткого вывода в алгоритме Мамдани

Литература

1. Тарнавский Г.А. Облачные вычисления: контент, инфраструктура и технологии организации информационных потоков Центра компьютерного моделирования SciShop.ru// Электронный научный журнал «ИССЛЕДОВАНО В РОССИИ» (доступно по адресу: http://zhurnal.ape.relarn.ru/artides/2010/001 .pdf)

2. http://mas.exponenta.ru/about/

3. http://twt.mpei.ac.ru/ochkov/VPU Book New/mas/

4. Круглов В.В., Дли М.И., Голунов Р.Ю. Нечеткая логика и искусственные нейронные сети. - М.: ФИЗМАТЛИТ, 2001. - 221 с.

5. Семененко М.Г., Лесина Т.В. Оценка эффективности инвестиционных проек-

тов на основе формализма нечеткой логики//Финансовая аналитика: проблемы и решения. - №29, 2011. - С. 63-68.

i Надоели баннеры? Вы всегда можете отключить рекламу.