«Многоагентные вычисления» в простых терминах - PullRequest
7 голосов
/ 30 августа 2008

Я недавно столкнулся с термином «мультиагентные вычисления», и я не совсем понимаю, что это такое. Я прочитал об этом книгу, но это не ответило на фундаментальный вопрос, кем был агент.

Есть ли у кого-то указатель на какую-то ссылку, которая ясна и кратка, и отвечает на вопрос без чепухи / маркетингового высказывания? Я хочу знать, стоит ли мне это знакомить, или это какая-то ерунда, которую я, вероятно, могу игнорировать, потому что честно сказать не могу.

Ответы [ 8 ]

7 голосов
/ 06 февраля 2009

Проще говоря, многоагентные исследования пытаются спроектировать систему, состоящую из автономных агентов. То есть у вас есть куча роботов / людей / программных агентов, каждый из которых может выполнять свои собственные действия, но может только «видеть» окружающие его вещи, как заставить систему вести себя так, как вы хотите?

Пример,

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

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

Учитывая группу людей, как вы устанавливаете время встречи, которое максимизирует их счастье? не раскрывая свою личную информацию?

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

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

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

5 голосов
/ 18 октября 2008

«Агенты» - это еще одна абстракция в разработке программного обеспечения.
Как грубая иерархия;
Машинный код, сборка, машинно-независимые языки, подпрограммы, процедуры, абстрактные типы данных, объекты и, наконец, агенты.

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

Другие примеры агентов:

  • Управление космическим кораблем, для принятия быстрых решений, когда нет времени для обмена сообщениями между экипажами и кораблями (например, Deep Space 1 НАСА 1 )
  • Управление воздушным движением (Системы управления пилотами; это применяется на большинстве коммерческих рейсов и спасло жизни)

Многоагентные системы относятся к;

  • Экономика
  • Теория игр
  • Logic
  • Философия
  • Общественные науки

Я не думаю, что агенты - это то, что вы должны замаскировать. На Google ученом 2 миллиона просмотров для "мультиагента" и еще 1043 * на CiteSeer ; это быстро развивающаяся отрасль информатики.

5 голосов
/ 30 августа 2008

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

4 голосов
/ 30 августа 2008

Существует несколько ключевых аспектов многоагентных вычислений, их распределение и независимость.

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

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

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

Десять лет назад «многоагентные системы» (MAS) были одной из тех фраз, которые встречались повсеместно в научной литературе. В наши дни он менее распространен, но некоторые идеи, которые он представляет, действительно полезны в некоторых местах. Но совершенно ненужно в других. Надеюсь, это понятно;)

2 голосов
/ 02 ноября 2009

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

2 голосов
/ 31 октября 2009

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

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

2 голосов
/ 01 октября 2008

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

Одной из "нерешенных" проблем современного производства является планирование. Когда определение проблемы статично, можно найти оптимальное решение, но на самом деле люди не приходят на работу, производственные ресурсы не работают, компьютеры не работают и т. Д. Спрос постоянно меняется, требуются разные продукты (т.е. массовая кастомизация продукта - у одного выпускаемого автомобиля есть кондиционер, у другого нет, ...). Все это приводит к выводам, что а) производство очень сложное, б) статические подходы, такие как планирование на неделю, не работают. Идея такова: почему бы нам не иметь интеллектуальных программ, представляющих части систем, самостоятельно решающих проблему? Эти программы называются агентами. Они должны общаться и договариваться между собой и следить за тем, чтобы задачи выполнялись своевременно. Используя агентов, мы хотим снизить сложность системы управления, сделать ее более управляемой, улучшить взаимодействие между человеком и машиной, сделать ее более надежной и менее подверженной ошибкам, а это очень важно: сделать систему управления децентрализованной.

Короче говоря: агенты - это просто концепция, но они являются концепцией, понятной каждому. Код все еще должен быть написан, но он написан по-другому, на одну абстракцию выше, чем ООП.

0 голосов
/ 22 июля 2009

Вы можете найти концентрацию документов, касающихся агентов здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...