Компактная Временная Динамика CTD или...
https://zenodo.org/records/17762250
"Компактная Временная Динамика" (CTD)или "Один Мозг на Всех"
(Вольный пересказ статьи "Compact Multimodal Multi-Agent System Based on Attractor Dynamics: Shifting Complexity from Space to Time" и объяснение "на пальцах")
1. В чём проблема современных систем?
Представьте, что вы хотите управлять роем из 1000 дронов.
Традиционный подход (Графовые Нейросети или GNN) предлагает соединить всех агентов связями. Каждый дрон «общается» с соседями.
Проблема: Чем больше дронов, тем сложнее система.
Чтобы добавить 100-го агента, нужно пересчитывать связи и увеличивать память. Сложность растет как снежный ком (квадратично, O(N^2)).
На маленьком чипе это просто не запустится.
2. Наше решение: Space \rightarrow Time
Мы предлагаем радикальную идею: как бы "убрать мозг" из каждого дрона и заменить его одной-единственной формулой, которая эволюционирует во времени.
Мы меняем Пространственную сложность (много нейронов) на Временную сложность (много истории).
Суть идеи:
Представьте себе длинный поезд или змею.
У поезда есть только один локомотив (наше Динамическое Ядро).
Все остальные вагоны (агенты) просто едут по тем же рельсам, но находятся в разных точках пути.
Вагон №10 делает то же самое, что делал локомотив 10 секунд назад.
В нашей системе 50, 100 или 1000 агентов управляются одним крошечным уравнением. Агенты — это просто проекции этого уравнения с задержкой во времени.
3. Как это работает (Методология)
А. Динамическое Ядро (The Brain)
В центре системы находится дифференциальное уравнение (Neural ODE).
Это маленькая нейросеть, которая не выдает готовый ответ, а рисует траекторию в абстрактном пространстве.
Эта траектория стремится к аттрактору — устойчивому циклу (как орбита планеты). Это гарантирует, что система не пойдет вразнос.
Б. Временное Мультиплексирование (The Trick)
Как получить поведение 50 разных агентов из одного уравнения?
Мы используем временной сдвиг (time lag).
Агент 1 берет состояние ядра сейчас: x(t)
Агент 2 берет состояние ядра секунду назад: x(t - \tau)
Агент 3 берет состояние ядра две секунды назад: x(t - 2\tau)
Они все разные в моменте, но глобально они скоординированы, потому что следуют одной «мелодии».
Результат: Сложность системы O(1). Неважно, 5 агентов у вас или 5 миллионов — размер уравнения (число параметров) не меняется.
4. Эксперимент и Код
Чтобы не быть голословными, мы написали код (на Python с использованием PyTorch), который моделирует эту систему.
Что делает код:
Создает маленькое "Ядро" (всего 2 нейрона/переменных).
Заставляет его вращаться по стабильной орбите (предельный цикл).
Создает 50 агентов, которые просто "подсматривают" за этим вращением с разной задержкой.
В итоге мы получаем сложную, красивую волну скоординированного поведения.
Свидетельство о публикации №225112901732