Норенков И. П., Уваров М. Ю.
МГТУ им. Н.Э. Баумана
Введение. Принятие проектных решений (ППР) - одна из основных задач, решаемых в процессе проектирования технических устройств и систем. Большинство задач ППР имеет неформальный творческий характер. Попытки формализации задач ППР привели к появлению ряда подходов, методик и интеллектуальных систем, помогающих ЛПР (лицу, принимающему решения) в его деятельности.
Задачи ППР относятся к числу слабо структурированных или неструктурированных задач. Решение некоторых из слабоструктурированных задач может быть сведено к задачам дискретного математического программирования и их решению с помощью эвристических (например, природных) алгоритмов. Если удается определить конечное множество альтернатив проектного решения и сформулировать формальные правила выбора одной из них в конкретных ситуациях, то применяют интеллектуальные системы, основанные на правилах (RBR - Rule-BasedReasoning), например, экспертные системы. В случае неструктурированных задач преимущественно применяют методы CBR (Case-BasedReasoning), заключающиеся в поиске описаний прецедентов решения аналогичных задач в документальных базах знаний (БЗ).
Проектные решения привязываются к задачам и в БЗ описываются задачи и соответствующие решения. Так, в системе CaBMA [1], предназначенной для проектирования планов работ (расписаний), задачи (работы) представляются на нескольких иерархических уровнях, работы нижнего уровня называются операциями и именно они фигурируют в разрабатываемых расписаниях с учетом отношений предшествования. Прецедентами являются ранее разработанные планы. Новое задание на проектирование расписания вводится в виде списка задач верхнего иерархического уровня, список задач сопоставляется с прецедентами из БЗ. Последующая декомпозиция задач верхнего уровня и сопоставление с контентом БЗ позволяет строить новые планы, полностью или частично совпадающие с предыдущими разработками.
Описание прецедента обычно представляется в виде структуры, называемой паттерном проектирования или фреймом и отражающей некоторые характерные свойства задачи поиска решения. Паттерны могут рассматриваться как одна из форм представления знаний в CBR системах. Принятие решения в CBRсистемах основано на сопоставлении паттернов в БЗ с описанием текущей ситуации поиска решения.
Большинство опубликованных работ, посвященных паттернам проектирования, относится к проектированию программного обеспечения [2-5.], однако паттерны разрабатываются и для других приложений.
Паттерны обычно имеют слотовую структуру. Каждый слот относится к определенному аспекту описываемой ситуации. Примерами слотов в паттернах проектирования являются «тип», «контекст», «проблема», «условия и ограничения», а также более специфичные слоты, относящиеся к параметрам решения, определяемым приложением.
Паттерны классифицируют по приложениям, группам задач, степени обобщения описываемых решений. Так, различают паттерны верхних уровней, выражающие концептуальные (архитектурные) решения, и паттерны нижних уровней, соответствующие конкретным решениям. Для представления слотов используют как естественный язык, так и диаграммные языки типа UML. Семантика языка должна быть понимаема системой и всеми ее пользователями. Для этого в слотах нужно использовать термины и их отношения, относящиеся к определенной онтологии. При этом появляется возможность применения стандартизованных языков онтологий.
Онтологии и паттерны все шире используются в системах поддержки принятия рещений (СППР) различного назначения, например, в СППР для нефтегазовой промышленности [6], для принятия решений в чрезвычайных ситуациях [7], для систем очистки воды [8], для проектирования МЭМС [9] и т.п. Для задач проектирования и сопровождения онтологий разрабатываются свои паттерны, например, предложенные в [10].
К средствам поддержки создания паттернов относятся известные онтологии верхних уровней, такие как DOLCE- DnSUltralite, SUMO и др. [11]., методики структурирования знаний и, как отмечено выше, языки онтологий и диаграммные. Примером неформализованной методики структурирования знаний при создании паттернов может служить проект WeKnowIt [12], имеющий целью аккумулирование знаний о событиях, получаемых из разных источников. Знания представляются на нескольких иерархических уровнях в форме, обеспечивающей единообразный доступ к ним со стороны различных пользователей и информационных интеллектуальных систем. Однако собственно создание контента паттернов остается неформализованным.
Базы знаний в системах CBRобычно состоят из паттернов, получаемых в результате предварительной обработки документов, содержащих описания прецедентов. Однако такая обработка не формализована и требует значительных затрат времени квалифицированных специалистов. Поскольку в корпоративных информационных системах, как правило, имеется большое число документов (научно-технических статей, отчетов, пояснительных записок и т.п.), содержащих сведения о проектных решениях, но не преобразованных в соответствующие паттерны проектирования, целесообразно располагать средствами оперативной формализованной оценки перспективности документов на предмет нахождения в них нужного решения.
Полуавтоматический поиск прецедентов в документальных БЗ может быть основан на определении в документах формулировки проблемы, решение которой является текущей целью ЛПР, т.е. система CBR становится системой информационного поиска. В существующих информационно-поисковых системах проблему, интересующую пользователя, обычно выражают с помощью множества ключевых слов. Однако формулировкам слабо структурированных проблем обычно присущи неопределенность и многовариантность. Наименования проблем зачастую являются сочетаниями из нескольких слов и имеется много вариантов таких сочетаний для одной и той же проблемы и, как следствие, возможны несовпадения формулировок в запросе и в тексте потенциально полезных документов. В результате снижаются полнота и точность поиска. В системах ППР желательно использовать подход, формализующий составление поисковых запросов.
Предлагаемый в статье метод заключается в поиске в документальных базах знаний прецедентов ППР на основе использовании кластеризованных онтологий для формирования паттернов проектирования. Метод реализован в системе, имеющей название «Поиск прецедентов».
Формирование паттернов проектирования. Основой паттерна проектирования (ПтП) в системе «Поиск прецедентов» является словосочетание, обозначающее сложный концепт, именующий проблему и состоящий из простых концептов [13]. Отдельные простые концепты в словосочетании образуют слоты паттерна. Значениями слотов, т.е. простыми концептами, могут быть концепты (понятия) той или иной предметной онтологии. Каждому слоту ПтП соответствует определенная роль, выполняемая простым концептом в словосочетании. Согласно выделенным ролям формируются кластеры онтологии, т.е. в каждый ролевой кластер включаются те концепты онтологии, которые потенциально могут в ПтП обозначать выделенные роли. Например, сложный концепт «производительность компьютера» состоит из простых концептов «производительность» и «компьютер», которые выполняют роли «свойство» и «объект» в отношении «свойство - объект».
Паттерны могут быть нескольких типов, определяемых наборами ролей, закрепленных за слотами. Для большинства задач, решаемых с использованием ролевых паттернов, основными ролями простых концептов в сложных концептах, а, следовательно, и слотами в ПтП, должны быть С1 - «объект», С2 - «свойство», С3 - «действие», С4 - «средство». Из этих слотов образуются следующие типы паттернов:
- тип «действие – объект», т.е. А1 = (С3, C1);
- тип «действие – свойство – объект», т.е. А2=(С3, С2, С1);
- тип «средство –отношение типа А1 или А2», т.е. А3=(С4, С3, C1) или А3=(С4, С3, С2, C1);
- тип «действие – отношение типа А3», т.е. А4 = (С3, С4, С3, C1) или А4=(С3, С4, С3, С2, C1);
- тип «действие – отношение типа А1», т.е. А5= (С3, С3, C1);
- тип «средство – отношение типа А5», т.е. А6 =(С4, С3, С3, C1).
Следует отметить, что в словосочетании последовательность простых концептов должна соответствовать последовательности слотов, принятой в ПтП.
Специфика приложений отражается в множествах концептов с ролью «объект». В то же время большую часть множеств простых концептов, выполняющих роли «действие», «свойство», «средство», можно считать инвариантной к разным приложениям в достаточно широких научно-технических направлениях.
Примеры концептов, входящих в разные кластеры, показаны в таблице 1.
Таблица 1
Кластер | Концепты |
действие | проектирование (разработка), конструирование. моделирование, верификация, оптимизация, анализ, синтез, предложение, выбор, обработка, исследование, процесс, развитие, решение, преобразование, формирование, обоснование, создание, выполнение ограничений, улучшение (совершенствование), расчет, оценка, распространение, определение |
свойство | чертеж, схема, граф-схема, структура, функция, концепция, топология, производительность, эффективность, цена, работоспособность, аспект |
средство | алгоритм, методика, метод, стандарт, технология, шаблон, подход, мера, способ |
Релевантность документов, найденных в системе ППР, определяется по наличию в их текстах сложных концептов, характеризующих заданную проблему. Примерами таких сложных концептов, другими словами, паттернов проектирования, могут служить представленные в таблице 2 словосочетания, выделенные в документах, являющихся статьями из научно-технического журнала «Информационные технологии» (концепты с ролями действие, свойство, средство в примерах выделены полужирным шрифтом, подчеркиванием, курсивом соответственно).
Таблица 2