Научная статья на тему 'СРЕДСТВА ВИЗУАЛЬНОГО МОДЕЛИРОВАНИЯ И ГЕНЕРАЦИИ КОДА НЕЧЕТКИХ ПРОДУКЦИЙ'

СРЕДСТВА ВИЗУАЛЬНОГО МОДЕЛИРОВАНИЯ И ГЕНЕРАЦИИ КОДА НЕЧЕТКИХ ПРОДУКЦИЙ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
60
13
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
НЕЧЕТКОСТЬ / НЕЧЕТКАЯ БАЗА ЗНАНИЙ / НЕЧЕТКИЕ ПРАВИЛА / ЛОГИЧЕСКИЕ ПРАВИЛА / ГЕНЕРАЦИЯ КОДА / RVML / FUZZYCLIPS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Дородных Никита Олегович, Юрин Александр Юрьевич, Коршунов Сергей Андреевич, Сопп Дмитрий Юрьевич, Шпаченко Дмитрий Сергеевич

Логические и ассоциативные правила по-прежнему являются наиболее распространенным способом представления экспертных знаний и поддержки принятия решений, несмотря на популярность семантических технологий. Эффективное использование правил при принятии решений в случае неточной или неопределенной информации требует разработки специализированных лингвистических (языковых) и программных средств, как для их наглядного отображения, так и генерации программных кодов. В данной работе рассматривается FuzzyRVML, как расширение одного из языков визуального моделирования правил - Rule Visual Modeling Language, предназначенное для моделирования логических правил, содержащих элементы нечеткости. FuzzyRVML поддерживает нечеткий тип данных, понятия лингвистической переменной, терма и коэффициента уверенности. Представлены описания основных элементов и конструкций FuzzyRVML, а также иллюстративный пример, содержащий генерацию кода на FuzzyCLIPS. Программным средством поддержки предлагаемой нотации является Personal Knowledge Base Designer, на основе которого произведены ее оценка и реализация.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Дородных Никита Олегович, Юрин Александр Юрьевич, Коршунов Сергей Андреевич, Сопп Дмитрий Юрьевич, Шпаченко Дмитрий Сергеевич

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

MEANS OF VISUAL MODELING AND CODE GENERATION FOR FUZZY RULES

Logical and associative rules are still the most common way to represent expert knowledge and support of decision-making. The use of rules in the case of inaccurate or uncertain information requires the development of specialized linguistic (language) means and software, providing their visualization and generation of source codes. In this paper, we propose a FuzzyRVML - an extension of a Rule Visual Modeling Language, designed for modeling logical rules containing elements of fuzziness. FuzzyRVML supports the fuzzy data type, the concepts of linguistic variable, term, and certainty factor. Descriptions of the main elements and constructs of FuzzyRVML are presented, as well as an illustrative example containing code generation in FuzzyCLIPS. Personal Knowledge Base Designer was used to support the notation proposed, as well for its implementation and evaluation.

Текст научной работы на тему «СРЕДСТВА ВИЗУАЛЬНОГО МОДЕЛИРОВАНИЯ И ГЕНЕРАЦИИ КОДА НЕЧЕТКИХ ПРОДУКЦИЙ»

УДК 004.89

СРЕДСТВА ВИЗУАЛЬНОГО МОДЕЛИРОВАНИЯ И ГЕНЕРАЦИИ КОДА

НЕЧЕТКИХ ПРОДУКЦИЙ

Дородных Никита Олегович

к.т.н., с.н.с., e-mail: tualatin32@mail.ru, Юрин Александр Юрьевич к.т.н., зав. лабораторией «Информационных технологий исследования природной и техногенной безопасности», e-mail: iskander@icc.ru, Институт динамики систем и теории управления имени В.М. Матросова СО РАН, 664033, г.

Иркутск, ул. Лермонтова, 134, Коршунов Сергей Андреевич, Сопп Дмитрий Юрьевич, Шпаченко Дмитрий Сергеевич e-mail: info@centrasib.ru ООО ЦентраСиб, 664003, г. Иркутск, ул. Лермонтова, 277/5, 26

Аннотация. Логические и ассоциативные правила по-прежнему являются наиболее распространенным способом представления экспертных знаний и поддержки принятия решений, несмотря на популярность семантических технологий. Эффективное использование правил при принятии решений в случае неточной или неопределенной информации требует разработки специализированных лингвистических (языковых) и программных средств, как для их наглядного отображения, так и генерации программных кодов. В данной работе рассматривается FuzzyRVML, как расширение одного из языков визуального моделирования правил - Rule Visual Modeling Language, предназначенное для моделирования логических правил, содержащих элементы нечеткости. FuzzyRVML поддерживает нечеткий тип данных, понятия лингвистической переменной, терма и коэффициента уверенности. Представлены описания основных элементов и конструкций FuzzyRVML, а также иллюстративный пример, содержащий генерацию кода на FuzzyCLIPS. Программным средством поддержки предлагаемой нотации является Personal Knowledge Base Designer, на основе которого произведены ее оценка и реализация.

Ключевые слова: нечеткость, нечеткая база знаний, нечеткие правила, логические правила, генерация кода, RVML, FuzzyCLIPS.

Цитирование: Дородных Н.О., Юрин А. Ю., Коршунов С.А., Сопп Д.Ю., Шпаченко Д.С. Средства визуального моделирования и генерации кода нечетких продукций //Информационные и математические технологии в науке и управлении. 2021. № 1 (21). С. 121-131. DOI:10.38028/ESI.2021.21.1.010

Введение. В области искусственного интеллекта накоплен большой опыт и широкий спектр различных методов и инструментов решения задач представления и обработки знаний. Несмотря на популярность семантических технологий и, в частности, онтологий при решении данных задач, логические и ассоциативные правила остаются наиболее распространенным и популярным способом описания бизнес-логики и принятия решений [1]. Привлекательность данной модели представления знаний обусловлена ее простотой и понятностью для экспертов, высокой модульностью, простотой внесения изменений и прозрачностью вывода. Многие языки программирования и стандарты реализуют этот формализм, например, CLIPS (C Language Integrated Production System), JESS (Java Expert System Shell), SWRL (Semantic Web Rule Language), Drools, RIF (Rule Interchange Format) и др. При этом использование средств поддержки визуального программирования могло бы значительно повысить эффективность их применения.

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

добных нотаций является VIPR (Visual Imperative Programming) [2]. Несмотря на использование аппарата графов, специализированные конструкции VIPR достаточно тяжело воспринимаются экспертами и системными аналитиками (рис. 1,1), при этом упрощенный их вариант [3] обеднен визуальной семантикой. В данном аспекте более перспективны расширения или профили популярных языков моделирования, примерами таких расширений являются URML (UML-Based Rule Modeling Language) [4] и RVML (Rule Visual Modeling Language) [5], основанные на UML (Рис.1).

Рис. 1. Примеры нотаций для моделирования логических правил: 1) VIPR; 2) RVML; 3) URML.

Необходимо отметить, что рассмотренные нотации и их расширения не учитывают факторы нечеткости и неопределенности, характеризующие большинство реальных практических задач.

В данной работе мы предлагаем лингвистическое и программное средства визуального моделирования и генерации кода нечетких продукций. Лингвистическое (языковое) средство представлено расширением одного из визуальных языков моделирования логических правил - Rule Visual Modeling Language (RVML) [5]. Предложенное расширение (далее, FuzzyRVML) может быть применено для моделирования логических правил с элементами нечеткости, а также генерации кодов на языке представления нечетких знаний - FuzzyCLIPS. Программное средство представлено модулями (плагинами) для системы прототипирования продукционных баз знаний - Personal Knowledge Base Designer (PKBD) [6]. Предлагаемые модули обеспечивают отображение элементов FuzzyRVML и их трансформацию в FuzzyCLIPS.

1. Состояние вопроса.

1.1. Моделирование продукций. Логические и ассоциативные правила остаются основным методом формализации и кодификации бизнес-логики и знаний. На основе классификации [7] и ее последующей модификации [5] можно выделить следующие основные группы подходов, направленных на автоматизацию создания продукций:

• Текстовой подход, обеспечивающий прямое манипулирование языковыми конструкциями. Подход ориентирован на программистов и реализован в виде специализированных редакторов.

• Табличный подход основан на создании таблиц решений и их переводе в программные коды. Используются как стандартный формализм таблиц решений, так и его специализации, такие как, XTT2 (extended Tabular Trees).

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

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

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

• Использование универсальных семантических графовых структур, таких как концепт карты (concept maps), карты знаний (mind maps), диаграммы «сущность-связь» (ER diagrams) и т.д. Однако отсутствие общепринятой трактовки отношений между понятиями при переводе таких моделей в логические правила затрудняет широкое использование данного подхода при создании баз знаний и экспертных систем.

• Использование расширений или специализаций популярных нотаций, которые могут обеспечить моделирование логических и причинно-следственных связей. В этой связи перспективными являются нотации, являющиеся расширениями или профилями хорошо известных языков, таких как UML (Unified Modeling Language). Одним из таких расширений, имеющим прикладное применение и программную поддержку, является RVML [6].

1.2. Визуальное моделирование нечетких правил. Следует отметить, что визуальное моделирование нечеткости и неопределенности довольно слабо представлено специализированными (проблемно- или предметно-ориентированными) лингвистическими и программными средствами. Наиболее распространенный способ - это использование графиков математических функций и специализированных математических пакетов для описания лингвистических переменных и их термов. Тем не менее, элементы и конструкции для отображения нечеткости были введены в некоторые нотаций, таким образом, были разработаны нечеткие когнитивные карты [8], нечеткие ER-модели [9], нечеткие UML-модели [10] и др. Однако данные нотации не используются для моделирования логических или ассоциативных правил, поэтому предлагается расширить RVML в части поддержки лингвистических (нечетких) переменных и коэффициентов уверенности.

1.3. Rule Visual Modeling Language. RVML [5] - это визуальный язык, предназначенный для моделирования баз знаний, содержащих логические правила, и генерации программных кодов на языках программирования, реализующих этот формализм. RVML основан на UML и может рассматриваться как его профиль расширения с использованием терминологии диаграмм классов, поэтому в качестве базовых элементов используются понятия «класс» и «ассоциация». Этот язык позволяет представить логические правила в обобщенном виде, абстрагируясь от особенностей конкретных языков программирования. В то же время он содержит средства для определения приоритетов правил и значений слотов «по умолчанию».

Основные особенности RVML:

• Отдельные графические элементы для всех компонентов правил без каких-либо стереотипов или типизированных классов, как в UML (рис. 2).

• Четкая визуальная индикация действий, продуцируемых правилами (добавление, удаление, изменение, остановка).

Может рассматриваться как профиль расширения UML, использующий терминологию диаграмм классов: понятия «класс» и «ассоциация» являются основой для его элементов.

Абстрагирование от различных конкретных языков представления знаний: логические правила представляются в обобщенном виде.

Может использоваться для синтеза программных кодов на CLIPS, Drools и др.

3) 4)

Рис. 2. Основные элементы RVML: 1) шаблон факта; 2) узловой элемент правила; 3) факт;

4) условие; 5) связи элементов с указанием действий.

Поддержка RVML реализована в специализированном программном обеспечении, в частности, в системах Knowledge Base Development System (KBDS) [11] и PKBD [6].

2. Предлагаемые средства поддержки использования нечетких продукций.

2.1. Лингвистическое средство. В качестве лингвистического средства для моделирования нечетких продукций предлагается расширение языка RVML. Основной особенностью нового расширения, называемого FuzzyRVML, является использование лингвистических (нечетких) переменных и коэффициентов уверенности для учета нечеткости и неопределенности в рассуждениях. В этом случае значение лингвистической переменной определяется с помощью так называемых нечетких множеств [12]. Нечеткое множество определяется через некоторую базовую шкалу (набор базовых значений) и функцию принадлежности |i(x). Функция принадлежности - это кривая, которая определяет, как каждая точка в диапазоне соотносится со значением принадлежности (или степенью принадлежности) в интервале [0, 1]. Таким образом, функция принадлежности определяет субъективную степень уверенности эксперта в том, что конкретное значение базовой шкалы соответствует определенному нечеткому множеству. Существует два способа задания функции принадлежности: табличный и аналитический. Определены следующие типы описания функции принадлежности для аналитического метода: треугольная; трапециевидная; S-образная; Z-образная; U-образная и др.

Визуально, это расширение реализуется путем добавления в RVML нового типа данных: «Fuzzy», а также отдельных графических элементов для функций принадлежности и термов (рис. 3). Нечеткие элементы отображаются точечными линиями, как полуопределенные элементы.

Основные особенности FuzzyRVML:

• Основан на RVML и является его расширением.

• Содержит новые элементы:

- новый тип данных (Fyzzy);

- лингвистическая (нечеткая) переменная (FuzzyVar) и набор нечетких термов как возможные значения лингвистической переменной;

- коэффициент уверенности (Certainty Factor).

• Может быть использован для генерации кода на FuzzyCLIPS.

Рис. 3. Основные элементы FuzzyRVML: 1) лингвистическая (нечеткая) переменная; 2) терм; 3) связь типа «зависимость»; 4) представление связи между нечеткой переменной и ее термами.

FuzzyRVML интегрируется с RVML и их элементы используются совместно, в частности, на рис. 4 приведены примеры описания шаблона факта с лингвистической (нечеткой) переменной, а также описания факта с нечетким термом.

Рис. 4. Примеры интеграции элементов RVML и FuzzyRVML: 1) шаблон факта с лингвистической (нечеткой) переменной; 2) факт с термом.

2.2. Программное средство. Поддержка FuzzyRVML реализована в программной системе PKBD [6], которая предназначена для прототипирования экспертных систем и баз знаний, использующих логические правила.

PKBD имеет модульную архитектуру, которая обеспечивает возможность добавления модулей в виде динамических библиотек для генерации программных кодов и интеграции с системами концептуального моделирования и CASE-средствами. В настоящее время в состав PKBD входят модули интеграции по данным с CLIPS, Drools, PHP, IBM Rational Rose, StarUML, XMind, CmapTools и Microsoft Excel.

Для поддержки FuzzyRVML в PKBD были добавлены следующие возможности:

• Описания лингвистических (нечетких) переменных. Для поддержки этой возможности были обновлены некоторые диалоговые окна (мастера) PKBD, в частности: мастера добавления и редактирования фактов, шаблонов фактов и правил.

• Визуализации нечетких элементов. Для поддержки этой возможности была обновлена встроенная подсистема визуализации RVML - Tiny RVML Editor [5].

• Генерации программных кодов на FuzzyCLIPS. Для поддержки этой возможности создана новая динамическая библиотека (fzcs.dll). Основное назначение библиотеки -это однозначное отображение конструкций FuzzyRVML в программные коды. Приме-

ры соответствий между элементами FuzzyRVML и FuzzyCLIPS представлены в табл. 1.

Таблица 1. Примеры соответствий для элементов Би22уКУМЬ и Еи22уСЫР8

Примеры элементов FuzzyRVML

Соответствующие элементы FuzzyCLIPS

Alex

0.9

Age - young

young T I

—->:................................................!

I {25/1; 50/0} !

(deftemplate F-AGE

0 120 (

(YOUNG (25 1) (50 0)) (OLD (50 0) (65 1))

(deftemplate Person (slot age (default "F-AGE"))

(Alex (age "YOUNG") ) CF 0.9

Коэффициент уверенности в правилах

(defrule <RuleName> (declare (CF <CertaintyFactorValue>))

2.3. Пример применения. Рассмотрим пример применения предлагаемых средств при разработке базы знаний для оценки риска наводнения (данное задание использовалась в учебном процессе ИрНИТУ) [13].

В результате решения задач идентификации и концептуализации были определены основные понятия предметной области: «Atmospheric condensation», «River», «Risk», «Flood hazard» и «Conclusion». Фрагмент полученной модели предметной области в виде диаграммы классов UML показан на рис. 5. Модель UML была импортирована в PKBD с преобразованием основных понятий и отношений в шаблоны фактов и правил. Далее были определены лингвистические (нечеткие) переменные для описания понятий «Atmospheric condensation» и «River», в частности, свойств «grade» и «water level».

Рис. 5. Фрагмент модели предметной области для задачи оценки опасности наводнений

в виде диаграммы классов UML. Для определения значений свойства «grade» понятия «Atmospheric condensation» использовались данные о среднем количестве осадков в городе Иркутске в течение года [14], в частности: диапазон возможных значений [0, 120] мм; возможные термины: «ag-low», «ag-

average», «ag-high». Значения термов нечеткой переменной задавались в табличном виде (табл. 2).

Таблица 2. Описание нечеткой переменной для свойства «grade»

Терм Значение в интервале [0, 120], мм Значение функции принадлежности в интервале [0, 1]

0 1

ag-low 20 0.5

40 0

0 0

20 0.5

ag-average 40 60 1 0.5

80 0

20 0

ag-high 40 0.5

60 1

Подобным образом были определены значения свойства «water level» понятия «River» с использованием данных об уровне реки Ангара в районе первого метеопоста в городе Иркутске [15]: диапазон возможных значений [0, 204]см.; возможные термины: «rwl-low», «rwl-average», «rwl-high».

Примеры форм пользовательского интерфейса PKBD с описанием лингвистической (нечеткой) переменной и элементами FuzzyRVML приведены на рис. 6 и рис. 7.

Рис. 6. Примеры форм пользовательского интерфейса PKBD: 1) форма описания лингвистической (нечеткой) переменной;

2) представление лингвистической (нечеткой) переменной и ее термов в FuzzyRVML;

3) интегрированное представление элементов RVML и FuzzyRVML при описании шаблона фактов с лингвистической (нечеткой) переменной.

На рис. 7, 1 приведен пример шаблона правила, который отражает явные связи между шаблонами фактов и может использоваться при создании конкретных правил. Коэффициенты уверенности для шаблонов правил не задаются. В свою очередь, конкретные правила определяют отношения между фактами с конкретными значениями слота, поэтому для них коэффициенты уверенности задаются и зависят от значений определенных фактов. Кроме того, на рис. 7 показаны примеры факта со значением слота в виде термина нечеткой пере-

менной; конкретное правило, содержащее факты с терминами нечетких переменных; и сгенерированный исходный код на FuzzyCLIPS.

Заключение. Логические правила по-прежнему являются наиболее распространенным способом представления экспертных знаний, несмотря на популярность семантических технологий. Эффективное использование этого формализма требует разработки специализированных средств для поддержки визуального и порождающего программирования. Это особенно актуально при решении реальных практических задач, связанных с нечеткой или неопределенной информацией.

В статье было предложено расширение RVML под названием FuzzyRVML, предназначенное для моделирования знаний в форме логических правил с нечеткостью и неопределенностью. FuzzyRVML поддерживает нечеткий тип данных, понятия лингвистической (нечеткой) переменной и коэффициента уверенности. В качестве средства реализации использовано программное обеспечение - PKBD [6].

Предварительная оценка предложенных средств показала их пригодность для описания нечеткости в базах знаний. FuzzyRVML может использоваться для генерации программных кодов на FuzzyCLIPS, обеспечивая быстрое прототипирование баз знаний и экспертных систем с поддержкой нечеткости.

Прямое сравнение с другими программными системами моделирования нечеткости, в частности, Fuzzy Logic Designer (входящим в состав MATLAB) затруднено: с одной стороны, Fuzzy Logic Designer обладает большей функциональностью, чем PKBD с FuzzyRVML и поддерживает множество способов описания лингвистических переменных и визуализации результатов вывода, с другой - он не позволяет экспортировать созданные базы знаний и генерировать программные коды для их интеграции в другие приложения, в то время как FuzzyRVML и PKBD разработаны специально для решения этой задачи.

Рис. 7. Примеры RVML-схем с элементами FuzzyRVML: 1) шаблон правила с лингвистическими (нечеткими) переменными; 2) факт со значением слота в виде терма нечеткой переменной и коэффициента уверенности; 3) конкретное правило, содержащее факты с термами нечеткой переменной и коэффициентом уверенности; 4) сгенерированный программный код на FuzzyCLIPS.

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

В настоящее время в PKBD реализован только табличный способ описания значений термов лингвистических (нечетких) переменных, что связано с ориентацией на генерацию программных кодов для FuzzyCLIPS. В дальнейшем планируется добавить поддержку предлагаемого расширения в KBDS [11] и применить FuzzyRVML при решении задачи диагностики уникальных технических систем [16].

Работа выполнена при финансовой поддержке РФФИ (проект № 19-07-00927) и в рамках госзадания Минобрнауки России по проекту «Методы и технологии облачной сервис-ориентированной цифровой платформы сбора, хранения и обработки больших объёмов разноформатных междисциплинарных данных и знаний, основанные на применении искусственного интеллекта, модельно-управляемого подхода и машинного обучения» (номер гос регистрации 121030500071-2).

СПИСОК ЛИТЕРАТУРЫ

1. Wagner W. P. Trends in expert system development: A longitudinal content analysis of over thirty years of expert system case studies // Expert Systems with Applications. 2017. V.76. Рр. 85-96.

2. Кознов Д.В. Основы визуального моделирования. М: БИНОМ. 2012. 246 с.

3. Павлов А.И., Столбов А.Б. Прототип системы поддержки проектирования агентов для имитационных моделей сложных систем // Программные продукты и системы. 2016. № 3. С. 79-84.

4. Lukichev S., Giurca A., Wagner G., Gasevic D., Ribaric M. Using UML-based rules for web services modeling // Proceedings IEEE 23rd International Conference on Data Engineering Workshop. 2007. Pp .290-297.

5. Дородных Н.О., Коршунов С.А., Юрин А.Ю. Средства поддержки моделирования логических правил в нотации RVML // Программные продукты и системы. 2018. №4. С. 667-672.

6. Берман А.Ф., Грищенко М.А., Николайчук О.А., Юрин А.Ю. Проблемно-ориентированный редактор продукционных баз знаний // Программные продукты и системы. 2015. №2. С.13-19.

7. Гаврилова Т.А., Гулякина Н.А. Визуальные методы работы со знаниями: попытка обзора // Искусственный интеллект и принятие решений. 2008. № 1. С. 15-21.

8. Kosko B. Fuzzy Cognitive Maps // International Journal of Man-Machine Studies. 1986. vol.24. Рp. 65-75.

9. Zhang F., Ma Z.M., Yan L. Representation and reasoning of fuzzy ER model with description logic // Proceedings of IEEE International Conference on Fuzzy Systems. 2008. Рp.1358-1365.

10. Sicilia M.A., Garcia E., Gutierrez J.A. Integrating fuzziness in object oriented modeling language: towards a fuzzy-UML // Proceedings of International Conference on Fuzzy Sets Theory and its Applications. 2002. Рp. 66-67.

11. Дородных Н.О., Юрин А.Ю. Web-сервис для автоматизированного формирования продукционных баз знаний на основе концептуальных моделей // Программные продукты и системы. 2014. № 4. С. 103-107.

12. Dubois D., Prade H., Yager R. Readings in Fuzzy Sets for Intelligent Systems (Amsterdam: Elsevier). 2014. 928 p.

13. Дородных Н.О., Юрин А.Ю. Формирование баз знаний продукционного типа на основе UML-моделей // Информатика и кибернетика. 2016. №3(5). С.44-50.

14. Климат Иркутска. Режим доступа: https://ru.wikipedia.org/wiki/Климат Иркутска (дата обращения: 2021-03-13).

15. Allrivers: Уровень воды онлайн. Режим доступа: https://allrivers.info/gauge/angara-irkutsk (дата обращения: 2021-03-13).

16. Берман А.Ф., Николайчук О.А., Юрин А.Ю., Павлов А.И. Принципы информационной технологии решения междисциплинарных задач обеспечения техногенной безопасности на основе самоорганизации // Информационные и математические технологии в науке и управлении. 2019. № 2 (14). С. 5-15.

UDK 004.89

MEANS OF VISUAL MODELING AND CODE GENERATION FOR FUZZY RULES

Nikita O. Dorodnykh

Ph.D., e-mail: tualatin32@mail.ru, Alexander Yu. Yurin

Ph.D., Head. Laboratory of Information and telecommunication technologies for investigation of technogenic safety, e-mail: iskander@icc.ru Matrosov Institute for System Dynamics and Control Theory of Siberian Branch of Russian Academy of Sciences (ISDCT SB RAS), 134, Lermontov Str., 664033, Irkutsk, Russia, Sergey A. Korshunov, Dmitriy Yu. Sopp, Dmitriy S. Shpachenko e-mail: info@centrasib.ru, CentrSib LLC, 664033, Irkutsk, Russia, Lermontov Str., 277/5, 26

Annotation. Logical and associative rules are still the most common way to represent expert knowledge and support of decision-making. The use of rules in the case of inaccurate or uncertain information requires the development of specialized linguistic (language) means and software, providing their visualization and generation of source codes. In this paper, we propose a FuzzyRVML - an extension of a Rule Visual Modeling Language, designed for modeling logical rules containing elements of fuzziness. FuzzyRVML supports the fuzzy data type, the concepts of linguistic variable, term, and certainty factor. Descriptions of the main elements and constructs of FuzzyRVML are presented, as well as an illustrative example containing code generation in FuzzyCLIPS. Personal Knowledge Base Designer was used to support the notation proposed, as well for its implementation and evaluation.

Keywords: fuzziness, fuzzy knowledge base, fuzzy rules, logical rules, code generation, rvml, FuzzyCLIPS

REFERENCES

1. Wagner W. P. Trends in expert system development: A longitudinal content analysis of over thirty years of expert system case studies // Expert Systems with Applications. 2017. vol.76. Pp . 85-96.

2. Koznov D.V. Osnovy vizual'nogo modelirovaniya [Foundations of visual modeling]. Moscow: BINOM. 2012. 246 p. (in Russian).

3. Pavlov A.I., Stolbov A.B. Prototip sistemy podderzhki proektirovaniya agentov dlya imi-tacionnyh modelej slozhnyh sistem [A prototype of an agents design support system for complex system simulation models]. Programmnye produkty i sistemy = Software & Systems. 2016. № 3. Pp. 79-84. (in Russian).

4. Lukichev S., Giurca A., Wagner G., Gasevic D., Ribaric M. Using UML-based rules for web services modeling // Proceedings IEEE 23rd International Conference on Data Engineering Workshop. 2007. Pp .290-297.

5. Dorodnykh N.O., Korshunov S.A., Yurin A.Yu. Sredstva podderzhki modelirovaniya logicheskih pravil v notacii RVML [Support tools for modeling logical rules in the RVML notation]. Programmnye produkty i sistemy = Software & Systems. 2018. № 4. Рp. 667672. (in Russian).

6. Berman A.F., Grischenko M.A., Nikolaychuk O.A., Yurin A.Yu. Problemno-orientirovannyj redaktor produkcionnyh baz znanij [A problem-oriented editor for design of rule-based knowledge bases]. Programmnye produkty i sistemy = Software & Systems. 2015. № 2. Рp. 13-19. (in Russian).

7. Gavrilova T.A., Gulyakina N.A. Vizual'nye metody raboty so znaniyami: popytka obzora [Visual Knowledge Processing Techniques: a Brief Review]. Iskusstvennyy intellekt i prinyatie resheniy = Artificial Intelligence and Decision Making. 2008. № 1. Рp. 15-21. (in Russian).

8. Kosko B. Fuzzy Cognitive Maps. International Journal of Man-Machine Studies. 1986. vol. 24. Рp.65-75.

9. Zhang F., Ma Z.M., Yan L. Representation and reasoning of fuzzy ER model with description logic // Proceedings of IEEE International Conference on Fuzzy Systems. 2008. Рp.1358-1365.

10. Sicilia M.A., Garcia E., Gutierrez J.A. Integrating fuzziness in object oriented modeling language: towards a fuzzy-UML // Proceedings of International Conference on Fuzzy Sets Theory and its Applications. 2002. Рp. 66-67.

11. Dorodnykh N.O., Yurin A.Yu. Web-servis dlya avtomatizirovannogo formirovaniya produkcionnyh baz znanij na osnove konceptual'nyh modelej [A web-service for knowledge base generation on the basis of conceptual models]. Programmnye produkty i sistemy = Software & Systems. 2014. № 4. Рp. 103-107. (in Russian).

12. Dubois D., Prade H., Yager R. Readings in Fuzzy Sets for Intelligent Systems (Amsterdam: Elsevier). 2014. 928 p.

13. Dorodnykh N.O., Yurin A.Yu. Formirovanie baz znanij produkcionnogo tipa na osnove UML-modelej [Building the rule knowledge bases on the basis of UML models]. Informat-ika i kibernetika = Informatics and Cybernetics. 2016. № 3(5). Рp. 44-50. (in Russian).

14. Climate of Irkutsk. Available at: https://ru.wikipedia.org/wiki/Климат Иркутска. Accessed 17.03.2021.

15. Allrivers: Water Level Online. Available at: https://allrivers.info/gauge/angara-irkutsk, accessed 17.03.2021.

16. Berman A.F., Nikolaychuk O.A., Yurin A.Yu., Pavlov A.I. Principy informacionnoj tekhnologii resheniya mezhdisciplinarnyh zadach obespecheniya tekhnogennoj bezopasnosti na osnove samoorganizacii [Principles of information technology for solving interdisciplinary problems of technogenic safety provision on the basis of self-organization]// Infor-macionnye i matematicheskie tekhnologii v nauke i upravlenii = Information and mathematical technologies in science and management. 2019. № 2 (14). Рp. 5-15. (in Russian).

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