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

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

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

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

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

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

 

Тип паттерна

Паттерн

А1

интеграция бизнес-процессных моделей и ERP-систем

А2

управление стоимостью проекта

А3

блочно-иерархический подход для построения базы знаний

А4

использование эволюционных алгоритмов для решения NP-трудной задачи

А5

синхронизация в управлении хаотическими системами

А6

способ обоснования решения задачи коммивояжера

  

 

Структуры паттернов, определяемые составами ролей и типами учитываемых отношений, могут различаться в разных решаемых задачах. Для задач принятия решений целесообразно использовать два варианта структур ПтП: первый вариант служит для именования проблемы, второй – для выделения прецедентов принятия решений в документах, посвященных определенной проблеме.

Варианты структур паттернов. Первый вариант структуры ПтП характеризуется ролями С1-С4 и отношениями А1-А6, представленными выше. Извлечение документов, относящихся к исследуемой проблеме, из имеющейся документальной базы знаний заключается в поиске документов, в которых число паттернов заданных типов превышает некоторое пороговое значение.

Выделение перспективных документов, потенциально содержащих аналоги искомых решений, из множества документов, найденных на основе первого варианта, выполняется с использованием второго варианта структуры ПтП. Для второго варианта необходимы паттерны, их слоты и распределение концептов по кластерам, соответствующие задаче поиска решений. В экспериментах с упомянутым выше корпусом документов использовались паттерны Е1=(D2, D1), E2=(D3, D2, D1), где слоты имеют следующие наборы значений:

- D1: вариант, альтернатива, метод, методика, решение, подход, способ, конструкция, критерий;

- D2: множество, совокупность, набор, выбор, сравнение, сопоставление, принятие, новый, оригинальный, предпочтительный;

- D3: предложение, представление, описание, разработка, оценка.

Ниже приведены примеры фраз, выделенных с помощью предлагаемого подхода из текстов используемого набора научно-технических статей:

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

Формирование целей и стратегий их реализации является одной из важнейших составляющих процедуры принятия управленческих решений.

Предлагается новый подход к обработке многомерных данных на основе использования меры однородности

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

Составлена многоэкстремальная целевая функция, позволяющая провести сравнение эффективности полученных конструкций генетического алгоритма

В результате проведенных исследований выполнен также анализ и обоснование выбора базовых методов для решения СЛАУ.

Предлагается новый подход к обработке многомерных данных на основе использования меры однородности

Предложен новый подход к решению указанных проблем и описана разработанная технология быстрого вычисления характеристик сложных технических объектов.

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

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

Поиск решения в системе начинается с задания запроса, например, в виде формулировки проблемы в форме перечней простых концептов из предъявляемых пользователю списков терминов используемой онтологии отдельно по каждому кластеру. Выполняется сопоставление концептов запроса с элементами метаданных документов, .причем со всеми возможными их представлениями с учетом отраженной в онтологии синонимии. Для релевантных запросу документов выполняется поиск паттернов, указывающих на возможное описание прецедента. Система выдает ЛПР перечень отобранных релевантных документов вместе с метаданными на предмет дальнейшего неавтоматического анализа.

Другими словами, система обращает внимание ЛПР на те документы и места в документе, которые потенциально содержат информацию об интересующей пользователя проблеме и прецеденте ее решения. Располагая такой информацией, ЛПР может вызвать для просмотра весь документ или игнорировать его.

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

Список литературы

1. Xu K., Muñoz-AvilaH. CaBMA: Case-Based Project Management Assistant. // In: proceedings of the Innovative Applications of Artificial Intelligence Conference on Artificial Intelligence (IAAI-04). Springer, 2004, pp 931-936.

2. Гамма Э., Влиссидес Дж., Джонсон Р., Хелм Р. Приемы объектно-ориентированного проектирования. – СПб: Питер, 2007, 368 с.

3. Ларман К. Применение UML и шаблонов проектирования. Введение в объектно-ориентированный анализ и проектирование. – М.: Вильямс, 2006. – 736 с.

4. Tichy W.F. A Catalogue of General-Purpose Software Design Patterns. - http://www.laputan.org/pub/patterns/tichy/catalogue.pdf

5. Справочник. Паттерны проектирования. - http://www.design-pattern.ru/patterns/page-controller.html

6. Nunez E.J., Lake L.W., Gilbert R.B., Srinivasan S., Yang F., Kroncke M.W.. Towards an Ontology Driven EOR Decision Support System. - http://www.w3.org/2008/11/ogws-papers/nunez.pdf

7. Steel J., Iannella R., Lam H.. Using Ontologies for Decision Support in Resource Messaging. // Proceedings of the 5th International ISCRAM Conference. F. Fiedrich and B. Van de Walle, eds. Washington, USA, 2008, pp 276-284.

8. Ceccaroni L., Cortes U., Sanchez-Marre M., OntoWEDSS: an Ontology-Underpinned Decision-Support Systemfor Wastewater Management. // In: International Environmental Modelling and Software Society Conference, Lugano, Switzerland, 2002, pp 432-437.

9. Zheng Y. MEMS Design Synthesis Based on Hybrid Evolutionary Computation. - PhD thesis, University of California, 2006.

10. GangemiA. Ontology Design Patterns for Semantic Web Content. // In Proceedings of ISWC 2005, Springer, 2005, pp 262-276.

11. Maskardi V., Corde V., Rosso P. A Comparison of Upper Ontologies. //Technical report DISI-TR-06-21. - www.disi.unige.it/person/MascardiV/Download/DISI-TR-06-21.pdf

12. WeKnowIt. Prototypical Knowledge Management Methodology - http://www.weknowit.eu/sites/default/files/D5.2.1.pdf

13. Норенков И.П. Документальные базы знаний на основе онтологий // Информационные технологии, 2011, N 2, с. 11-16