Показаны сообщения с ярлыком студентам. Показать все сообщения
Показаны сообщения с ярлыком студентам. Показать все сообщения

понедельник, 21 февраля 2011 г.

На русском -- JADE Programming For Beginners

Несколько лет поколения студентов изучали агентную платформу Jade. И вот в недрах Интернета обнаружен неофициальный community перевод одного из руководств! А именно, JADE Programming For Beginners версии 3.6.

Возрадуемся же, братия! И да поможем друг другу с другими руководствами по JADE :) И да обновим же это руководство до версии 4.0.1! Ибо все в наших руках. И агенты, и Semantic Web.

вторник, 11 мая 2010 г.

Лабораторные по агентам. Next Level

Мы неустанно продолжаем совершенствовать учебный процесс в области агентов.

Раньше мы двигались больше на ощупь (Курс МИС, осень 2008).

Однако уже тогда соответствии с принципом открытости учебного процесса мы выложили задания и исходный код выполненных лабораторных работ по агентам в открытый доступ. Каждый архив -- самодостаточный проект Eclipse. Скачиваете, запускаете, наслаждаетесь :) (т.е. download-run-havefun).

Открытость, как было установлено в результате бесчеловечных экспериментов, сильно повышает качество конечного результата работы и преподавателя, и студента.

И, также, мы надеемся, хоть как-то стимулирует интерес русскоязычной аудитории к агентам.

В же этом семестре лабораторные по агентам как никогда соответствуют открытой нашим коллективом концепции мотивации студентов "fun & value".

Студентам на выбор предложено две темы: "Животные" или "Электронная аудитория". Подробнее см. Курс ПЗИС, весна 2010

Те из студентов хочет больше фана, выбирают "игровые технологии" тему "Животные".
  • Животные – изучение мозгов агента на основе архитектуры BDI и языка AgentSpeak. Создаем свой вид животных и смотрим, как они борются за еду.

А кому более интересен полезный вклад в общее дело -- тему "Электронная аудитория".
  • Электронная аудитория – изучение коммуникационной инфраструктуры и модели исполнения агентов на основе платформы Jade. Упрощаем обмен информацией и контроль за ней. Помогаем студентам и преподавателям взаимодействовать во время обучения.

В этом семестре мы хотим продолжить публикацию исходного кода лабораторных работ по агентам. И на подходе уже первая ласточка -- Агент-распространитель (FTP).

А как Вы бы хотели изучать агентов? Или может быть, уже изучали агентов? Вам как студентам были бы интересны подобные задания? Что можно было бы улучшить?

Критика, замечания и предложения приветствуются. Нам важно знать Ваше мнение.

понедельник, 27 апреля 2009 г.

Болезни российских публикаций по агентам

Порою уважаемые коллеги дают вашему покорному слуге почитать типичные дипломы/диссертации/статьи по агентам российских авторов... Сам по себе я обычно этого не делаю. Собственное душевное здоровье как-то дороже, а более высокий средний уровень зарубежных публикаций – привычнее.

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

Определенец
Типичный симптом данного заболевания – подмена существующего понятия "агент" своим собственным определением. Обычно в тексте это выглядит так: «понятие агента до сих пор четко не определено, поэтому я [Вася Пупкин из деревни Гадюкино] придумал свое собственное определение [а все эти ваши Хоары, Норвиги, Вулдриджи тут и рядом не стояли]».

Агентом часто считают какой-либо из решателей задач: классический планировщик, машину вывода Prolog, простейший алгоритм поиска и т.д.

Тут моя въедливая и склочная вторая субличность обычно ехидно замечает, что, мол, раз он, автор, считает, что:


Г-жа Новодворская, 24.09.04 (фотожаба?).


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

Тем более что определения есть. Все-таки, прошло более 10-ти лет достаточно интенсивных исследований в области агентов (а по некоторым источникам -- даже 20-ти лет)…

Для профилактики и лечения таких расстройств Дао рекомендует интенсивный курс возвращения к основам. Рассел&Норвиг и другие системообразующие труды по агентам в условиях строжайшей сенсорной депривации быстро вернут человека в норму.
Загляните хотя бы в Википедию. Право же стыдно-с, господа!



Колумбус
Данное расстройство характеризуется тем, что автор на протяжении всего своего труда с пеной у рта объясняет, как здорово применять агентов в какой-либо конкретной области. Автор ударяется в махровую идеологию, вместо того, чтобы предложить конкретное решение, теорию, модель. Мы сразу же можем заключить, что основными идеями он проникся до мозга и костей и теперь полез открывать Америки и захватывать неосвоенные богатства.

Скромнее надо быть, голубчики мои, скромнее! Тут надо понимать, что западные коллеги все легкодоступное золотишко с поверхности уже подсобрали. За столько-то лет... Вглубь нужно копать, дорогие мои, вглубь.

Г-н Х. Колумб с друзьями несут свет истины голым туземцам-американцам.


10 лет, повторяю, 10 лет зарубежные товарищи тратили деньги:
  • простых налогоплательщиков;
  • телекомов;
  • военных;
  • авиаторов и спецов по космосу;
  • и много кого еще…
чтобы удовлетворить свои научные и прочие амбиции в области агентов. А тут, значит, вы из кустов выпрыгиваете с шашкой наголо и в тельняшке…


Матросы революции. Кадр из х/ф "Адмиралъ".


В результате, мы, как правило, получаем нулевую научную ценность такой весьма поверхностной работы. Конечно, по мировым меркам.

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

Посему, пострадавшему рекомендуется ознакомиться со свежей зарубежной периодикой по применению агентов в его области. В качестве вакцины.
  • Google Scholar самый крупный поисковик отдельных научных статей.
  • Плюс профильные журналы ведущих издательств: ACM, IEEE, Springer, Kluwer и т.д. по списку доступа вашего ВУЗа.
  • А также материалы профильных конференций.

среда, 15 октября 2008 г.

А Вы сделали лабы по агентам?

Преподавательская деятельность захватила меня сейчас с головою. Изо всех сил читаю курс по мультиагентным системам и веду лабораторные работы. Уже 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



Что Вы думаете по поводу заданий, их сложности, тематики, целей, средств? Любые предложения приветствуются.

пятница, 21 декабря 2007 г.

Кому и зачем нужны агенты?

Попытаемся окончательно и бесповоротно разобраться в том, зачем агенты и мультиагентные системы нужны современному человечеству.

Чем дальше в лес, тем толще партизаны.


Для разных групп людей агенты означают совершенно разные вещи.

1. Для специалистов по ИИ и прочих господ ученых агенты -- это исследовательский инструмент. Исторически сложилось, что агенты в основном применяются в трех областях.

Теоретический инструмент распределенного решения задач. Разделение одной большой задачи на отдельные мелкие подзадачи, решение подзадач, интеграция результатов.

Теоретический инструмент построения социального интеллекта: интеллект, как продукт взаимодействия отдельных элементов социума, emergent intelligence (возникающий интеллект). Сложное поведение системы, появляющееся из суммы простых поведений примитивных существ - emergent behavior (возникающее сложное поведение).

Теоретический инструмент интеграции разрозненных методов ИИ в одном существе (в роботе, в программном боте). Например, даже в простой задаче по созданию "самодвижущегося автомобиля" нужно решить целый ряд проблем и связать вместе несколько отдельных методов ИИ. Знатоки английского могут почерпнуть немало любопытного о создании мозгов автомобиля, принимавшего участие в DARPA Grand Challenge 2005.




Winning The DARPA Grand Challenge 2005. Руководитель команды, победившей в конкурсе, рассказывает о технических деталях.


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

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




Архитектура реальной корпоративной системы. Rational Software Developer Conference. IBM, 2006.



Сейчас наиболее крупными архитектурными единицами ПО можно считать компоненты (модули OSGi, сборки .NET, компоненты COM) и сервисы (и веб-сервисы в частности). Компоненты (или сервисы) -- это по-сути "черные ящики" с четко описанными внешними интерфейсами для конфигурирования, расширения функциональности, для работы с ними в нормальном режиме.

Но в любом случае, разделение системы на компоненты -- это деление по функциональности: тот сервис реализует полнотекстовый поиск, а этот -- частотный анализ текста...

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

С точки зрения выразительных средств, теория агентов предлагает более "высокоуровневые" понятия для описания программной системы, такие как:

  • роли агентов;
  • социальные отношения;
  • знания, планы, цели;
  • интеллект, адаптация, обучение;
  • протоколы общения, ведения переговоров и торговли.

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



Серебряная пуля.



Хотя нужно с прискорбием отметить, что в области инструментария (в большей степени) и методологий (в меньшей) наблюдается некоторый застой после принятия стандарта UML2 и принятия организации FIPA, занимающейся разработкой стандартов в области агентов, в состав IEEE.

3. Для конечного пользователя и отделов маркетинга технология станет все больше и больше похожа на магию ;)

Это не я такой умный, это Артур Кларк.


«Любая достаточно продвинутая технология неотличима от магии». Clarke, A. C. Profiles Of The Future: An Inquiry into the Limits of the Possible. : Phoenix, 2000.




Гарри Поттер -- великий технолог современности.



Появятся системы, все более и более ориентированные на человека, способные:

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


Но все это только первый шаг… шаг на пути к Сингулярности...



вторник, 16 октября 2007 г.

Лекция 5. Стандарты FIPA. Агентная платформа JADE

Подготовлена лекция №5 по курсу "Мультиагентные интеллектуальные системы".

Часть 1. Стандарты FIPA (презентация FIPA в PDF на английском).
Часть 2. Агентная платформа JADE (презентация PowerPoint на русском).

Затеянный на прошлой лекции обзор основных направлений ИИ все еще не готов ;)

вторник, 2 октября 2007 г.

Лекция 3. Агенты и их виды

Подготовлена лекция №3 "Агенты и их виды" по курсу "Мультиагентные интеллектуальные системы". Формат лекции все тот же: презентация PowerPoint + аудио с пояснениями к тем слайдам, которые этого требуют. Все в архиве занимает около 25 Мб. Взять можно на кафедре.

Комментарии по форме и содержанию все также приветствуются.

Краткое содержание лекции:
1 Агент и его свойства
2 Агентные среды и их свойства
3 Теория одинокого агента
4 Виды агентов (архитектуры агентов)

вторник, 25 сентября 2007 г.

Лекции 1 и 2 по курсу "Мультиагентные интеллектуальные системы"

Подготовлены лекции 1 и 2 по курсу "Мультиагентные интеллектуальные системы". Формат лекции: презентация PowerPoint + аудио с пояснениями к тем слайдам, которые этого требуют. Все в архиве занимает около 25 Мб. Взять можно на кафедре.

Комментарии по форме и содержанию приветствуются.


Краткое содержание лекции №1 "О курсе. Бизнес. Наука и техника":
1 О курсе
2 Бизнес
2.1 Тенденции массового рынка
2.2 Проблемные области
3 Наука и техника
3.1 Агенты и МАС, что это такое и зачем ОНО нужно?
3.2 Что является и что НЕ является агентом?
3.3 Ключевые проблемы и области научно-технического поиска

Краткое содержание лекции №2 "Сообщество":
1 Книги
1.1 Теоретические основы агентнов
1.2 Практика создания агентных систем
2 Журналы
3 Стандарты
4 Конференции, лаборатории, компании
5 Ресурсы в Internet