ГоловнаШІ та Машинне навчанняОптимізатор Світлофорів — Q-Навчання Наживо

🚦 Оптимізатор Світлофорів — Q-Навчання Наживо

Спостерігайте, як справжній табличний агент Q-навчання вивчає політику таймінгу світлофора методом проб і винагород, зменшуючи симульований час очікування на перехресті в міру збіжності його Q-таблиці за епізодами.

AI & Machine Learning3DПросунутий60 FPS
ai-traffic-signal-optimization ↗ Відкрити окремо

Про цю симуляцію

Цей симулятор ставить справжнього табличного агента Q-навчання керувати симульованим 4-стороннім перехрестям і дає йому вчитися виключно методом проб і винагород, як таймити світлофор. Ніщо в політиці таймінгу не є сценарним: агент починає з порожньої Q-таблиці й без жодного уявлення про те, як виглядає «гарне» керування трафіком, і відкриває стратегію з низькою затримкою лише повторюваними діями, вимірюванням отриманих черг автомобілів та оновленням своїх оцінок цінності за справжнім рівнянням Беллмана.

🔬 Що показано

3D-перехрестя згори з автомобілями, що шикуються в чергу на кожному з чотирьох підходів (Північ, Південь, Схід, Захід), поки прибуття накопичуються, а світлофор періодично пропускає одну пару напрямків за раз. Під капотом справжня Q-таблиця з 1250 дискретизованих станів × 2 дії оновлюється на кожному кроці рішення за Q(s,a) ← Q(s,a) + α[r + γ·max Q(s′,a′) − Q(s,a)], де винагорода — це від'ємне значення справжньої симульованої затримки в автомобіле-секундах. Жива крива навчання відстежує середній час очікування за тренувальний епізод, а теплова карта політики візуалізує, які кошики станів агент навчився перемикати, а які утримувати.

🎮 Як користуватися

Налаштуйте швидкість навчання α, коефіцієнт дисконтування γ, початкову швидкість дослідження ε та її спадання за епізод, щоб змінити, як агент навчається. Задайте частоту прибуття по кожному підходу, щоб створити асиметричний або симетричний трафік. Використовуйте повзунок швидкості тренування, щоб прискорити багато кроків рішення на кадр рендерингу, тож Q-таблиця збігається за секунди, а не хвилини, перемкніться на вигляд теплової карти політики, щоб безпосередньо перевірити вивчені різниці Q-значень, або натисніть «Переглянути жадібну», щоб заморозити дослідження й побачити чистий запуск поточної найкращої політики.

💡 Чи знали ви?

Оскільки простір станів тут достатньо малий, щоб точно перерахувати (1250 станів × 2 дії = 2500 записів таблиці), це одна з небагатьох задач навчання з підкріпленням, де можна спостерігати, як кожна окрема клітинка Q-таблиці збігається наживо, замість того щоб довіряти чорноящиковому апроксиматору функції. Реальні адаптивні системи світлофорів (наприклад, SCOOT, SCATS та різні дослідницькі впровадження) використовують багатші версії саме цієї ідеї — формування винагороди навколо затримки та функції цінності, що вивчаються чи налаштовуються онлайн.

Часті питання

Що таке Q-навчання?

Q-навчання — це безмодельний алгоритм навчання з підкріпленням, який вивчає очікувану довгострокову цінність Q(стан, дія) виконання кожної дії в кожному стані, без потреби в моделі динаміки середовища. Він оновлює таблицю Q-значень за рівнянням Беллмана, Q(s,a) ← Q(s,a) + α[r + γ·max Q(s′,a′) − Q(s,a)], де α — швидкість навчання, γ — коефіцієнт дисконтування, а r — винагорода, отримана після дії. За багато випробувань Q-таблиця збігається до справжньої оптимальної функції цінності дії, з якої жадібна політика (завжди обирати дію з найвищою цінністю) стає майже оптимальною.

Як перехрестя перетворюється на марковський процес прийняття рішень?

Неперервний, дійснозначний стан трафіку дискретизується: кожна з чотирьох черг підходу (Північ, Південь, Схід, Захід) розбивається на п'ять рівнів (0, 1, 2, 3, 4-або-більше автомобілів) і поєднується з поточною фазою світлофора (зелений Північ-Південь або зелений Схід-Захід), утворюючи один із 1250 можливих станів. Агент має лише дві доступні дії в кожній точці рішення: зберегти поточну фазу або спробувати її перемкнути (з урахуванням обмеження мінімального часу зеленого, щоб світло не блимало). Це саме та структура стан/дія/винагорода, яка потрібна табличному агенту Q-навчання.

Який сигнал винагороди керує навчанням?

Після кожного кроку рішення симулятор підраховує загальну затримку в автомобіле-секундах, накопичену на всіх чотирьох підходах за цей крок (прийнятий проксі для реального часу очікування на перехресті), і видає агенту винагороду, що дорівнює від'ємному значенню цієї затримки, з додатковим штрафом, що віднімається щоразу, коли справді відбувається перемикання фази (представляючи втрачений час інтервалу очищення жовтий/весь-червоний). Оскільки агента винагороджують за мінімізацію затримки, його вивчена політика буквально є стратегією таймінгу, яка найбільше зменшує симульований час очікування, а не сценарним чи заздалегідь підготовленим розкладом.

Чому важливе epsilon-жадібне дослідження?

На ранніх етапах тренування Q-таблиця повністю нульова, тож суто жадібний агент застряг би, повторюючи ту дію, яку спробував першою. Epsilon-жадібний вибір дії обирає випадкову дію з імовірністю epsilon і поточну найкращу відому дію в іншому випадку, гарантуючи, що кожна пара стан-дія врешті буде вибрана, тож її Q-значення можна буде вивчити. Epsilon спадає кожен епізод до невеликого мінімуму, тож агент спочатку інтенсивно досліджує й дедалі більше використовує вивчену політику в міру прогресу тренування — це саме та крива epsilon, спадання якої можна спостерігати наживо на панелі статистики.

Крива навчання справжня чи сценарна?

Вона обчислюється наживо з власної продуктивності агента: кожні 120 кроків рішення (один симульований епізод) симулятор ділить загальну накопичену затримку в автомобіле-секундах на кількість автомобілів, що прибули, даючи справжній середній час очікування для цього епізоду, і наносить його як нову точку. Жодна цільова крива не малюється заздалегідь — якщо ви погано налаштуєте гіперпараметри (наприклад, alpha занадто високий або epsilon спадає занадто швидко), крива може вийти на плато рано або залишатися шумною, точно як це було б для справжнього табличного агента Q-навчання.

⚙ Під капотом

Справжній табличний агент Q-навчання керує симульованим 4-стороннім перехрестям: дискретизовані стани довжини черги, epsilon-жадібна політика над простором із 2 дій та справжнє оновлення Беллмана, що виконується наживо в браузері, безперервно тренуючись на багатьох симульованих епізодах.

Навчання з підкріпленнямQ-LearningМарковський процес прийняття рішеньКерування трафікомРівняння Беллмана

3D · рушій Three.js / WebGL · ціль 60 кадрів/с · працює повністю на клієнті, без встановлення

Що ви знайшли?

Додати кроки відтворення (необов'язково)