Сообщения в центр - 1.
Количество сообщений в худшем случае 2 * (1 + 2 + ... + n) = n * (n + 1). В среднем 2 * n * ln(n). В лучшем 2n.
Память O(n). Никаких новых значений, кроме собственно суммы и количества агентов, которые являются константами, не хранится. Причем они хранятся только в стартовой вершине. Каждый агент хранит id агента, откуда ему пришел запрос о получении значения.
Ограничение на топологию: предпологается, что все связи агентов между собой двухсторонние.
Инструкция. В классе Main задается матричное представление графа, значения для каждого агента и стартовый агент.
Общая идея. Стартовый агент сообщает всем, с кем связан, что хочет получить их значения. Каждый агент, получивший такое сообщение, передает его своим соседям и отсылает свое значение обратно стартовому агенту. Каждый агент хранит id агента откуда ему в первый раз поступил запрос, чтобы оставить путь обратно к стартовому агенту и уменьшить общее количество сообщений.