В. Быстров

Организация базы знаний при автоматизации синтеза динамических моделей сложных систем


Экспериментальные воздействия на сложные системы по многим причинам (ограниченные временные рамки, опасность необратимых изменений, высокая стоимость и др.) обычно невозможны или нежелательны, поэтому основным методом изучения и прогнозирования поведения таких систем служит моделирование. Особенно актуальна данная задача для сложных динамических систем с многочисленными внешними и внутренними связями, где необходимо учитывать разнообразные информационные, финансовые, материальные, энергетические потоки, предусматривать анализ последствий изменения их структуры и т.п.
Одним из эффективных методов изучения сложных динамических систем в настоящее время, успешно развивающимся во многих странах, является предложенный в 1960-х годах Джеем Форестером специализированный метод имитационного моделирования - метод системной динамики[4]. Данный метод позволяет исследовать поведение сложных систем, опираясь на возможности компьютерного моделирования. В отличие от «традиционных» методов компьютерного моделирования системная динамика не требует построения математической модели исследуемого объекта в традиционной форме, а дает исследователю инструментарий для моделирования: компьютерные модели системных элементов и связей между ними.
Когда объект исследования является сложной системой, то построение системных диаграмм становится затруднительной задачей, и синтез приемлемой для практического использования имитационной модели может занимать длительный период времени. Данный факт открывает широкое поле для исследовательской деятельности, направленной на рассмотрение проблемы автоматизации процесса создания имитационных моделей сложных систем.
Некоторые результаты, полученные в указанном выше направлении, представлены в данной статье. В Институте информатики и математического моделирования КНЦ РАН ведется разработка программного комплекса автоматизации синтеза структуры моделей системной динамики. Программный комплекс является инструментом представления знаний экспертов об объекте моделирования в виде концептуальной модели[1,3], и на ее основе осуществляет генерацию системно-динамической модели с использованием технологии концептуальных шаблонов[2,6]. Данная работа является тематическим продолжением технологии автоматизации разработки динамических моделей, опубликованной в [5]. Авторами предлагается подход автоматизированного перехода от формальной модели экспертных знаний к соответствующим имитационным моделям, в частности, к моделям системной динамики. Синтез моделей осуществляется на уровне элементарных конструкций языка системной динамики, т.е. системных диаграмм (уровни, потоки, переменные, связи).
В результате применения выше указанного подхода к разработке аналитических динамических моделей различных социально-экономических систем был отмечен следующий факт: различные процессы, протекающие в сложных системах, могут быть представлены системно-динамическими моделями, обладающими схожими структурами и рассчитываемыми по однотипным системам разностных уравнений. На основе данного наблюдения было предложено совместить функционально-целевую технологию и технологию концептуальных паттернов (шаблонов). Первая технология используется для создания концептуальной модели, а вторая – для построения модели системной динамики на основе концептуальной модели.
Концептуальная модель используется для перехода экспертных знаний к их формальному описанию, допускающему единственную интерпретацию, после чего становится возможен формальный синтез динамических моделей исследуемых систем. В силу ограниченности рационального мышления человека в масштабах больших и сложных систем, знания экспертов удобно представлять в виде древовидных структур. Древовидные конструкции дают возможность оперировать небольшим количеством объектов и связей на каждом уровне иерархии сложной системы.
Концептуальная модель представляет собой базу знаний, состоящую из двух частей: декларативная и процедурная, поскольку знания экспертов о какой-либо системе можно разделить на декларативные и процедурные. Декларативными знаниями являются основные понятия данной предметной области и отношения между ними, формализованные в виде концептуальной модели. К процедурным знаниям относятся, в данном случае, знания экспертов о принципах построения динамической модели.
Декларативная база знаний содержит факты, к которым относятся: набор шаблонов, сопоставленных экспертами примитивам - элементам последнего уровня декомпозиции дерева целей, само дерево целей, набор вспомогательных переменных, справочники и кодификаторы, содержащие текстовые знания об исследуемой предметной области. Под шаблоном подразумевается некоторая типовая конструкция, имеющая установившуюся во времени (постоянную) структуру и набор входных, выходных параметров и начальных значений. Шаблон реализовывается в виде конструкции на языке системной динамики, и его спецификация производится с учетом этого фактора. Формально понятие шаблона можно представить следующей записью на языке теории множеств:
P = { St , Fn , X , Y , I } ,
где St – структура шаблона, Fn – закон функционирования шаблона, X – множество входных параметров шаблона, Y – множество выходных параметров шаблона, I – множество начальных значений.
Процедурные знания экспертов реализованы в базе знаний в виде процедур вывода, которые позволяют формализовать процесс синтеза динамической модели. На вход процедур подаются декларативные данные базы знаний, на выходе получаются элементы моделей системной динамики. Процедуры вывода представляют собой отображения структуры концептуальной модели, в данном случае это декларативные данные базы знаний, в структуру динамических моделей.
База знаний содержит три группы процедур вывода.
1.    Процедуры вывода, определяющие для каждого шаблона модели покрывающие действия. Будем их называть процедуры сопоставления.
2.    Процедуры вывода, определяющие материальные связи между шаблонами в динамической модели.
3.    Процедуры вывода, определяющие информационные связи между шаблонами в динамической модели.
Конечным результатом применения соответствующих процедур вывода к декларативным данным является структура динамической модели. Пример рассматриваемого процесса приведен на рисунке 1, который содержит схематичное изображение сопоставления экземпляров шаблонов конкретным вершинам  дерева целей и установление информационных связей между экземплярами.
На основе структуры концептуальной модели и процедур вывода разработана методика формального синтеза динамической модели сложных систем. Данная методика алгоритмизирована и реализована в виде программного комплекса автоматизации синтеза системно-динамических моделей сложных систем.
Процедурные данные базы знаний в программном комплексе представлены в виде совокупности алгоритмов, при синтезе структуры модели осуществляющих:
•    выбор следующего элемента декларативных данных из множества доступных на текущий момент;
•    выбор соответствующего правила вывода в зависимости от типа данных;
•    непосредственно применение выбранного правила к выбранному элементу;
•    сохранение результата в соответствующей таблице базы данных.   

Рис. 1.  Пример применения процедур вывода к декларативным данным.
Программная реализация имеет модульную структуру, что обеспечивает удобство и относительную легкость редактирования отдельных модулей, не влияющее на работу остальных, и добавление новых функциональных возможностей в комплекс.
Для удобства хранения и обработки все декларативные данные системы представлены в виде  отдельных таблиц базы данных, структура которой приводится на рис. 2:
•    БД вершин дерева целей, содержит атрибуты каждой вершины: порядковый номер, название, количество дочерних вершин, формулу и другие вспомогательные данные;
•    БД спецификаций шаблонов, содержит информацию о шаблоне, в частности, числовой идентификатор, название шаблона, количество входных, выходных параметров, количество начальных значений и другую служебную информацию для функционирования программного комплекса;
•    БД экземпляров шаблонов – хранится информация о сопоставленных конечным вершинам дерева целей и наполненных содержимым шаблонах, названных экземплярами;
•    БД пользователей, содержит необходимые данные о каждом пользователе, участвующем в проекте: код, личные данные, место работы, номера контактных телефонов и системные данные для организации защиты информации на уровне пользователя;
•    БД справочника, содержит описанные экспертами основные понятия и термины, различные нормы и константы предметной области;
•    БД информационных связей – служебная база, содержащая необходимую для описания информационных связей между экземплярами информацию.

Рис.2. Структура БД.
В системе предусмотрено разделение пользователей по категориям, в зависимости от выполняемых ими функций: системный аналитик - специалист, имеющий системный взгляд на исследуемую проблему и отчасти выполняющий администраторские функции в программном комплексе; эксперт - специалист в определенной предметной области. Программный комплекс осуществляет защиту информации на уровне пользователя для предотвращения несанкционированного доступа к персональным данным пользователя и его собственным разработкам. Политика доступа одного пользователя к рабочим данным другого может изменяться и настраиваться системным аналитиком.
Подводя итог, можно отметить, что в разрабатываемом программном комплексе экспертные знания формализуются в виде концептуальной модели, построенной с помощью функционально-целевой технологии[3]. Концептуальная модель представляется в виде базы знаний древовидной структуры, состоящей из декларативной и процедурной части. Процедурная составляющая содержит разработанные формальные процедуры вывода, обеспечивающие синтез системно-динамической модели из набора типизированных шаблонов. Разрабатываемая система позволяет упростить построение динамической модели и исследовательскую деятельность целого коллектива разнородных специалистов представить как работу одного единого «организма».

Список используемой литературы.

1.    Емельянов С.В., Олейник А.Г., Попков Ю.С., Путилов В.А. Информационные технологии регионального управления – М.: Едиториал УРСС, 2004. – 400 с.
2.    Казаков С.А., Шебеко Ю.А. Использование концептуальных паттернов в проектах разработки аналитических моделей бизнес-процессов. // Материалы всероссийской конференции «Теория и практика системной динамики» - Апатиты, КНЦ РАН, 2004 – 187с.
3.    Кузьмин И.А., Путилов В.А., Фильчаков В.В. Распределенная обработка информации в научных исследованиях – С-Пб., Наука, 1991, 304 с.
4.    Путилов В.А., Горохов А.В. Системная динамика регионального развития. Монография. – Мурманск, НИЦ «Пазори», 2002, 119 с.
5.    Путилов В.А., Горохов А.В., Олейник А.Г. Технология автоматизированной разработки динамических моделей для поддержки принятия решений // Информационные ресурсы России – 2004 - №1 –С. 30-33
6.    Шебеко Ю.А. Имитационное моделирование и ситуационный анализ бизнес процессов принятия управленческих решений (учебное и практическое пособие). – М.: Диаграмма, 1999.