Преподавательская деятельность захватила меня сейчас с головою. Изо всех сил читаю курс по мультиагентным системам и веду лабораторные работы. Уже 5 лет так или иначе связан с агентами, из них 3 последних года читаю студентам курс по агентам в МГТУ им. Баумана... Определенно, это срок :)
Раз писать больше не о чем, напишу про эти самые лабораторные работы :) Возможно кто-нибудь найдет что-то полезное для себя.
Цель -- на практике познакомить студентов технического ВУЗа с технологией агентов.Идеальная ситуация (пока все увы не так) -- практически у каждого студента инивидуальное задание, которое выдается на первом занятии, чтобы был стимул слушать лекции и задавать вопросы. Все наработки должны быть сделаны не "на выброс", а чтобы их можно было переиспользовать. Методы ИИ даются в теории, но не используются в лабораторных намеренно, чтобы не испугать неофитов. :)
Агенты создаются на языке Java (Java SE 6) в среде разработки Eclipse для агентной платформы Jade.
В агентах нужно обязательно использовать:
- поведения -- в них реализуется практически вся функциональность агента;
- стандартные протоколы взаимодействия агентов FIPA;
- онтологии -- объектная структура для передачи данных в сообщении и работы с этими данными внутри агента.
Оформление
Приводятся требования к единообразному оформлению исходного кода (комментарии, именование и т.п.), файловой структуре проекта.
Сдача
В связи с тем, что сразу сделать как надо и в срок в разработке ПО не получается практически ни у кого, будут как минимум 2 итерации приема задания.
Доктор Франкенштейн
Чат-бот
Сделать агента чат-бота на основе AIML (наподобие A.L.I.C.E.). Агент может получать от другого агента строку с предложением и отправлять обратно строку с ответом. Реализовать простейшую базу знаний агента.
Монитор производительности Java-машины
Сделать агента, предоставляющего информацию о производительности ява-машины (используемая память). Использовать подписку на периодическое получение информации.
Агент-преследователь
Тестирующий агент перемещается случайным образом каждые 10 сек в новый контейнер. Интерфейсный агент периодически проверяет раз в 10 сек, находится ли он на одном компьютере с тестирующим агентом. Если нет, то перемещается на контейнер к тестирующему агенту.
Оба агента имеют GUI-окна, которые также перемещаются на другие машины. Чтобы можно было видеть визуально, что агенты переместились на новый контейнер.
Агент-бенчмарк
Сделать агентов, тестирующих производительность системы сообщений (замеряющих задержку сообщений и пр. – позже) для случаев как без использования онтологий, так и с использованием онтологий.
Новостной агент
Агент периодически получает новости об определенной компании по RSS с Yahoo! Finance. Затем он их посылает новости подписавшемуся на них тестовому агенту.
Агент-семантик
Агент-семантик получает от агента-тестера текст, который перенаправляет веб-сервису, добавляющему в него семантическую разметку. Затем агент-семантик отправляет полученные результаты обратно агенту-тестеру.
В качестве веб-сервиса использовать http://www.opencalais.com
Что Вы думаете по поводу заданий, их сложности, тематики, целей, средств? Любые предложения приветствуются.