РЕАЛИЗАЦИЯ ПРОТОТИПА СИСТЕМЫ МОБИЛЬНЫХ АГЕНТОВ ДЛЯ РЕШЕНИЯ ЗАДАЧ ИНТЕЛЛЕКТУАЛЬНОГО АНАЛИЗА ДАННЫХ К.Н. Бредихин, П.Р. Варшавский1 Методы интеллектуального анализа данных (ИАД) сегодня широко применяются для решения актуальной задачи обнаружения в данных ранее неизвестных и практически полезных знаний, необходимых для принятия решений в различных сферах человеческой деятельности [Финн, 2004]. Ценность и достоверность получаемых знаний зависит от объемов анализируемых данных. Чем больше данных подвергается анализу, тем выше качество извлекаемых закономерностей. В настоящее время большие объемы однородных данных хранятся, как правило, распределенно. Таким образом, актуальной задачей является адаптация методов и алгоритмов ИАД к работе с распределенными данными. В настоящее время активно исследуются перспективы применения мультиагентных систем для добычи знаний из распределенных данных. Использование множества агентов позволяет разделить между ними как подзадачи обработки данных, так и сами обрабатываемые данные. Работа выполнена при финансовой поддержке РФФИ по проекту № 08-01-00437 и гранту Президента РФ для поддержки молодых российских ученых (МК-6009.2008.9) 1 111250, Москва, ул. Красноказарменная 14, МЭИ (ТУ), BredikhinKN@gmail.com, VarshavskyPR@mpei.ru Использование агентов, обладающих свойством мобильности, позволяет расширить границы применимости подобных систем. Системы мобильных агентов (СМА) помогают уменьшить сетевой трафик, снизить влияние латентности сети на производительность [Lange et al., 1999]. Мобильные интеллектуальные агенты могут динамически адаптироваться к меняющейся информационной среде, работают асинхронно и автономно, в случае обрыва связи они могут продолжать функционировать до восстановления соединения. Эти и многие другие достоинства СМА представляют их в качестве весьма эффективного решения при создании систем интеллектуального анализа распределенных данных. Цель данной работы состоит в попытке рассмотреть основные вопросы проектирования и реализации базовой архитектуры СМА для решения задач ИАД. На сегодняшний день, основное слабое место практически всех мультиагентных систем ИАД – централизованное управление и мониторинг деятельности агентов [Bingham et al., 2000]. В том случае, если сервер, на котором установлен центральный координирующий компонент системы, выйдет из строя, вся система окажется недееспособной. Первый выход из данной ситуации заключается в том, что оставшиеся без контроля агенты могут приостановить свою работу, ожидая, когда будет восстановлена связь с центральным сервером. С другой стороны, используя децентрализованное управление или систему из нескольких взаимозаменяемых координационных центров, можно повысить не только отказоустойчивость системы, но и ее масштабируемость. Основная идея предлагаемого нами в данной работе подхода заключается во введении системы иерархически связанных управляющих агентов (агентов-менеджеров), каждый из которых управляет либо группой мобильных агентов-аналитиков, либо группой из других управляющих агентов. Агенты, находящиеся на одном уровне иерархии могут передавать свои текущие задачи друг другу. В случае выхода из строя одного из агентов-менеджеров, его текущие задачи (вместе с координируемой группой агентов на следующем уровне иерархии) «подбирают» другие менеджеры. В состав системы входят агенты трех типов (рис.1): пользовательские агенты (User Agents), агенты-менеджеры (Manager Agents) и мобильные агенты (Mobile Agents). Мобильные агенты, в свою очередь, могут решать различные задачи, в зависимости от ролей, назначенных им менеджером. Среди возможных ролей мобильных агентов можно назвать следующие: Mobile Discovery Agent – агент-разведчик, используемый для разведки доступных вычислительных и сетевых ресурсов, сбора информации о типах и характеристиках источников данных, профилирования источников данных и возвращения соответствующих данных агентам-менеджерам; Mobile Meta-Learning – Agent агент мета-обучения, используемый для сбора мета-данных об источниках и формирования мета-моделей; Mobile Data Mining Agent – агент добычи данных, непосредственно осуществляющий сбор и анализ данных из источников с использованием полученных от агента- менеджера программных модулей. Рис.1. Иерархическая архитектура МАС на базе мобильных агентов Агенты-менеджеры отвечают за создание мобильных агентов с определенными ролями, их активацию для работы в сети, координацию и мониторинг их работы, а также за анализ трудоемкости и распределение доступных ресурсов. Создавая нового мобильного агента и присваивая ему определенную роль, менеджер снабжает его набором программных модулей, определяющих возможные действия агента. Агенты-менеджеры осуществляют пользовательского самого взаимодействие агента и верхнего с уровня иерархии пользователем, соответствующий через графический пользовательский интерфейс (GUI). Пользовательский агент ведет профилирование конкретных пользователей, управляет запросами от менеджеров к пользователю, преобразовывает информацию в вид, удобный для восприятия человеком и передает ее для вывода через GUI. Помимо этого, он осуществляет поддержку обратной связи, преобразовывая пользовательскую информацию в вид, удобный для восприятия агентами-менеджерами. Осуществляя диалог с пользователем, менеджеры уточняют постановку задачи и производят корректировку формируемых моделей ИАД в соответствии с предоставляемой пользователем информацией о полезности полученных знаний и моделей. Для того чтобы в полной мере оценить достоинства и недостатки предлагаемой архитектуры, необходимо провести практическую реализацию системы на базе данной архитектуры и протестировать ее на реальных задачах. Из-за большой трудоемкости поставленной задачи, на первом шаге реализации мы ограничились разработкой системы-прототипа на базе упрощенного варианта предлагаемой архитектуры (рис. 2). Реализация прототипа, поддерживающего некоторые из характеристик полной архитектуры, позволяет проанализировать их эффективность и сделать дополнительные выводы по дальнейшей доработке полной архитектуры. Рис.2. Упрощенный вариант предлагаемой архитектуры. Как видно из рис.2, упрощенный вариант включает в себя агентов двух типов: агента-менеджера (Manager Agent) и мобильных агентов-аналитиков (Mobile Data Mining Agent). Взаимодействие пользователя с агентами-менеджерами происходит напрямую через пользовательский интерфейс (GUI). При этом часть функций пользовательского агента берет на себя GUI. Получив от пользователя задачу, приложение создает нового агента-менеджера и передает ему соответствующую информацию. Агент-менеджер отвечает за создание мобильных агентов, передачу им подзадач анализа (вместе со списком сетевых адресов источников данных) и программных модулей для решения этих подзадач, а также сбор и объединение результатов полученных на отдельных источниках. Получив задание от агента-менеджера, мобильный агент перемещается на другой узел, последовательно обрабатывая все адреса из переданного ему списка. После того, как в этом списке не осталось узлов для обработки, агент отсылает полученные результаты менеджеру и «умирает». Объединив информацию, поступившую от агентов-аналитиков, менеджер передает результат приложению GUI. Базовая архитектура всех агентов основывается на классической модели «организм-среда», описанной в [Тарасов, 2002], и включает в себя компоненты, общие для всех типов агентов: блок Памяти, Процессор и блоки отправки и приема сообщений. В Памяти хранятся данные о внутреннем состоянии агента, данные о состоянии внешней среды и база продукционных правил, используемых при определении выполняемых агентом действий. Процессор агента содержит в себе информацию о подключенных программных модулях, определяющих множество доступных агенту действий. Реализованный на базе платформы .Net Framework 2.0 прототип был применен для решения задачи распределенной классификации с использованием деревьев решений [Вагин и др., 2004] и метода k ближайших соседей [Варшавский, 2006]. Было проведено тестирование работы системы на кластере МЭИ, проанализирована эффективность ее отдельных компонентов, а также удобство реализации и добавления в систему новых алгоритмов и методов решения задач ИАД. Планируется дальнейшая доработка архитектуры СМА и исследование методов и алгоритмов ИАД на предмет реализации в системах на базе данной архитектуры. Список литературы [Финн, 2004] Финн В.К. Об интеллектуальном анализе данных // Новости искусственного интеллекта, №3, 2004, с.3-19. [Lange et al., 1999] Lange D.B., Oshima M.С. Seven Good Reasons for Mobile Agents. // Communications of the ACM, 42(3), 1999, pp. 8889. [Bingham et al., 2000] Bingham A., Chan P., Lam D. Agent-Based Knowledge Discovery: Survey and Evaluation. // Intelligent Data Exploration and Analysis Laboratory, 2000. [Тарасов, 2002] Тарасов В.Б. От многоагентных систем к интеллектуальным организациям: философия, психология, информатика. // М.: Эдиториал УРСС, 2002. [Вагин и др., 2004] Вагин В.Н., Головина Е.Ю., Загорянская А.А., Фомина М.В. Достоверный и правдоподобный вывод в интеллектуальных системах // Под редакцией В.Н. Вагина, Д.А. Поспелова. – М.: ФИЗМАТЛИТ, 2004. – 704 с. [Варшавский, 2006] Варшавский П.Р. Реализация метода правдоподобных рассуждений на основе прецедентов для интеллектуальных систем поддержки принятия решений // 10-я национальная конференция по искусственному интеллекту с международным участием КИИ-2006: Труды конференции. В 3-х т., Т. 1. –М:Физматлит, 2006 г., – с. 303–311.