В последнее время ваш покорный слуга заинтересовался достижениями в области разработки ПО и применением в ней агентов. Что-то вроде создания искусственного агента-программиста, который будет пахать день и ночь без больничных и перерывов на обед.
Почему? Все просто: кризис, оптимизация и автоматизация процессов разработки ПО… ну вы меня поняли :)
Возможно, кому-то будут полезны ссылки на ведущие научные журналы в области разработки ПО. Естественно, все на английском. Список журналов экспортирован из delicious.
воскресенье, 23 ноября 2008 г.
воскресенье, 26 октября 2008 г.
Научные журналы по агентам
За все время интереса к агентам (это около 5 лет) у меня скопилась коллекция ссылок на журналы, которые тем или иным образом связаны с агентами. Решил привести коллекцию в порядок и поделиться с вами.
Хочу сразу предостеречь -- это серьезные журналы, которые публикуют статьи серьезных дядек! Это значит, что подобная информация может нанести непоправимый ущерб юным пытливым умам и навсегда отвратить их от агентов :)
В общем, я предполагаю, что это информация для тех, кто как минимум прочитал от корки до корки труд Рассела и Норвига (см. Учебники по агентам).

Что ж, после того, как мы распугали слабаков, пора приступить к делу.
Наиболее известным является журнал издательства Springer Autonomous Agents and Multi-Agent Systems (AAMAS).
Ниже я поместил полный список журналов, экспортированный из delicious. Наслаждайтесь!
Хочу сразу предостеречь -- это серьезные журналы, которые публикуют статьи серьезных дядек! Это значит, что подобная информация может нанести непоправимый ущерб юным пытливым умам и навсегда отвратить их от агентов :)
В общем, я предполагаю, что это информация для тех, кто как минимум прочитал от корки до корки труд Рассела и Норвига (см. Учебники по агентам).

Что ж, после того, как мы распугали слабаков, пора приступить к делу.
Наиболее известным является журнал издательства Springer Autonomous Agents and Multi-Agent Systems (AAMAS).
Ниже я поместил полный список журналов, экспортированный из delicious. Наслаждайтесь!
среда, 15 октября 2008 г.
А Вы сделали лабы по агентам?
Преподавательская деятельность захватила меня сейчас с головою. Изо всех сил читаю курс по мультиагентным системам и веду лабораторные работы. Уже 5 лет так или иначе связан с агентами, из них 3 последних года читаю студентам курс по агентам в МГТУ им. Баумана... Определенно, это срок :)
Раз писать больше не о чем, напишу про эти самые лабораторные работы :) Возможно кто-нибудь найдет что-то полезное для себя.
Цель -- на практике познакомить студентов технического ВУЗа с технологией агентов.

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

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

Что Вы думаете по поводу заданий, их сложности, тематики, целей, средств? Любые предложения приветствуются.
Раз писать больше не о чем, напишу про эти самые лабораторные работы :) Возможно кто-нибудь найдет что-то полезное для себя.
Цель -- на практике познакомить студентов технического ВУЗа с технологией агентов.

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

Агенты создаются на языке 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

Что Вы думаете по поводу заданий, их сложности, тематики, целей, средств? Любые предложения приветствуются.
пятница, 26 сентября 2008 г.
Возвращение к жизни
Ну что ж, почти годовой перерыв в жизни блога закончился. За это время многое произошло в моей жизни. Что из этого может быть интересно читателям? Наверное, самое главное: весной этого года я ушел из компании, занимающейся разработкой онлайновых многопользовательских ролевых игр (MMORPG), чтобы посвятить остаток своей жизни агентам.

Сейчас я работаю на кафедре МГТУ им. Н.Э.Баумана. Обучаю студентов разработке программного обеспечения и созданию мультиагентных систем.
Что же касается моих научных интересов, то они остались практически прежними. В данный момент занимаюсь двумя проектами:
Возможно, все же кто-то работает в данных областях. Буду рад, если вы свяжитесь со мной.

Сейчас я работаю на кафедре МГТУ им. Н.Э.Баумана. Обучаю студентов разработке программного обеспечения и созданию мультиагентных систем.
Что же касается моих научных интересов, то они остались практически прежними. В данный момент занимаюсь двумя проектами:
- Применение агентов для анализа и моделирования финансовых рынков. Понятно без слов. Агенство Gartner предсказало, что к 2015 году человечество научится предсказывать поведение финансовых рынков. Что ж, пора помочь мировому сообществу решить эту задачу :)
- Агенты в 3D виртуальных мирах наподобие SecondLife. Задача заключается в том, чтобы создать агентов, способных действовать в таком мире, манипулировать предметами, общаться с другими агентами и обучаться. Область чрезвычайно перспективная с точки зрения машинного обучения и по прогнозам видных ученых способна ускорить создание сильного ИИ. Это ведь практически робототехника, только без возни с железом (экономия времени и сил), но с огромной человеческой аудиторией, которая действует в таких мирах!
Возможно, все же кто-то работает в данных областях. Буду рад, если вы свяжитесь со мной.
вторник, 12 февраля 2008 г.
Перерыв продолжается...
Подписаться на:
Сообщения (Atom)