В своей последней статье я представил проблему Rendezvous для мультиагентных систем:



В этой статье я развиваю математику, чтобы понять, каково решение Rendezvous для упрощенной настройки N=2 агентов. Как только вы поймете процесс решения и закон управления для двух агентов, его легко распространить на более чем двух агентов. Для двух агентов рассмотрим скалярные состояния x_1 и x_2 с динамикой, заданной следующим образом:

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

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

Следующий естественный вопрос, который следует рассмотреть, заключается в том, что делать с N агентами? Интуиция такова, что каждый агент должен стремиться к центроиду множества наших соседей, известному как множество соседей. Пусть N_i обозначает множество агентов, которые являются «соседями» агента i.

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

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

В этой статье мы аналитически увидели, что движение агента к его соседу работает для N = 2, но мы до сих пор не знаем, работает ли эта идея для произвольного числа агентов. В своей следующей статье я программирую предложенный закон управления для различного числа агентов N=2, 3 и намного выше, чтобы увидеть, каково наблюдаемое поведение всей системы с разных начальных позиций (случайных и структурированных). Как вы думаете, Свидание будет достигнуто? Будут ли некоторые агенты сбиваться с пути? Оставайтесь с нами, чтобы узнать!

До скорого,

Калеб.

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



Повышение уровня кодирования

Спасибо, что являетесь частью нашего сообщества! Перед тем, как ты уйдешь:

  • 👏 Хлопайте за историю и подписывайтесь на автора 👉
  • 📰 Смотрите больше контента в публикации Level Up Coding
  • 🔔 Подписывайтесь на нас: Twitter | ЛинкедИн | "Новостная рассылка"

🚀👉 Вакансии для инженеров-программистов