Метод нечеткой индукции и его применение для моделирования базы знаний,
составления сценариев использования и тестирования информационной
системы
Кочергов Дмитрий Сергеевич,
кандидат экономических наук, аналитик компании «Горизонты роста»
Аннотация
В настоящей статье предложен метод нечеткой индукции и его применение для
моделирования знаний как нечетких множеств в целях управления жизненным циклом
информационных систем, включая разработку сценариев использования и тестирования
программного обеспечения.
Ключевые слова: базы знаний, нечеткая математика, нечеткие множества,
теория фракталов, дробная размерность, рекурсия, принцип неполноты Гёделя,
модульная системная архитектура, информационные системы, сценарии использования,
сценарии тестирования
Актуальность
В процессе проектирования и разработки, внедрения и эксплуатации
информационных систем необходимо аккумулировать и систематизировать данные,
сведения и информацию, которые собираются извне или возникают на каждом этапе
жизненного цикла программного обеспечения. Это служит необходимой информационнометодической поддержкой проектных работ и принятия решений и особенно актуально в
ситуациях высокой неопределенности и в слабоструктурированных средах. База знаний,
формируемая в результате аккумуляции и систематизации подобных ресурсов, должна
быть не только источником полезного опыта, полученного проектной группой в ходе
работ по созданию информационной системы, но и максимально простым средством
моделирования новых видения, способов и алгоритмов реализации проектных задач.
Иными словами, такая база знаний является хранилищем интеллектуального капитала и,
вместе с тем, инструментом управления знаниями.
Эффективность, полезность, качество базы знаний как инструмента коррелируют с
ресурсоемкостью ее ведения и результативностью извлечения знаний. Чем проще и
быстрее сбор и фиксация знаний в базе и чем более пертинентны результаты запросов к
ней, тем лучше и надежнее сам инструмент. Тем не менее, дискретные методы и средства
структуризации, которые применимы для систем управления базами данных, в том числе
нормализация отношений реляционных баз данных, не позволяют описывать или
моделировать смысловые компоненты, интерпретации, интервальные и непрерывные
семантические множества. Для этого нужен методологический подход, обобщающий
1
частные случаи конечных онтологий и приближающий модель знаний к непрерывности
описания предметной области информационной системы.
Таким подходом может быть объединение положений теории нечеткой математики
и понятия фрактальной размерности. Оптимизируя описание знаний по критерию степени
непрерывности (величине шага дискретизации описания) в условиях ограничения по
принципу неполноты Гёделя (в информационной системе – принципиальной неполноты
рассуждений, знаний, выводимых из этой системы при условии ее непротиворечивости),
выполняя последовательную фаззификацию (приведение к нечеткости), получаем
формализованное описание, которое максимально полно и связно отображает некоторый
массив знаний и с которым при этом можно выполнять любые операции информационных
процессов – сбор, хранение, обработку и передачу.
Определение рекурсии нечеткого множества
Пусть X – множество значений некоторой характеристики моделируемой системы:
X = X 1 , X 2 ,..., X n ,
где n N ≥ 3 – количество значений такой характеристики (больше, чем
элементарный набор (0; 1) – (ложь; истина)).
Пусть X = B, где B = a,b, c,..., z – множество эквивалентов, поэлементно
соответствующее множеству значений характеристики X.
~
Тогда нечеткое множество A X , которое соответствует нечеткому (в общем случае)
понятию, описывающему характеристику X, может быть представлено в виде:
1 1 m 1 2m
1 im
~
AX =
,
,
,...,
,
b
c
z
a
где m – шаг дискретизации описания, i N – кратность шага.
Соответственно, чтобы оптимизировать модель знаний об информационной
системе по критерию непрерывности (мягкости) описания, оставаясь в границах
пространства неполноты рассуждений, введем степень рекурсии нечеткого множества
~
A X и получим следующий вариант его представления:
~
A X = A X ; Re ,
где A X – множество, соответствующее нечеткому понятию, в общем случае более
~
полно описывающему характеристику X, чем множество A X , по критерию мягкости; Re –
степень рекурсии описания.
~
Следует учесть, что A X Α X (сводимо к четкому множеству) в частном случае
при необходимости.
2
Введение дробной размерности
При Re = 1 множество A X представляет собой обычное нечеткое множество 2-й
степени, включающее в качестве элементов нечеткие множества (либо их четкие
отображения), описывающие все значения характеристики X:
~ ~
~
A X = A X1 , A X2 ,..., A Xn ;1
Однако это – вырожденный случай, и в наиболее полном представлении часть
элементов A X могут быть множествами, в то время как остальные – тривиальными
(предельно простыми) объектами. Поэтому для определения такого множества
необходимо ввести дробную рекурсию – аналог дробной размерности пространства (в
данном контексте – пространства онтологии некоторой предметной области).
При Re дробной получаем следующую запись A X :
~
~
~
n 1
A X = A X1 , A X2 ;1 ,..., A Xn ;1 ;1
,
n
~
~
где A X1 – нечеткое множество для значения X1, A X2 ;1 – нечеткое множество для
значения X2 и т. д.
В таком случае рекурсия становится по сути фрактальной, а множества описаний –
самоподобными.
Определение множества функциональных возможностей модуля
Архитектура открытой информационной системы предполагает принцип
модульности, который обеспечивает возможность масштабирования, репликации,
адаптивность и эмерджентность системы. Модульное построение позволяет максимально
приблизить технологическую реализацию информационных процессов к их
естественному объективному воплощению в реальном мире, разрабатывать наиболее
удобные по своим функциональным свойствам средства, призванные не заменять людей, а
эффективно помогать им в управлении знаниями.
Модуль представляет собой некую обособленную сущность информационной
системы, которая может быть обязательной или опциональной для целей существования
системы, но в любом случае обеспечивает уникальный в границах системы набор
функций.
Все многообразие функциональных возможностей модулей можно описать тремя
типами операций: создание (запись новых данных), редактирование (изменение ранее
записанных данных), удаление (стирание ранее записанных данных).
3
Пусть X – некая характеристика таких функциональных возможностей, тогда
соответствующее множество X можно представить в виде:
X = X 1 , X 2 ,..., X n ,
где X1 – создание, X2 – редактирование, X3 – удаление,
X = создание, редактирование, удаление
При этом функциональные возможности любого модуля таковы, что создание
данных не самоподобно (реализовано без рекурсии – функция создания не повторяет саму
себя), а редактирование и удаление в общем случае могут предусматривать как
поэлементную реализацию (выполнение операции над избранными элементами множеств
данных), так и сами включать в составе подобные себе операции.
Следует отметить, что если операция для функциональной возможности X в
данном модуле не выполняется (не реализована в системе), то соответствующее такой
операции множество рассматривается как пустое.
Таким образом, для описания нечеткого понятия (высказывания) «модуль
позволяет выполнить операцию с соответствующим набором данных в целях
информационной системы» нечеткое множество A X в простейшем случае можно
представить как:
~
2
~
~
A X = A X1 , A X2 ;1 , A X3 ;1 ;1
3
2
Такое множество в общем случае имеет степень рекурсии равную 1 и является
3
фрактальным и нечетким одновременно.
Подготовка сценариев использования и тестирования модуля
На этапах разработки и эксплуатации информационной системы необходимы
специальные сценарии, описывающие порядок и содержание операций для использования
модулей по их функциональному назначению (сценарии использования, англ. use-case), а
также для проверки соответствия ожидаемого и реального результатов работы модулей
(сценарии тестирования, англ. test-case).
С учетом представлений, изложенных выше, процесс работы над такими
сценариями можно описать следующим образом.
Для модуля формируется нечеткое множество A X :
~
~
~
2
A X = A X1 , A X2 ; a , A X3 ; b ;1 ,
3
4
где
~
A X1 – нечеткое множество для операции создания данных по функциональной
возможности X;
~
A X2 ; a – нечеткое множество для операции редактирования данных по
функциональной возможности X, при этом степень рекурсии a (вложения функции)
является натуральным числом и в тривиальном случае равна 1;
~
A X3 ; b – нечеткое множество для операции удаления данных по функциональной
возможности X, при этом степень рекурсии b (вложения функции) является натуральным
числом и в тривиальном случае равна 1.
Такое множество описывает, что именно (какие объекты данных) создают,
редактируют и/или удаляют при любом варианте использования модуля.
Затем составляется набор сценариев использования UX по функциональной
возможности X для рассматриваемого модуля, в каждом из которых описывается, для чего
(для какой бизнес-задачи) создают, редактируют и/или удаляют объекты данных,
описанные множеством A X , и в каком порядке:
U X = U1 A X , U 2 A X ,..., U n A X ,
где n – количество сценариев использования для X.
Далее составляют набор сценариев тестирования
TX по функциональной
возможности X для каждого сценария использования рассматриваемого модуля. В
сценарии тестирования описывается, какие значения данных и в каком порядке
используются при выполнении сценария использования, а также какой результат должен
быть получен:
TX = T1 U1 ; D1 , T2 U 2 ; D2 ,..., Tn U n ; Dn ,
где D – массив тестовых данных, n – количество сценариев тестирования для X.
В описанном подходе количество сценариев тестирования равно числу
соответствующих сценариев использования, что позволяет упростить работу над их
описанием и актуализацией по мере развития системы. Кроме того, такой алгоритм может
быть использован для автоматизации тестирования программных модулей
информационной системы.
Заключение
Представленный метод нечеткой индукции может быть имплементирован на
разных стадиях жизненного цикла любой модульной информационной системы как в
5
целях накопления описательной части базы знаний, так и в работе над сценариями
использования и тестирования модулей.
Более того, нечеткая индукция помогает синтезировать знания на основе
полученных нечетких описаний подобно «когнитивному калейдоскопу», в котором часть
элементов остаются четкими и однозначными, в то время как другие по правилу
самоподобия применяются указанное в степени рекурсии количество раз для каждого
множества известных данных. В совокупности полученные нечеткие множества
формируют модель, которая может быть использована как для целей информационной
системы, так в интересах поиска новых знаний вообще.
Подобного рода методология может быть отнесена к своеобразной форме
«искусственного интеллекта» с учетом того, что синтезированные множества не должны
противоречить принципу неполноты рассуждений и призваны помогать интеллекту
человека, а не заменять его.
Библиография
1. В.В. Борисов, А.С. Федулов, М.М. Зернов, «Основы теории нечетких
множеств». М.: Горячая линия – Телеком, 2014.
2. В.В. Борисов, А.С. Федулов, М.М. Зернов, «Основы теории нечеткого
логического вывода». М.: Горячая линия – Телеком, 2014.
3. С.Л. Деменок, «Фрактал: между мифом и ремеслом». Спб: Академия
исследования культуры, 2011.
4. С. Кранц, «Изменчивая природа математического доказательства». М.:
Лаборатория знаний, 2016.
6
Отзывы:
Авторизуйтесь, чтобы оставить отзыв