РОССИЙСКАЯ АКАДЕМИЯ НАУК

ДАЛЬНЕВОСТОЧНОЕ ОТДЕЛЕНИЕ

Федеральное государственное бюджетное учреждение науки

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

РАЗРАБОТКА МОДЕЛИ КОНФИГУРАЦИИ ДЛЯ ДЕКЛАРАТИВНОГО ПРОГРАММИРОВАНИЯ УПРАВЛЯЕМЫХ АГЕНТНЫХ РЕШАТЕЛЕЙ

Владивосток

2012

УДК 004.89

РАЗРАБОТКА МОДЕЛИ КОНФИГУРАЦИИ ДЛЯ ДЕКЛАРАТИВНОГО ПРОГРАММИРОВАНИЯ УПРАВЛЯЕМЫХ АГЕНТНЫХ РЕШАТЕЛЕЙ. Владивосток: ИАПУ ДВО РАН, 2012, 48 с.

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

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

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

 
Ответственный редактор д. ф.-м. н.

Рецензент д. т.н.

НЕ нашли? Не то? Что вы ищете?

© Институт автоматики и процессов управления ДВО РАН

В сфере разработки полезных интернет-приложений заметное место стали занимать интеллектуальные интернет-сервисы (ИИС) - системы, основанные на знаниях, доступ к функциям которых осуществляется через Интернет. Отвечающая современным требованиям сопровождаемости база знаний не только отделена в самостоятельный переносимый компонент, но и является концептуальной, понятной для сопровождающего ее эксперта. Самостоятельным компонентом интеллектуальной программной системы с концептуальной базой знаний является решатель задач, т. е. программа, которая, используя базу знаний, решает задачи или оказывает поддержку в принятии решения.

Достаточно важными при разработке таких сервисов становятся возможности и средства их адаптации к изменениям в предметной области и возможность их модификации без переписывания значительной части программы [Тарасов 1998, Козьминых 2012], совместимость между собой программных единиц, из которых может быть скомпонован решатель, удовлетворяющий необходимым требованиям [Заливако 2012]. Одним из перспективных вариантов создания таких сервисов является использование агентной технологии [Раздобарина 2010, Смелянский и др. 2000, Заливако 2012]. Хотя такие свойства агентов, как автономность, восприятие среды посредством сенсоров, модифицируемость агентов прямо в ходе функционирования не слишком важны для интеллектуальных систем информационной поддержки специалистов при принятии ими ответственных решений. Поэтому для производства сопровождаемых и управляемых ИИС требуется разработка теории, методов и технологии их создания на основе развития и совершенствования методов и технологии построения мультиагентных систем.

Переход к декларативному представлению знаний в интеллектуальных программных системах (ИПС) уже внес свой вклад в сопровождаемость баз знаний. Известны и преимущества декларативного представления программ, по сравнению с императивным: более простое написание, более легкое их понимание программистами, и, соответственно, модифицирование, возможность замены сопровождения программы управлением ею. Представление баз знаний и данных в форме семантических сетей достаточно распространено [Голенков 2012, Гулякина 2012, Грибова 2011]. Развиваются языки программирования, ориентированные на обработку таких сетей, представление данных и программ в единообразном виде [Гулякина 2012], концепция проектирования интеллектуальных сервисов, все компоненты (данные, знания, решатель задач с пользовательским интерфейсом и его компоненты - агенты) которого имеют единые принципы для их формирования, доступа и модифицирования [Клещев 2012, Клещев 2011].

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

Под конфигурацией (или «конфигурационной идентификацией» [Лапыгин 2004]) программного продукта понимаются документы, описывающие конечный продукт, требования к нему, всю его проектную и технологическую документацию [wiki], т. е. набор актуальной документации, на основе которой можно создать новую копию продукта [Лапыгин 2004].

Первый параграф представляет новый подход к разработке ИПС, второй – показывает типичный состав конфигурации информационной программной системы. Третий параграф посвящен построению модели конфигурации интеллектуального программного продукта с учетом нового подхода к разработке.

1. Декларативное агентно-ориентированное программирование как способ повышения сопровождаемости интеллектуальных программных систем

База знаний, отвечающая современным требованиям сопровождаемости, должна обладать удобным инструментом ввода и сопровождения знаний. Разработка языков представления и методов редактирования знаний дала толчок развитию способов декларативного их представления, разработке онтологий знаний и созданию на их основе удобных (или даже интеллектуальных) редакторов знаний [Грибова 2010, Клещев 2003, Москаленко 2007]. Концептуальная база знаний обеспечивает редактирование знаний в понятных эксперту терминах [Грибова 2011, Лезин 2000].

Поскольку использование при реализации интеллектуальной системы с концептуальной базой знаний какой-либо универсальной машины вывода оказывается невозможным, то самостоятельным компонентом становится решатель задач, т. е. часть программного обеспечения (ПО), которая, используя базу знаний, решает задачи интеллектуальной системы [Грибова 2010]. В прикладных интеллектуальных системах активно используют «различные программы для решения конкретных классов задач» [Гулякина 2012]. В этих условиях любую интеллектуальную систему – систему поддержки принятия решений, интеллектуальный интернет-сервис и т. п. - можно рассматривать как систему, состоящую из решателя задач, пользовательского интерфейса, базы знаний и, возможно, баз данных для исходных данных и результатов (рис.1).

Рис.1. Основные компоненты интеллектуальной системы.

Распределение функций между программными единицами (ПЕ) решателя некоторой интеллектуальной задачи предполагает, что некоторые ПЕ будут «самостоятельно принимать решение» и формировать его в установленном формате, другие – должны будут «привлечь» других исполнителей. Некоторые ПЕ могут обрабатывать данные или формировать решение на основе хранимых знаний, другие - только брать на себя управляющую роль. При проектировании управления между ПЕ в одних случаях предпочтительнее централизованное управление, а в других – «сотрудничество равных»; часто для обеспечения приемлемой скорости обработки требуется одновременное выполнение нескольких ПЕ или экземпляров некоторой ПЕ. Возможность предусмотреть взаимодействие единиц через передачу сообщений друг другу – один из путей «гибкости» при выборе архитектурной модели управления. ПЕ, способные решать поставленную задачу и взаимодействующие друг с другом посредством приема и передачи сообщений, часто называют агентами.

Современные многоагентные системы часто строятся как взаимодействующая совокупность отдельных распределенных интеллектуальных компонентов, обладающих своими базами знаний и средствами рассуждений. Определяющей является парадигма интеллектуальных агентов, поведение которых определяется базой знаний (БЗ) [Раздобарина 2010]. «Уровень интеллектуальности» определенного агента рассматривают как способность агента использовать старые знания в новых, может быть, заранее неизвестных ему ситуациях или даже проблемных областях. Как правило, каждый агент «работает с определенной метафорой», определяющей функции и особенности исполнителя. Интеллектуальный агент поддерживает взаимодействие с окружающим миром, посылает и получает сообщения от других агентов [Раздобарина 2010].

Расширяются возможности использования многоагентных технологий в интеллектуальных системах дистанционного обучения [Пашкин 2006, Гаврилова 2000]. Агентный подход используют для построения сложных интеллектуальных систем по созданию современных тренажеров, обучающих систем, интеллектуальных сред обучения. В таких инструментах интеллектуальный агент позволяет упростить процессы разработки и отладки достаточно сложных систем [Лазырин 2006].

Но для снижения трудоемкости сопровождения ИПС требуется развитие и совершенствование теории, методов, инструментальных и программно-аппаратных средств и всей технологии построения мультиагентных систем. Уже открыта «Новая страница в теории программирования, которую можно назвать семантической теорией программ и языков программирования», в которой «программы, описывающие обработку семантических сетей, представлены в виде семантической сети [Голенков 2012], и проблема «создания таких моделей переработки знаний и таких моделей реализации программ, которые бы легко интегрировались в одну модель» является актуальной [Гулякина 2012].

Поскольку представление баз знаний и данных в форме семантических сетей достаточно распространено [Нильсон 1990, Гаврилова 2001, Некрашевич 2006, Голенков 2012], то современная концепция проектирования интеллектуальных сервисов как совокупности процедурно-декларативных ресурсов [Клещев 2011, Клещев 2009] становится наиболее перспективной. Предлагается все компоненты ИПС (данные, знания, решатель задач с пользовательским интерфейсом и его программные единицы - агенты) представлять в едином унифицированном формате (в форме семантических сетей), обеспечив единые принципы для их формирования, доступа и модифицирования. Декларативная программа «относительно легко может быть подвергнута логическому анализу, оценке правильности программы (чрезвычайно трудоёмкой при использовании языков типа Си). Чем более декларативен язык программирования, тем более вероятно наличие неявного параллелизма и тем проще будет параллельное выполнение программы» [Гулякина 2012].

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9