Смекни!
smekni.com

Поддержка принятия решений на основе паттернов проектирования (стр. 1 из 2)

Поддержка принятия решений на основе паттернов проектирования

Норенков И. П., Уваров М. Ю.

МГТУ им. Н.Э. Баумана

Введение. Принятие проектных решений (ППР) - одна из основных задач, решаемых в процессе проектирования технических устройств и систем. Большинство задач ППР имеет неформальный творческий характер. Попытки формализации задач ППР привели к появлению ряда подходов, методик и интеллектуальных систем, помогающих ЛПР (лицу, принимающему решения) в его деятельности.

Задачи ППР относятся к числу слабо структурированных или неструктурированных задач. Решение некоторых из слабоструктурированных задач может быть сведено к задачам дискретного математического программирования и их решению с помощью эвристических (например, природных) алгоритмов. Если удается определить конечное множество альтернатив проектного решения и сформулировать формальные правила выбора одной из них в конкретных ситуациях, то применяют интеллектуальные системы, основанные на правилах (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