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

Учебники по агентам

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

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

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

Под учебниками я понимаю систематизирующие труды, объясняющие теоретические основы агентов и агентных систем. В таких книгах обычно дается общая картина какой-либо области, а затем рассматриваются детали.

Для каждой книги приведены ссылки на интернет-магазины. Для вашего удобства. И материального поддержания автора ;)

Для начинающих

Wooldridge M.J. An Introduction to Multiagent Systems. Wiley. 1996 (2002)
Сайт книги http://www.csc.liv.ac.uk/~mjw/pubs/imas/



Содержание

  • Агенты
  • Взаимодействия агентов и языки
  • Многоагентные системы
  • Методологии разработки
  • Области применения
  • Формальные методы

Оценка и диагноз

  • Хорошее введение в МАС
  • Обзор почти всей области агентов
  • Только на английском
  • Рекомендуется начинающим и втягивающимся в агентов



Рассел С., Норвиг П. Искусственный интеллект. Современный подход. Вильямс. 2006 (2007)
Сайт книги http://aima.cs.berkeley.edu/


Искусственный интеллект. Современный подходИскусственный интеллект. Современный подходИскусственный интеллект. Современный подход



Содержание

  • Методы Агенты
  • Методы решения проблем
  • Знания и рассуждения
  • Планирование
  • Рассуждения
  • Обучение
  • Общение, восприятие и осуществление действий

Оценка и диагноз

  • Агентный подход рассматривается объединяющий разрозненные методы ИИ
  • Систематизирует различные направления ИИ
  • Больше внимания уделено конкретным методам ИИ
  • Есть русский перевод, но картинки только ч/б
  • Рекомендуется начинающим и втягивающимся в агентов



Vidal J. Fundamentals of Multiagent Systems With NetLogo Examples. www.multiagent.com. 2007.

Сайт книги www.multiagent.com
Бесплатная электронная книга, периодически обновляется.

Содержание

  • Распределенное удовлетворение ограничений
  • Классическая теория игр
  • Коалиции агентов
  • Мультиагентное обучение
  • Ведение переговоров
  • Аукционы
  • Голосования
  • Координация при помощи целей и иерархий планов
  • Природные системы (биология, иммунология, физика)

Оценка и диагноз

  • В основном, затрагиваются вопросы мультиагентности
  • Только на английском
  • Обзорная, но есть немного формул и исторического контекста
  • Хорошо дополняет первые две книги ;)
  • И рекомендуется к употреблению после них




Для продвинутых

Люгер Д.О. Искусственный интеллект. Стратегии и методы решения сложных проблем. Вильямс. 2003


Искусственный интеллект. Современный подходИскусственный интеллект. Современный подходИскусственный интеллект. Современный подход



Содержание

  • ИИ как поиск
  • Представление знаний
  • Рассуждение и обучение
  • Языки программирования (PROLOG, LISP)

Оценка и диагноз

  • Есть русский перевод
  • Про агентов практически ничего
  • Рекомендуется углубленно изучающим отдельные методы ИИ



Тарасов В.Б. От многоагентных систем к интеллектуальным организациям. Философия, психология, информатика. Эдиториал. 2002


Искусственный интеллект. Современный подходИскусственный интеллект. Современный подход




Содержание

  • Архитектуры агентов и МАС
  • Взаимодействия между агентами в МАС
  • Организации
  • Моделирование деятельности агента
  • Коммуникации агентов
  • Проектирование
  • Применение в промышленности

Оценка и диагноз

  • На русском
  • Не для новичков, но для ценителей и патриотов
  • Рекомендуется фанатикам, романтикам и философам агентов, а также применяющим агентов в корпоративных системах



K. Binmore. Playing for Real: A Text on Game Theory. Oxford University Press, USA, 2007




Содержание

  • Глубокое понимание теории игр (формирование коалиций, ведение переговоров) и ее применений вместо рассмотрения отдельных доказательств

Оценка и диагноз

  • Написана простым и понятным английским языком ;)
  • Много картинок
  • Рекомендуется специалистам в области МАС



M. Ghallab, D. Nau, and P. Traverso. Automated Planning: Theory & Practice. Morgan Kaufmann, 2004.




Содержание

  • Классическое планирование
  • Неклассическое планирование
  • Эвристики и стратегии управления
  • Планирование с учетом времени и ресурсов
  • Планирование в условиях неопределенности
  • Примеры использования и приложения

Оценка и диагноз

  • Написана простым и понятным английским языком ;)
  • Единственный и исчерпывающий труд в области планирования
  • По мультиагентному планированию, увы, написано мало
  • Рекомендуется специалистам по планирующим агентам

Заключение
Вот мы и обозрели наиболее доступную литературу.
Если вы считаете, что кого-то незаслуженно обошли, не включив в список, или наоборот, поместили по ошибке -- напишите.

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

Также по просьбе Максима из Сибирского Государственного университета
Путей Сообщения мы рассмотрим (и надеюсь, обсудим)
  • что такое агент и что такое НЕ агент (см. статью Что такое (интеллектуальные) агенты?);
  • что такое онтологии и зачем они нужны прагматичным разработчикам мультиагентных систем (в работе).
Оставайтесь на связи!

четверг, 22 ноября 2007 г.

Перепись читателей блога ;)

Мне кажется, что в рунете сейчас существует недостаток информации по агентам. Вопрос в том, а есть ли мальчик? То есть, есть ли спрос и каков он (в человеках, евро-за-слово, тугриках, зайчиках, мальчиках). Чтобы удовлетворить спрос, нужно сначала его изучить.

Потому, мне всегда было интересно узнать:
а) сколько нас, людей, интересующихся странным (т.е. агентами вместо зарабатывания денег ;) );
б) что конкретно вас интересует и какие возникают трудности.

Если будет возможность, пошлите пожалуйста e-mail с ответами на перечисленные ниже вопросы.
Информация не будет публиковаться или передаваться третьим лицам. Она умрет вместе со мной ;)
Не стесняйтесь чиркануть мне письмо даже через годы после публикации этого сообщения.

Далее приведены примерные вопросы и примеры вариантов ответов. Вопросы и варианты ответов не заданы жестко, представьте, что вы пишете сочинение, а это -- план ;)


ФИО

Место проживания (страна, область, край, город, можно привести географические координаты и номер комнаты ;) ).

Ваше место работы/учебы.
а) "младший научный сотрудник дошкольного возраста, работаю в детском саду № 478 Министерства атома РФ"
б) работаю в области агентов (бизнес)
в) преподаю в области агентов (наука)
г) веду исследования в области агентов (наука)
д) не нуждаюсь в деньгах и работе, могу стать "спонсором" исследований в области агентов

Как вы узнали об агентах?
а) от своей девушки,
б) от друзей, братвы, врагов, родственников
в) от Гугла
г) из желтой или иной прессы
д) от товарищей иностранного происхождения
е) увидел во сне, как Менделеев периодическую таблицу Менделеева
ж) я не хотел, меня заставили (научный руководитель(ница)/начальник(ница), старший по званию)



Интерес к области агентов
а) кратковременный (защитить курсовой/диплом/диссертацию и забыть как страшный сон)
б) прагматичный (хотел бы работать в области агентов, получая достойные деньги - з/п среднестатистического программиста из банка в вашем месте проживания (ССПИБВВМП) или чуть выше)
в) хотел бы работать в области агентов, получая НЕдостойные деньги (з/п, немного меньше, чем ССПИБВВМП, например меньше на 10%)
г) фанатичный (готов заниматься агентами за гроши)
д) нету. Я здесь случайно.

Поддерживаете ли вы связь (эээ… профессиональную связь) с зарубежными коллегами?
а) регулярно
б) иногда
в) нет

Глобальная область ваших интересов:
а) логистика
б) планирование на производстве
в) сфера развлечений (игры, adult и т.д.)
г) semantic web
д) обучение
е) или что-то другое…

Конкретная область ваших интересов?
(Пример: "Бехевиозиты: Манипулации поведением мультиагентной системы при помощи паразитических инфекций")

Какие конкретные вопросы в области агентов интересуют вас сейчас?
(Пример: "выразительность планов в BDI-системах", "что такое агент").

О чем бы вам хотелось прочесть в блоге? Какой информации вам не хватает? Замечания, предложения?
Контента пока еще мало, но я работаю над этим ;)
(Пример: "подобный тон обращения недопустим в приличном обществе!!!!!!!!!!!!!!")

Нужен ли веб-ресурс в рунете, посвященный целиком агентам? Нужны ли на ваш взгляд средства групповой работы и если да, то какие?
(Например, список рассылки, форум, вики, адресная книга заинтересованных в данной области специалистов)

среда, 7 ноября 2007 г.

Мультиагентная система vs агентная платформа

В чем различие?
Попытаюсь проиллюстрировать на примере различия агентной платформы (АП) и мультиагентной системы (МАС).

Как вы думаете, в чем различие между .NET Framework/Java/MFC и конечным приложением? Или между системой управления контентом (CMS) и конечным веб-сайтом? Все это -- middleware, то есть ПО промежуточного уровня (библиотеки, каркасы), находящееся между операционной системой и приложением.

Агентная платформа -- это middleware, которое реализует основные механизмы, обеспечивающие работу МАС и таким образом, облегчает построение агентных систем.

МАС работает "поверх" агентной платформы и использует ее сервисы.



Что ОНО могет?
Перечислим основные функции АП:
  • Взаимодействия агентов
  • Передача сообщений между агентами внутри платформы (на различных уровнях: на уровне сетевых пакетов, сообщений какого-либо языка общения, протоколов общения).
  • Передача сообщений между агентами разных платформ.
  • Поддержка онтологий
  • Управление агентами
  • Поиск агентов и данных о них внутри системы.
  • Управление жизненными циклами агентов.
  • Безопасность

В общем-то ЭТО ВСЕ! Большего среднестатистическая агентная платформа НЕ УМЕЕТ. Поэтому попытки понять "что такое агент и агентный подход" исходя только из агентной платформы мало что вам дадут. Это вроде попыток понять как сделать крутой вебсайт опираясь лишь на анализ возможностей какой-то конкретной CMS.

Ах, да! Организация FIPA (с 2005 года это 11 комитет IEEE) выпустила ряд стандартов на агентные платформы. Так что теоретически агентные системы могут быть переносимы между различными платформами, или, по-крайней мере, смогут взаимодействовать между собой.

Мозги в комплект не входят
--А где же интеллект? -- спросит меня пытливый читатель. -- Где же те самые машины вывода, планировщики, нейросети. Ну хотя бы завалящий конечный автомат?
--А нету, -- отвечу я ему. Точнее, они есть где-то там... но проектировать и реализовывать их придется вам самим. И никакая платформа вам в этом не поможет. Для агентной платформы JADE вы лучшем случае сможете найти FSM и BDI плагины. Но даже они вам мало помогут без солидной теоретической подготовки.

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

Невозможно взять опенсорсное полуготовое, чуть подпилить напильником и выдать за свое, так как открытых проектов МАС практически нет. Невозможно лепить фичи, не задумываясь о последствиях. Единственное, чего вы можете добиться при таком подходе -- это впечатлите неграмотных людей, которые "слышали звон". Даже толпу впечатлить не удастся ;) А уж люди "в теме" просто повеселятся на ваш счет, так как подобную систему наверняка можно было реализовать и без агентного подхода, причем с гораздо меньшими усилиями.

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

Адын, савсэм адын :(((((
С чем же сталкивается бедный разработчик, опрометчиво взявшийся за создание МАС?

Во-первых, это "внутренние мозги" агента. Как агент воспринимает информацию? Каким образом выбирает подходящие действия? Как он может обучаться на своем и чужом опыте?

Во-вторых, это вопросы взаимодействий агентов между собой для решения своих локальных задач. Как агенты передают свои знания друг другу? Каким образом они могут совместно решать задачи? Или может быть они конкуренты?

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

Знание и эффект толпы
Чем бедные разработчики могут себе помочь или хотя бы облегчить свою участь?

Теоретическими системными знаниями: читайте стандарты, системные труды в области агентов, ИИ, теории игр.

Сообществом
: читайте статьи и технические отчеты, участвуйте в конференциях.

Практическими знаниями
: создавайте интересные агентные системы, для получения "устойчивого результата" разработки (в плане качества и затрат) посмотрите методологии разработки МАС.