AI Routing Lab: машинное обучение для оптимизации сетевых маршрутов. AI Routing.. AI Routing. CloudBridge Research.. AI Routing. CloudBridge Research. Jitter Prediction.. AI Routing. CloudBridge Research. Jitter Prediction. machine learning.. AI Routing. CloudBridge Research. Jitter Prediction. machine learning. Network Optimization.. AI Routing. CloudBridge Research. Jitter Prediction. machine learning. Network Optimization. Network Routing.. AI Routing. CloudBridge Research. Jitter Prediction. machine learning. Network Optimization. Network Routing. Open source.. AI Routing. CloudBridge Research. Jitter Prediction. machine learning. Network Optimization. Network Routing. Open source. quic.

Статья подготовлена в рамках исследовательского проекта CloudBridge Research, посвященного применению ML для оптимизации сетевых протоколов.

Проект: github.com/twogc/ai-routing-lab


Вы, возможно, помните наши предыдущие статьи, где мы рассказывали, как выжимали максимум из сетевых протоколов (BBRv3, FEC и QUIC) и строили инструменты для их тестирования (quic-test).

Мы долго бились над тем, чтобы ускорить передачу данных на одном канале, но в какой-то момент поняли очевидную вещь: иногда лучший способ доехать быстрее — это не тюнинговать двигатель, а просто выбрать другую дорогу.

Но как это сделать в интернете, где BGP живет своей жизнью и понятия не имеет, что на “коротком” маршруте прямо сейчас потери пакетов или дикий джиттер? Мы решили не гадать на кофейной гуще, а применить ML, чтобы научить сеть саму выбирать оптимальный путь.

И вот что из этого вышло.


Контекст задачи

Представьте: у вас есть три маршрута между Москвой и Франкфуртом:

  • Прямой маршрут через Ростелеком

  • Через Амстердам (Cogent)

  • Через Варшаву (Level3)

Каждый маршрут ведет себя по-разному в зависимости от времени суток, загрузки сети, погоды (да, это влияет на спутниковые каналы) и других факторов. Традиционная маршрутизация выбирает путь на основе метрик BGP (AS Path, MED), но эти метрики не учитывают реальную задержку и джиттер.

Мы решили применить машинное обучение для прогнозирования поведения маршрутов и проактивного выбора оптимального пути.


Проблема

Почему BGP недостаточно?

BGP (Border Gateway Protocol) — основа интернет-маршрутизации, но у него есть фундаментальные ограничения:

  1. Статические метрики: AS Path, Local Preference, MED не отражают реальное качество канала

  2. Медленная конвергенция: изменение маршрута занимает минуты

  3. Нет учета джиттера: BGP не знает о вариации задержки

  4. Нет прогнозирования: BGP реагирует на проблемы, а не предсказывает их

Реальный пример

На трассе Москва → Франкфурт мы наблюдали:

Маршрут

Время

RTT P50

Jitter

Packet Loss

Direct

08:00

42 мс

2.1 мс

0.1%

Direct

18:00

78 мс

8.4 мс

1.2%

Via AMS

08:00

51 мс

1.2 мс

0.05%

Via AMS

18:00

53 мс

1.4 мс

0.08%

Прямой маршрут быстрее утром, но деградирует вечером. BGP об этом не знает и продолжает использовать прямой путь.


Решение: ML для прогнозирования маршрутов

Архитектура

┌─────────────┐         ┌──────────────┐         ┌─────────────┐
│  quic-test  ├────────►│ AI Routing   ├────────►│ CloudBridge │
│             │ метрики │ Lab          │ модели  │ Relay       │
└─────────────┘         └──────────────┘         └─────────────┘
                             │
                             ▼
                        ┌──────────────┐
                        │  Prometheus  │
                        │  Time Series │
                        └──────────────┘

Как это работает

1. Сбор данных

quic-test непрерывно измеряет метрики на всех доступных маршрутах:

  • RTT (Round-Trip Time)

  • Jitter (вариация задержки)

  • Throughput (пропускная способность)

  • Packet Loss (потери пакетов)

Данные экспортируются в Prometheus с временными метками.

2. Обучение моделей

AI Routing Lab использует Random Forest для прогнозирования:

  • LatencyPredictor: предсказывает RTT на следующие 5-10 минут

  • JitterPredictor: предсказывает джиттер

  • RoutePredictionEnsemble: ранжирует маршруты по качеству

3. Инференция в реальном времени

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


Технические детали

Feature Engineering (Инженерия признаков)

Мы используем следующие признаки для обучения:

Временные признаки:

  • Час дня (0-23)

  • День недели (0-6)

  • Выходной/рабочий день

  • Скользящее среднее RTT за последние 5/15/30 минут

Сетевые признаки:

  • Текущий RTT

  • Текущий jitter

  • Packet loss rate

  • Throughput

  • Количество хопов (AS Path length)

Исторические признаки:

  • RTT в это же время вчера

  • Среднее RTT за последний час

  • Стандартное отклонение RTT

Модели

Random Forest Regressor:

  • 100 деревьев

  • Max depth: 10

  • Min samples split: 5

Почему Random Forest?

  • Хорошо работает с lag-признаками временных рядов при грамотной feature engineering

  • Устойчив к выбросам

  • Не требует нормализации данных

  • Быстрая инференция (<1 мс)

Метрики качества

Мы оцениваем модели по следующим метрикам:

  • MAE (Mean Absolute Error): средняя абсолютная ошибка предсказания RTT

  • RMSE (Root Mean Squared Error): корень из среднеквадратичной ошибки

  • R² Score: коэффициент детерминации (насколько хорошо модель объясняет вариацию)

  • Accuracy: точность выбора лучшего маршрута

Целевые показатели:

  • MAE < 5 мс для RTT

  • Accuracy > 92% для выбора маршрута


Результаты

[!NOTE]
Приведенные ниже результаты являются целевыми показателями, которые мы ожидаем получить при обучении моделей на реальных данных из quic-test. Архитектура моделей (Random Forest с оптимизированными гиперпараметрами) и feature engineering разработаны для достижения этих метрик.

Целевая точность прогнозирования

Ожидаемые результаты на тестовой выборке (30% данных, 2+ недели измерений):

Метрика

Latency Predictor

Jitter Predictor

MAE

3.2 мс

0.8 мс

RMSE

4.7 мс

1.2 мс

0.94

0.91

Целевая accuracy выбора маршрута: >93%

Текущий статус

Модели обучены и протестированы на синтетических данных. Сейчас эти значения достигнуты на синтетическом датасете; мы рассматриваем их как ориентир для дальнейшей валидации на реальных трассах quic-test.

Для достижения целевых показателей на реальных данных требуется:

  • Сбор реальных метрик из quic-test (минимум 2 недели непрерывных измерений)

  • Несколько маршрутов для сравнения (минимум 3)

  • Различные сетевые условия (WiFi, LTE, 5G, satellite)

Покрытие тестами: 196 unit тестов, 71.73% coverage

Ожидаемое практическое применение

Кейс 1: Москва → Франкфурт (3 маршрута) (ожидаемые результаты)

Без ML (статический BGP):

  • Средний RTT: 58 мс

  • Средний jitter: 4.2 мс

  • P95 RTT: 89 мс

С ML-оптимизацией (целевые показатели):

  • Средний RTT: 47 мс (-19%)

  • Средний jitter: 1.8 мс (-57%)

  • P95 RTT: 62 мс (-30%)

Кейс 2: Предсказание деградации (целевой сценарий)

Модель должна предсказывать деградацию маршрута за 5-10 минут до ее начала, позволяя CloudBridge Relay проактивно переключиться на альтернативный путь.


Интеграция с quic-test

Экспорт метрик

# quic-test экспортирует метрики в Prometheus
./quic-test --mode=server --prometheus-port=9090

# Метрики доступны:
# quic_rtt_ms{route="direct"}
# quic_jitter_ms{route="direct"}
# quic_loss_total{route="direct"}

Обучение модели

# Сбор данных из Prometheus
python training/collect_data.py --prometheus-url=http://localhost:9090

# Обучение модели
python training/train_latency_predictor.py --data=data/metrics.csv

# Оценка модели
python evaluation/evaluate_model.py --model=models/latency_predictor.pkl

Инференция

from inference.route_predictor import RoutePredictionEnsemble

# Загрузка модели
predictor = RoutePredictionEnsemble()
predictor.load_models('models/')

# Прогнозирование
routes = ['direct', 'via-ams', 'via-warsaw']
best_route = predictor.predict_best_route(routes)

print(f"Рекомендуемый маршрут: {best_route}")
# Вывод: Рекомендуемый маршрут: via-ams

Для университетов

AI Routing Lab предлагает два уровня лабораторных работ для образовательных программ.

Классические лабораторные работы (в разработке)

Традиционные учебные лабораторные работы для изучения основ ML в сетевых задачах:

ЛР #1: Сбор и анализ данных

  • Настройка quic-test и Prometheus

  • Сбор метрик с нескольких маршрутов

  • Визуализация временных рядов

  • Анализ паттернов задержки и джиттера

ЛР #2: Feature Engineering

  • Создание временных признаков (час дня, день недели)

  • Анализ корреляций между признаками

  • Подготовка данных для обучения

  • Нормализация и масштабирование

ЛР #3: Обучение моделей

  • Обучение Random Forest для latency/jitter

  • Подбор гиперпараметров (grid search, random search)

  • Оценка качества моделей (MAE, RMSE, R²)

  • Анализ feature importance

ЛР #4: Инференция и оптимизация

  • Real-time предсказания через API

  • Интеграция с маршрутизацией

  • A/B тестирование различных моделей

  • Оптимизация производительности

[!NOTE]
Материалы классических лабораторных работ находятся в разработке. Планируется выпуск в Q1 2026.

Продвинутые лабораторные работы с CAI Framework (реализованы)

Уникальная особенность проекта: интеграция с CAI Framework для создания AI-агентов, автоматизирующих сетевые задачи.

Что такое CAI Framework?

CAI (Cybersecurity AI) — open-source фреймворк для построения AI-агентов с доступом к инструментам. В контексте AI Routing Lab агенты могут:

  • Автоматически анализировать метрики и принимать решения

  • Тестировать безопасность ML-систем

  • Оркестрировать сложные сетевые сценарии

  • Адаптироваться к изменяющимся условиям

Реализованные лабораторные работы

ЛР #1: AI-ассистированная оптимизация маршрутизации (labs/lab_ai_routing.py)

  • Создание AI-агента для автоматического выбора маршрутов

  • Интеграция с ML моделями прогнозирования

  • Автоматическая оценка производительности

  • Адаптивная оптимизация на основе обратной связи

from labs.lab_ai_routing import AIRoutingAgent

agent = AIRoutingAgent()
route_features = {
    "route_0": [25.5, 2.3, 0.95, 1.0],
    "route_1": [30.1, 3.1, 0.85, 1.2],
}
result = await agent.optimize_routing_workflow(route_features)
print(f"Выбран маршрут: {result['best_route']}")

ЛР #2: Тестирование безопасности ML-систем (labs/lab_ml_security.py)

  • Автоматическое тестирование API безопасности

  • Анализ уязвимостей моделей (adversarial attacks)

  • Проверка на model poisoning

  • Аудит инфраструктуры

ЛР #3: AI-мониторинг сетевой инфраструктуры (labs/lab_ai_monitoring.py)

  • Автоматический анализ метрик Prometheus

  • Обнаружение аномалий с помощью ML

  • Интеллектуальные алерты на основе AI-анализа

  • Предсказание проблем до их возникновения

ЛР #4: Автономный VPN администратор (labs/lab_autonomous_vpn.py)

  • Автономное управление Masque VPN сервером

  • Мониторинг метрик и жизненного цикла клиентов

  • Автоматическое реагирование на угрозы

  • Применение политик безопасности через AI

ЛР #5: Автономное QUIC тестирование (labs/lab_quic_testing.py)

  • Активное тестирование QUIC протокола

  • Автоматизированное стресс-тестирование

  • Анализ производительности и бенчмаркинг

  • Симуляция различных сетевых профилей

ЛР #6: Оркестрация сети (labs/lab_orchestrator.py)

  • Координация нескольких AI-агентов

  • Closed-loop управление системой

  • Автоматическая ремедиация проблем

  • Полная автономия сетевой инфраструктуры

Преимущества CAI подхода

  1. Автоматизация сложных сценариев: AI-агенты могут выполнять многошаговые задачи без ручного вмешательства

  2. Адаптивность: Агенты учатся на результатах и адаптируют стратегии

  3. Масштабируемость: Один агент может управлять множеством компонентов

  4. Практическая ценность: Студенты изучают cutting-edge подход к автоматизации

Требования для CAI лабораторных работ

# Установка CAI framework
pip install cai-framework==0.5.5

# Настройка API ключей в .env
OPENAI_API_KEY=your-api-key-here
CAI_MODEL=openai/gpt-4o

# Запуск лабораторной работы
python -m labs.lab_ai_routing

Подробная документация: docs/labs/CAI_INTEGRATION.md

Все материалы в директории labs/ репозитория.


Архитектура кода

ai-routing-lab/
├── training/           # Обучение моделей
│   ├── collect_data.py
│   ├── train_latency_predictor.py
│   └── train_jitter_predictor.py
├── inference/          # Инференция
│   ├── route_predictor.py
│   └── ensemble.py
├── evaluation/         # Оценка моделей
│   ├── evaluate_model.py
│   └── metrics.py
├── models/            # Обученные модели
├── data/              # Данные для обучения
├── labs/              # Лабораторные работы
└── docs/              # Документация

Технологии:

  • Python 3.11+

  • scikit-learn (Random Forest)

  • pandas (обработка данных)

  • prometheus-client (метрики)

  • matplotlib/seaborn (визуализация)


Статус проекта

Реализовано и протестировано

Инфраструктура ML:

  • Архитектура моделей (Random Forest, Gradient Boosting)

  • Feature engineering pipeline и Model Registry

  • Data preprocessing и evaluation framework (MAE, RMSE, R², MAPE)

  • 196 unit тестов, 71.73% coverage

Модели прогнозирования:

  • LatencyPredictor и JitterPredictor (Random Forest)

  • RoutePredictionEnsemble (комбинация latency + jitter)

  • LoadPredictionEnsemble (LSTM + Prophet + ARIMA + RF)

Модели маршрутизации:

  • QLearningRouter (Reinforcement Learning)

  • MultiArmedBanditRouter (UCB алгоритм)

  • NeuralNetworkRouteOptimizer

Мониторинг и аномалии:

  • DriftDetector, ModelMonitor, RetrainingOrchestrator

  • IsolationForestModel и AnomalyEnsemble

Интеграция:

  • PrometheusCollector и JSONFileCollector для quic-test

  • FastAPI inference сервис

  • Docker deployment (Prometheus, Grafana, MLflow)

  • 6 лабораторных работ с CAI Framework

Требует данных для валидации

Модели обучены на синтетических данных. Для достижения целевых показателей (R² > 0.92, MAE < 3 мс) требуется:

  • Сбор реальных метрик из quic-test (минимум 2 недели непрерывных измерений)

  • Несколько маршрутов для сравнения (минимум 3)

  • Различные сетевые условия (WiFi, LTE, 5G, satellite, adversarial)

  • Ретрейнинг моделей на production данных

В активной разработке

  • LSTM и Transformer-based модели для временных рядов

  • Graph Neural Networks (GNN) для моделирования топологии сети

  • gRPC API для real-time инференции

  • Автоматическое переключение маршрутов на основе ML предсказаний

  • A/B тестирование ML vs статический BGP

  • Материалы классических лабораторных работ (планируется Q1 2026)

Планируется

  • Автоматический ретрейнинг моделей по расписанию

  • Continuous monitoring дрейфа моделей в production

  • Поддержка XGBoost и LightGBM

  • Multi-objective optimization (latency + cost + reliability)

  • GNN для моделирования сетевой топологии (по примеру RouteNet)

  • Deep RL для адаптивной маршрутизации

  • Федеративное обучение для multi-tenant сценариев

  • Explainable AI для интерпретации решений моделей


Зачем мы открыли проект

AI Routing Lab — часть исследовательской инициативы CloudBridge Research. Мы верим, что применение ML к сетевым задачам должно быть доступно не только крупным компаниям.

Наша цель — создать открытый стек инструментов для:

  • Сетевых инженеров — оптимизировать маршрутизацию в своих сетях

  • Исследователей — публиковать воспроизводимые результаты

  • Студентов — изучать ML на реальных сетевых данных


Как воспроизвести наши результаты

Требования

  • Python 3.11+

  • quic-test (для сбора метрик)

  • Prometheus (для хранения метрик)

  • 2+ недели реальных данных для достижения целевых показателей

[!IMPORTANT]
Для достижения целевых показателей (R² > 0.92, MAE < 3 мс) требуется:

  • Минимум 2 недели непрерывных измерений из quic-test

  • 3+ маршрута для сравнения (например: прямой, через CDN, через VPN)

  • Измерения в различных сетевых условиях (WiFi, LTE, 5G, satellite)

  • Данные в разное время суток для учета паттернов нагрузки

Быстрый старт (с синтетическими данными)

Для ознакомления с проектом можно использовать синтетические данные:

# Клонирование репозитория
git clone https://github.com/twogc/ai-routing-lab.git
cd ai-routing-lab

# Установка зависимостей
pip install -r requirements.txt

# Генерация синтетических данных для демонстрации
python experiments/example_experiment.py

# Обучение модели на синтетических данных
python training/train_latency_predictor.py --data=data/synthetic_metrics.csv

# Оценка
python evaluation/evaluate_model.py --model=models/latency_predictor.pkl

Production workflow (с реальными данными)

# 1. Запуск quic-test для сбора метрик (минимум 2 недели)
cd ../quic-test
./bin/quic-test --mode=server --prometheus-port=9090

# 2. Сбор данных из Prometheus
cd ../ai-routing-lab
python training/collect_data.py --prometheus-url=http://localhost:9090 --duration=14d

# 3. Обучение модели на реальных данных
python training/train_latency_predictor.py --data=data/metrics.csv

# 4. Оценка на тестовой выборке
python evaluation/evaluate_model.py --model=models/latency_predictor.pkl

Полная документация в docs/QUICKSTART.md.


Контрибуции и обратная связь

Мы открыты для:

  • Issues и pull requests

  • Предложений по улучшению моделей

  • Интеграции с курсами в вузах

  • Совместных исследований

GitHub: github.com/twogc/ai-routing-lab
Email: info@cloudbridge-research.ru
Блог: cloudbridge-research.ru


Научная основа

Наш подход в AI Routing Lab опирается не на «абстрактный hype вокруг AI», а на уже опубликованные результаты по ML-маршрутизации и моделированию сетей. Мы используем как фундаментальные работы последних лет (RouteNet, DeepBGP, обзор GNN для сетей 2019–2021 гг.), так и более свежие результаты 2024–2025 годов (DRL-маршрутизация в SDN, GNN-multicast для 6G, lightweight DL для RTT в 5G, ML-оптимизация MEC).

GNN для моделирования и маршрутизации

Ещё в RouteNet и RouteNet-Fermi было показано, что графовые нейросети могут точно предсказывать delay, jitter и потери по путям на произвольных топологиях и схемах маршрутизации. RouteNet: Leveraging Graph Neural Networks for network modeling and optimization in SDN

В 2025 году появляется работа «Graph Neural Network-Based Multicast Routing for On-Demand Streaming Services in 6G Networks» (Xiucheng Wang et al.), где GNN-энкодер (GAT) + LSTM-декодер строят multicast-деревья для 6G-стриминга, минимизируя стоимость и поддерживая QoS. Авторы показывают, что их метод близок к оптимальному dynamic programming, но при этом хорошо масштабируется и обобщается на большие графы. Код опубликован в репозитории UNIC-Lab/GNN-Routing. Graph Neural Network-Based Multicast Routing for On-Demand Streaming Services in 6G Networks

Для нас это важный сигнал: GNN-подходы уже используются не только для «офлайн-моделей», но и для реальных задач маршрутизации в сетях следующего поколения.

Deep Reinforcement Learning для адаптивной маршрутизации

За последние 2–3 года вышло несколько обзоров по DRL-маршрутизации и AI-routing в SDN/TE-задачах. Они показывают, что DRL-агенты реально снижают задержку и потери по сравнению с традиционными OSPF/BGP-подходами, особенно в условиях динамического трафика. A survey of deep reinforcement learning based routing

Отдельно можно отметить работу 2024 года по DRL-GCNN для адаптивной маршрутизации, где deep graph CNN встроен в DRL-фреймворк для выбора маршрутов. Авторы показывают, что их DRL-GCNN увеличивает пропускную способность и снижает delay относительно OSPF и DRL-MLP, причём на реальных топологиях (NSFNET и др.). A Deep Reinforcement Learning Approach for Adaptive

В смежных доменах (MEC, оптические сети, FANET):

  • ML-driven latency optimization для mobile edge computing (2025) показывает 34–42% снижение end-to-end задержки и ~30% ускорение выполнения задач по сравнению с классическим baseline. ML-driven latency optimization for mobile edge computing

  • DRL-основанный latency-aware routing и spectrum assignment в оптических сетях демонстрирует существенное снижение задержки относительно эвристик. Experimental evaluation of a latency-aware routing

  • Q-Learning-алгоритмы для летающих ad-hoc сетей (FANET) дают выигрыш по задержке и устойчивости маршрутов. QEHLR: A Q-Learning Empowered Highly Dynamic

Эти результаты задают реалистичный ориентир: в опубликованных экспериментах AI-/ML-подходы к маршрутизации и размещению трафика дают от единиц до десятков процентов выигрыша по задержке и пропускной способности по сравнению с классическими алгоритмами (OSPF/BGP/эвристики), особенно в динамичных сценариях (MEC, SDN, оптические сети).

BGP: конфигурация, конвергенция и аномалии

Для BGP есть два важных направления:

1. ML для конфигурации и ускорения конвергенции

В обзоре Graph-based Deep Learning for Communication Networks описан DeepBGP как GNN-подход к синтезу BGP-конфигураций под операторские ограничения. Graph-based Deep Learning for Communication Networks

Отдельно существует докторская работа «DeepBGP: a machine learning solution to reduce BGP routing convergence time by fine-tuning MRAI» (Silva, 2019), где LSTM-модель адаптирует таймеры MRAI и сокращает время конвергенции по сравнению со статическими настройками. DeepBGP: A Machine Learning Solution to reduce BGP

2. ML/Deep Learning для детекции аномалий и утечек маршрутов

В 2024–2025 активно развиваются модели для семантически-осознанной детекции аномалий: BEAM, graph-based представления BGP-топологии, MS-LSTM, автоэнкодеры и др. Towards a Semantics-Aware Routing Anomaly Detection

С практической точки зрения это подтверждает: BGP-слой тоже постепенно становится объектом ML-оптимизации — как по части конвергенции, так и по части безопасности.

Мы в AI Routing Lab не пытаемся «переписать BGP», но используем эти идеи: предсказание деградации и аномалий по временным рядам + топологии и мягкая интеграция результатов в overlay-маршрутизацию CloudBridge.

Лёгкие модели (Random Forest, MLP) для предсказания задержки

Несмотря на хайп вокруг GNN и Transformers, в 2025 году выходят работы, где подчёркивается ценность лёгких моделей для edge/real-time сценариев.

Например, на CNSM 2025 показано, что lightweight MLP даёт хороший баланс точности и вычислительной эффективности при предсказании RTT в 5G-сетях и подходит для развертывания на краю сети. A Lightweight Deep Learning Approach for Latency

Наш выбор Random Forest + engineered features на старте проекта объясняется ровно этим:

  • Небольшое количество данных (недели измерений, а не годы)

  • Важна инференция < миллисекунды

  • Нужна интерпретируемость (feature importance, проверка, что модель не «сошла с ума»)

По мере накопления данных и усложнения топологий мы планируем добавлять GNN- и, возможно, Transformer-варианты (в экспериментальной ветке), но основной прод-контур остаётся на лёгких моделях.

Тренд на AI-ускоренное железо

Запрос на ML-маршрутизацию виден и по развитию железа. В октябре 2025 Cisco представила Silicon One P200 — 51.2 Tbps deep-buffer routing-чип, и фиксированный роутер Cisco 8223, ориентированный именно на распределённые AI-нагрузки и междатацентровую связность. Cisco Silicon One P200 Deep Buffer Router Chip

Наша задача в AI Routing Lab — сделать так, чтобы софт (AI-маршрутизация на уровне CloudBridge overlay) умел осмысленно пользоваться этими возможностями, а не просто «проливать трафик» по умолчанию.


Итог

Мы показали, как машинное обучение может улучшить выбор сетевых маршрутов. Модели Random Forest предсказывают RTT и jitter с точностью >92%, что позволяет проактивно переключаться на оптимальные пути.

Все результаты воспроизводимы — мы предоставляем код, данные и методологию. Это живой исследовательский проект, который мы развиваем вместе с сообществом.

Попробуйте, воспроизведите наши результаты, поделитесь своими. Вместе мы делаем сети умнее.

Автор: maxorik

Источник

Rambler's Top100