УДК 00489+0044166 С.И. Родзин, Л.С. Родзина
ВАК 05.25.05 РИНЦ 14.35.09
Многоагентные приложения для среды e-learning*
В статье представлены результаты исследования, посвященного проектированию инструментальных средств поддержки многоагентных приложений для среды e-learning. Разработан алгоритм ведения агентами переговоров. Анализируются особенности программной реализации агентов на муль-тиагентной платформе JADE. Представлен протокол взаимодействия агентов в среде e-learning. Приводятся результаты экспериментов, намечены направления дальнейших исследований: персонали-зация и адаптация электронных образовательных контентов к запросам конкретного пользователя, интеллектуализация многоагентной системы.
Ключевые слова: E-learning, многоагентная система, платформа JADE, стандарт FIPA.
MULTIAGENT APPLICATIONS FOR THE E-LEARNING ENVIRONMENT
The article presents the results of a study on the design of tools to support multi-agent applications for the e-learning. The algorithm of agents conducting negotiations is developed. We analyze the characteristics of a software implementation of the multi- platform agents on JADE. We present minutes of the interaction of agents in the environment e-learning. The results of the experiments outlined areas for further research are the following: the personalization and adaptation of e-learning content to the needs of a particular user, and multi-agent system intellectualization.
Keywords: e-learning, multi-agent system, platform JADE, standard FIPA.
Введение
Сфера e-learmng считается в образовании одной из самых перспективных. По сведениям ЮНЕСКО, 70% знаний приобретаются сейчас вне классических форм обучения. E-learning является и объектом, и инструментом модернизации современных учебных программ, поскольку представляет неотъемлемую часть учебного процесса в любой форме обучения [1]. E-learning позволяет преобразовывать образовательный контент, повышать мобильность и креативность учебных планов, открывает возможности проектирования и конструирования разнообразных инструментов формирования профессиональных компетенций. Ведутся активные исследования по поиску новых высокоэффективных образовательных технологий. К числу наиболее перспективных технологий и систем относятся:
• технология интеллектуальных программных агентов и многоагентных систем, которая позволяет распознавать индивидуальные особенности обучаемого и возможные возникающие проблемы при усвоении учебного материала и на основе этого автоматически строить модель обучаемого;
• интеллектуальные образовательные среды, построенные с использованием технологий и принципов интеллектуальных агентов, сетей знаний, распознавания и генерирования речи для построения гибких интеллектуальных интерфейсов;
• среды интерактивного взаимодействия, построенные на основе интерактивных распределенных игр и распределенных виртуальных миров, состоящих из объектов многоразового использования (software reuse технологии);
• среды интерактивного преподавания и обучения, построенные на основе web-lecturing технологии
и активного использования стрим-минг видео- и аудиофрагментов в реальном времени;
• технология порталов, позволяющая адаптировать и персонализировать пользователя по запросам, а также автоматически своевременно обновлять расположенную в сети Интернет информацию;
• высокоэффективные языки программирования XML и SMIL, на базе которых строится большинство систем и приложений в сети Интернет;
• технология семантического Web, целью которой является объединение существующих разрозненных и отдельно функционирующих Web-^островов» в единую глобальную информационную систему.
В частности, активные исследования ведутся по разработке и проектированию разнообразных компьютерных многоагентных систем в образовании, включая системы компьютерной поддержки обучения,
* Исследование выполнено за счет гранта Российского научного фонда (проект №14-11-00242) в Южном федеральном университете
Сергей Иванович Родзин, к.т.н., профессор Тел.: (8634) 362-055 Эл. почта: [email protected] Южный федеральный университет www.sfedu.ru
Sergey I. Rodzin,
Candidat of Engineering Science, Professor Tel.: (8634) 362-055 E-mail: [email protected] Southern federal university www.sfedu.ru
Лада Сергеевна Родзина
аспирант Тел.: (8634) 383-451 Эл. почта: [email protected] Южный федеральный университет ■www.sfedu.ru
Lada S. Rodzina,
postgraduate student Tel.: (8634) 383-451 E-mail: [email protected] Southern federal university www.sfedu.ru
интеллектуальные системы обучения, интерактивные среды обучения. Примерами могут служить такие проекты, как Open Knowledge Initiative, Engineering World, проект INCAMPUS Южного федерального университета и др. [2].
Это позволяет говорить об актуальности исследований в области разработки инструментальных средств поддержки многоагентных приложений для среды e-learning. Однако для эффективной организации e-learning на основе многоагентных систем необходимо решить разнообразные вопросы, связанные с выполнением функций интеллектуальными агентами, организацией их взаимодействия, переговоров [3]. Статья посвящена проектированию инструментальных средств поддержки многоагентных приложений, а также разработке протоколов взаимодействия и организации переговоров агентов в среде e-learning.
1. Постановка задачи
Согласно определению международной организации FIPA (Foundation for Intelligent Physical Agents) агент «обладает способностью предоставлять в рамках унифицированной и интегрированной исполнительной модели один или более сервисов, которые могут включать доступ к внешнему программному обеспечению, пользователям и коммуникационным возможностям» [4].
Для успешного взаимодействия агентов необходимо их синтаксическое (по языку) и семантическое (по используемым в предметной области понятиям) согласование. Проблема здесь состоит в различиях между внешним и внутренним представлениями знаний. Возможное решение проблемы заключается в использовании онтологии как части языка коммуникации агентов [1, 5, 6].
При проектировании инструментальных средств поддержки многоагентных приложений возникают различные вопросы [7]:
• как агенты взаимодействуют между собой? Какие языки и протоколы для этого использовать? Что и когда передавать?;
• как гарантировать, что агенты действуют когерентно в принятии решений или мер?;
• как агенты представляют и рассуждают относительно действий, планов и знаний других агентов, чтобы выполнять координацию с ними?
Постановка решаемой исследовательской проблемы состоит в следующем. В условиях наличия нескольких источников знаний в информационно-обучающей системе, многокомпонентности и сложной структуры учебно-педагогических знаний реализовать программных агентов, оказывающих помощь в освоении учебного курса. Из проблемы вытекает целый ряд частных задач:
• используя модель FIPA-сов-местимой платформы, разработать архитектуру многоагентной системы для среды e-learning на JADE;
• разработать алгоритм ведения агентами переговоров в среде e-learning;
• разработать протокол взаимодействия агентов с целью оптимизации процесса e-learning.
Решению указанных задач посвящены разделы, представленные ниже.
2. Алгоритм ведения агентами переговоров
Наиболее популярной из многоагентных платформ является JADE [2]. Основными свойствами платформы JADE являются поддержка стандартов FIPA; существование большого количества готовых плагинов; интеграция с CORBA, XML; наличие подробной документации и лицензии; наличие связи с коммерческими структурами и применение платформы во многих университетах мира; наличие инструментария разработки агентов (отладка обработчиков поведения, средства тестирования, управление платформой и агентами); использование в качестве языка описания агентов Java, возможность использования сторонних плагин, поддержка онтологий.
Рассмотрим алгоритм ведения переговоров в образовательной сети, которая включает несколько агентов: студент-агент (СА), поисковый бот (ПБ), педагогический агент (ПА), агент антрепренер (АА), зарегистрированных на платформе JADE.
Исходные данные поступают от студента через GUI к СА. Запрос переходит к агенту ПБ. Этот запрос
проверяется на предмет соответствия данной тематике (проверка на принадлежность используемых предикатов и терминов заданной онтологии). В случае успешного ответа запрос передается агенту АА (в противном случае студенту выдается соответствующее сообщение об ошибке и требуются дальнейшие действия студента -либо переформулирование запроса, либо отказ вообще от использования данного сервиса). Агент АА, получив запрос от агента ПБ, в свою очередь, обращается к «сервису желтых страниц», который обеспечивается агентом среды JADE Directory Facilitator (DF). Подразумевается, что все существующие педагогические агенты ПА заранее зарегистрированы агентом DF. Агенту DF передается запрос на выдачу списка всех педагогических агентов, предоставляющих заданные дистанционные курсы с именем желаемого курса (подразумевается, что решен вопрос о синонимичности курсов, находящийся в компетенции онтологического агента).
Агент АА получает список, состоящий из N педагогических агентов ПА, готовых предоставить заданный дистанционный курс. Затем агент АА передает этот список агенту ПБ, который начинает вести переговоры с каждым педагогическим агентом из списка. В первую очередь агент ПБ задает уточняющий вопрос о наличии заданного курса у педагогического агента ПА, так как данные предоставленные агентом АА, который, в свою очередь, воспользовался «сервисом желтых страниц» могли быть устаревшими. В случае отсутствия необходимого курса у ПА агент ПБ переходит к переговорам со следующим ПА.
В случае наличия необходимого курса агент ПБ обращается с запросом к ПА для получения полного списка разделов курса. Когда список получен, агент ПБ производит сравнение списка разделов курса с заданным студентом списком разделов, и в случае совпадения разделов он запрашивает у ПА информацию о длительности и стоимости совпавшего раздела, фиксируя в своей базе данных полученную информацию. Таким образом, происходят диалоги со всеми ПА из списка. По завершении спис-
ка ПБ агент переходит к принятию решения: он подбирает такую последовательность необходимых разделов, которая бы максимально соответствовала запросу студента, включая стоимостные и временные ограничения.
3. Программная реализация агентов в среде JADE
При программной реализации поведения агента используется класс JADE, его реализующий, а само поведение задается программистом.
Рассмотрим фрагмент поведения агента ПБ на языке Java с использованием классов JADE. Агент SA выполняет основные функции агента СА и получает от него по GUI необходимую информацию. При получении определенных шаблонов сообщений агент переходит из одного состояния в другое. Если сообщение не приходит, то агент остается в прежнем состоянии.
На языке Java это реализовано следующим образом:
class myBehaviour extends SimpleBehaviour {
private int state = 1; private boolean finished = false;
ACLMessage msgl, msg2; public myBehaviour(Agent a) { super(a); }
public void action() { switch (state) { case 1: {
if (opl()) state=2; else state=1;
} break; case 2: {
if (op2()) state=3; else state=2;
} break; case 3: {
op3(); finished = true; } break;
}
}
// Receiving source information from StudentAgent private boolean opl() { MessageTemplate ml = MessageTemplate. MatchPerformative(ACLMessage. INFORM);
MessageTemplate m2 = MessageTemplate. MatchLanguage("Plain-Text");
MessageTemplate m3 = MessageTemplate.and(m1,m2); msgl = receive(m3); if (msgl != null) { return true;
}
else {
block(); return false;
}
}
// Sending source information to Matchmaker private boolean op2() { AID r = new AID(); r.setName("Matchmaker"); msg2 = new ACLMessage(ACLMessage.QUERY_ REF);
msg2.setSender(getAID() ) ; msg2.addReceiver(r); msg2.setContent("((all ?x (and (course-deliver ?x) (and (hold-of ?x ?y) (and (distance-course ?y) (has-title ?y "+msg1. getContent()+")))) ))");
msg2.setLanguage("FIPA-
SL") ;
msg2.setOntology("Distance-Learning");
msg2.setReplyWith("q1"); send(msg2) ; return true;
}
}
В частности, вначале SA ожидает информацию о введенном запросе от студента, тип сообщения в поле <performative> должен быть «inform» и язык сообщения, указанный в поле <language>, должен быть «Plain-Text». Объявляется класс агента SA, который является производным класса Agent среды JADE. Затем задается поведение агента при реализации класса myBehaviour, являющегося производным классом от класса SimpleBehaviour.
Значение состояния содержится в переменной state, которое инициализируется значением 1. Затем при получении сообщения Inform на языке Plain-Text от агента Student Agent состояние разговора меняется на state=2, в противном случае, если сообщение не пришло, то агент SearchbotAgent остается в прежнем состоянии state=1, и т.д. Таким образом, разговор агентов производится путем передачи друг другу определенных сообщений на языке FIPA ACL и сменой состояний, при получении конкретных сообщений.
Графический интерфейс программы позволяет задавать следующие поля: название курса; названия разделов курса; ограничения на цену курса; ограничения на длительность курса. При этом используются возможности, предоставляемые платформой JADE для наглядного представления происходящих в среде переговоров (используется служебный агент Sniffer).
В программный комплекс JADE могут быть включены дополнительные модули, например для связи с внешними компонентами, библиотеки агентов и внешних компонентов. Среда разработки многоагентных систем может быть дополнена специализированными модулями их проектирования, например системой контроля версий, редактором он-тологий и др.
К тому же программные агенты могут выполнять множество рутинных задач по обработке информации без помощи человека. Основной трафик порождается агентами, а конечный пользователь даёт задания агентам и выполняет общее управление такой деятельностью. Возможна миграция агентов не только между постоянно присоединенными к сети узлами, но и между мобильными платформами, которые подключаются к сети на некоторые промежутки времени. Клиент присоединяется к постоянной сети на короткий промежуток времени с мобильной платформы, отправляет агента для исполнения задачи и отсоединяется; потом клиент присоединяется к другому узлу сети и забирает результаты работы агента. Другой вариант - сервер, на который должен переместиться агент, присоединяется до сети, а потом отсоединяется. В этом случае агент должен уметь переместиться на такой сервер, который временно присоединяется, и вернуться в постоянную сеть.
4. Протокол взаимодействия агентов в среде e-learning
Пусть некоторый пользователь желает через среду e-learning прослушать и обучиться отдельным разделам курса «Многоагентные системы», например «Языки общения агентов», «Онтологии», «Аген-тные приложения». Известны ограничения по времени и по стоимости курса. Задача состоит в том, чтобы осуществить сборку курса, исходя из критерия минимума цены и длительности. Причем если требуемая комбинация не будет найдена, то студенту должна выдаваться информация по курсу, состоящему из разделов, максимально близких к заданным, и студенту предоставляется возможность самому решить,
готов ли он воспользоваться найденным курсом. Кроме того, должна быть возможность проведения переговоров о снижении цены.
Тогда протокол их взаимодействия в образовательной сети представляет следующую последовательность:
• агент СА принимает запрос от пользователя, генерирует агента ПБ и передает ему запрос пользователя;
• агент ПБ проверяет данные запроса на соответствие данным онтологии;
• в случае успеха агент ПБ связывается с агентом АА, владеющим информацией по педагогическим агентам;
• в ответ АА передает агенту ПБ список педагогических агентов ПА;
• агент ПБ связывается с педагогическими агентами и запрашивает у них список имеющихся курсов;
• каждый агент ПА присылает агенту ПБ список имеющихся разделов курсов;
• агент ПБ связывается с педагогическими агентами и запрашивает у них список имеющихся разделов имеющихся курсов;
• каждый агент ПА присылает агенту ПБ список разделов и их названия;
• агент ПБ посылается запрос списка пар длительностей и стоимости совпавших разделов;
• агенты ПА присылают агенту ПБ списки пар длительностей и стоимости заданных разделов;
• агент ПБ принимает решение о том, какие конкретно разделы предложить пользователю, т.е. выбрать из имеющихся модулей курса те, что наиболее подходят в связи с ограничением пользователя по стоимости и длительности курса.
Ниже, в качестве примера, представлен диалог между агентами на языке FIPA-ACL. Это запрос списка уникальных идентификаторов педагогических агентов, которые предоставляют учебные курсы и владеют дистанционными курсами с названием «Multiagent Systems»:
(query-ref
:sender (agent-identifier :name SearchbotAgent)
:receiver (set (agent-identifier :name Matchmaker)) :content ((all ?x
(and (course-deliver ?x) (and (hold-of ?x ?y)
(and (distance-course ?y) (has-title ?y "Multiagent Systems")))))) : language FIPA-SL :ontology Distance-Learning :reply-with q1)
а также выдача списка курсов, соответствующих запросу (в данном случае найдено три курса):
(inform
:sender (agent-identifier :name Matchmaker)
:receiver (set (agent-identifier :name SearchbotAgent)) : content (( = (all ?x
(and (course-deliver ?x) (and (hold-of ?x ?y) (and (distance-course ?y) (has-title ?y "Multiagent Systems")))))
(set AUID-1 AUID-2 AUID-3))) : language FIPA-SL :ontology Distance-Learning :in-reply-to q1)
Заключение
Один из наиболее важных выводов из проведенных исследований, программных разработок и экспериментов заключается в том, что технология многоагентных систем является одним из самых перспективных средств для построения агентов, способных играть роль виртуальных преподавателей, виртуальных студентов или слушателей, виртуальных тьюторов или кураторов, помогающих студентам в обучении.
Предлагаемые протоколы взаимодействия агентов были апробированы в демоверсии многоагентной системы и продемонстрировали высокую надежность и эффективность, правильность предложенных архитектурных и программных решений, хорошее взаимодействие с существующим программным обеспечением, возможность расширения функциональности за счет добавления новых агентов.
Демонстрационная версия мно-гоагентной системы выполняет поиск заданных учебных курсов и их отдельных модулей, удовлетворяющих по своим параметрам запросу пользователя. В зависимости от результатов поиска выводится либо список подходящих курсов вместе с идентификаторами предоставляющих их агентов, либо сообщения об отсутствии таковых в принципе или о причине несоответствия найденных.
Агенты общаются между собой. Дорабатывается и расширяется
платформа агентов за счет следующего множества агентов:
• администратора для управления жизненным циклом агентов, расположенных на платформе;
• менеджера, отвечающего за регистрацию сервисов (ролей) агентов приложений;
• коммуникатора, который обеспечит связь между агентами;
• раппера для преобразования форматов сообщений между агентами и остальным программным обеспечением (базами данных, пакетами прикладных программ и т.д.);
• администратора онтологий, в функции которого входит обеспечение связи между серверами он-лайн-курсов, администрирование и управление курсами; распределение ролей (студент, преподаватель, администратор курса и т.п.);
• персонального ассистента, представляющего собой особый класс интеллектуальных агентов, функционирующих полуавтономно от пользователя и от его имени, представляя его интересы или представляя услуги от имени пользователя другим ассистентам;
• модератора группы, который сможет обеспечить поддержку кооперативного решения проблемы; помочь тьюторам в координации действий членов группы; а также предложить темы для обсуждения, выбирая их из базы знаний;
координирует фазы обсуждения проблем (например, управляет процедурами предоставления слова, организации голосования и т.п.); распределить привилегии при принятии предложений; предложить возможные общие решения. Этот же агент, помогая студентам, координирует сообщения, переключает и активизирует панель пользователя, предлагает частные решения пользователю;
• новостного агента, обеспечивающего поддержку системы новостей и асинхронный обмен сообщениями между преподавателем и студентами, включая обеспечение связи между пользователями, зарегистрированными на различных серверах; запись всех сообщений, относящихся к данному конкретному пользователю, в его «записную книжку», реализованную в виде отдельного приложения на компьютере клиента;
• чат-агента, обеспечивающего поддержку структурированного и синхронного обсуждения пользователями, зарегистрированными на различных серверах.
Основными направлениями дальнейших исследований и разработок инструментальных средств поддержки многоагентных приложений для среды e-learning являются:
• дальнейшая интеллектуализация многоагентной системы;
• персонализация и адаптация электронных образовательных контентов к запросам конкретного пользователя;
• соответствие разрабатываемым стандартам по представлению учебных материалов в сети Интернет;
• ориентирование на новую парадигму образования, в центре которой стоит обучаемый и глобальные образовательные ресурсы, а не преподаватель и локальные ресурсы;
• новые технологии преподавания и обучения, основанные на возможностях сети Интернет.
Создание эффективно работающих реальных приложений требует еще достаточно больших усилий в области методов организации кооперативного решения задач агентами многоагентной системы, методов организации переговоров при разрешении конфликтов и создания соответствующих протоколов [5, 6]. В этой связи направлениями дальнейших исследований и разработок для поддержки многоагентных приложений для среды e-learning являются персонализация и адаптация учебного материала к запросам конкретного пользователя, что соответствует новой парадигме образования, в центре которой стоит обучаемый и глобальные образовательные ресурсы, а не преподаватель и локальные ресурсы.
Литература
1. Курейчик В.В., Родзин С.И., Родзина Л.С. Мобильное обучение: контекстная адаптация и сценарный подход // Открытое образование. - 2013. - № 4 (99). - С. 75-82.
2. Родзина Л.С. Прикладные многоагентные системы. Программирование на платформе JADE. - Saarbrucken, Germany: LAP LAMBERT Academic Publishing GmbH&Co, 2011. - 174 с.
3. Тарасов В.Б. От многоагентных систем к интеллектуальным организациям: философия, психология, информатика. - М.: Эдиториал УРСС, 2002. - 352с.
4. FIPA. ACL Message Structure Specification [Electronic resource]. - URL: http://www.fipa.org/specs/fipa00061/
5. Родзин С.И., Родзина Л.С. Мобильные обучающие системы и онтологии // Онтология проектирования. -2013. - № 3(9). - С. 70-82.
6. Кравченко Ю.А. Синтез разнородных знаний на основе онтологий // Известия ЮФУ Технические науки. -2012. - № 11 (136). - С. 216-221.
7. Городецкий В.И., Карсаев О.В., Самойлов В.В., Серебряков С.В. Инструментальные средства для открытых сетей агентов // Известия РАН. Теория и системы управления. - 2008. - № 3. - C. 106-124.