3.3.4 Simularea semaforului tradițional
Vom începe prin a simula un sistem de semaforizare tradițională, cu scopul de a porni de undeva, unde semafoarele operează pe secvențe de timp fixe, fără niciun control adaptiv bazat pe condițiile de trafic în timp real. Această simulare ne va ajuta să înțelegem limitările sistemelor convenționale de management al traficului, în special în gestionarea volumelor de trafic variabile și a fluxurilor de trafic imprevizibile.
1.Flux cu densitate scăzută
Fluxul de trafic cu densitate scăzută se referă la un scenariu în care numărul de vehicule pe drum este relativ redus, permițând o mișcare mai fluidă și mai eficientă. Astfel, în acest caz, putem crea un mediu de trafic mai relaxat, reducând congestionarea și probabilitatea apariției blocajelor. Acest tip de flux este deosebit de util pentru testarea scenariilor în care accentul se pune pe menținerea condițiilor optime de trafic cu intervenție minimă, precum și pentru înțelegerea modului în care sistemele de trafic se comportă sub sarcini mai ușoare.
2.Flux cu densitate ridicată
Fluxul de trafic cu densitate ridicată se referă la situații în care un număr mare de vehicule sunt prezente pe drum într-o perioadă scurtă, conducând la creșterea congestionării traficului și la reducerea vitezelor de deplasare.
Fluxul de trafic cu densitate ridicată este crucial pentru testarea la stres a sistemelor de management al traficului, înțelegerea impactului congestiei și evaluarea eficienței măsurilor de control al traficului sub sarcini mari.
Putem observa că traficul nu este o problemă majoră atunci când densitatea vehiculelor este scăzută. Cu toate acestea, chiar și în acest caz, vehiculele încă așteaptă ca lumina roșie să se termine, în ciuda faptului că cealaltă intersecție este goală și are lumină verde. Acest lucru este, de asemenea, considerat o problemă.
În contrast, cu o densitate mare a vehiculelor, traficul crește, iar timpul de așteptare pentru vehicule crește și el. Acest lucru indică o gestionare slabă a semafoarelor, cu timpi fixați care nu se ajustează la condițiile reale de trafic.
3.3.5 Simularea semaforului inteligent
După simularea tradițională, vom simula sistemul nostru de semaforizare inteligentă. Sistemul inteligent își propune să reducă congestia, să minimizeze întârzierile și să îmbunătățească eficiența generală a traficului.
Pentru a optimiza eficient temporizarea semafoarelor, am explorat utilizarea sistemelor inteligente de semaforizare bazate pe tehnici avansate de învățare automată. În mod specific, am adoptat învățarea prin întărire (RL) ca abordare strategică pentru a îmbunătăți managementul fluxului de trafic, cu obiectivul de a minimiza congestia și de a optimiza mișcarea vehiculelor prin intersecții, spre deosebire de sistemele tradiționale bazate pe reguli care se bazează pe programe de timp fixe.
Decizia de a implementa învățarea prin întărire este cea mai bună modalitate de a atinge obiectivul nostru principal. Sistemul inteligent a demonstrat capacitatea de a învăța din diferite condiții de trafic, ajustându-și comportamentul pe măsură ce densitatea traficului crește sau scade. În cele din urmă, utilizarea învățării prin întărire nu numai că a îndeplinit, dar a și depășit așteptările, oferind o soluție autonomă capabilă să gestioneze scenarii complexe de trafic urban.
În timp ce trecem prin detaliile din partea următoare, vom evidenția avantajele metodei pe care am folosit-o.
Algoritmul Q-Learning:
Agentul de Q-learning a fost antrenat să gestioneze fluxul de trafic într-o intersecție prin optimizarea temporizării semafoarelor. Algoritmul, în esență, este un algoritm Q-Learning, care este un algoritm de învățare prin întărire fără model.
Agentul interacționează cu un mediu care este intersecția de trafic. Scopul agentului este să maximizeze recompensa cumulativă în timp, ceea ce înseamnă minimizarea timpului de așteptare pentru mașini la intersecție.
De ce a fost ales Q-Learning?
- Nu necesită date din lumea reală, făcându-l perfect pentru simulări în care mediul este controlat; fiind un algoritm fără model, nu necesită cunoașterea prealabilă a tiparelor de trafic sau a dinamicii mediului.
- Fiind off-policy, Q-Learning poate explora diferite strategii în simulare și totuși poate converge către o politică optimă de control al traficului.
- Ușor de implementat într-un mediu simulat cu acțiuni discrete, precum stările semafoarelor.
Algoritmul Q-learning este prezentat mai jos.
Inițializează Q(s, a) arbitrar
Repetă (pentru fiecare episod):
Inițializează s
Repetă (pentru fiecare pas al episodului):
Alege a din s folosind politica derivată din Q
Execută acțiunea a, observă r, s’
Actualizează
Q(s, a) ← Q(s, a) + α[r + γ max Q(s’, a’) – Q(s, a)]
s ← s’
Până când s este terminal
Setarea parametrilor inițiali:
- starting_state: starea inițială a agentului.
- state_space și action_space: definesc stările și acțiunile posibile în mediul dat.
- alpha: rata de învățare, controlând cât de mult influențează noile experiențe valorile Q.
- gamma: factorul de discount, care ponderă recompensele viitoare. o Q_table: inițializează valorile Q pentru fiecare acțiune în starea de start. o exploration_strategy: definește metoda de explorare (EpsilonGreedy).
- acc_reward: urmărește recompensele acumulate în timpul învățării.
2.Definirea parametrilor
- Stare: Stările includ informații despre densitatea vehiculelor pe benzi, lungimea cozii și faza curentă a semaforului. Starea are un rol specific care ajută la decizia următoarei acțiuni.
- Acțiune: reprezintă, în esență, decizia de a schimba semafoarele sau de a extinde durata semaforului. Acțiunile agentului sunt luate pe baza tabelei Q și a strategiei de explorare.
- Tabela Q: Stochează valorile Q, care reprezintă recompensa viitoare așteptată pentru a lua o anumită acțiune într-o anumită stare. Agentul folosește această tabelă pentru a decide ce acțiune să ia, alegând acțiunea cu cea mai mare valoare Q pentru starea curentă.
- Strategia de explorare: Strategia Epsilon-Greedy în programul nostru este setată pentru a ajuta la echilibrarea explorării (încercarea de acțiuni noi) și exploatării (selectarea celei mai bune acțiuni cunoscute). Inițial, probabilitatea de explorare (epsilon) este setată ridicat (1.0), încurajând agentul să încerce diverse acțiuni.
- Rata de învățare: Determină cât de mult informația nouă înlocuiește informația veche. O valoare de 0 înseamnă fără învățare, iar o valoare de 1 înseamnă că agentul înlocuiește complet vechea valoare Q cu cea nouă.
- Factorul de discount: Controlează cât de mult sunt luate în considerare recompensele viitoare.
3.Funcția de recompensă
Recompensa este calculată pe baza schimbării în întârzierea totală a vehiculelor între pașii de timp consecutivi. Dacă întârzierea totală scade, ceea ce înseamnă că vehiculele așteaptă mai puțin, agentul primește o recompensă pozitivă. Dacă întârzierea crește, adică mai multe vehicule așteaptă mai mult timp, agentul primește o recompensă negativă. Formula poate fi scrisă ca:
𝑟% = 𝐷&” − 𝐷&”#$
- rₜ este recompensa la pasul de timp t.
- Dₐₜ este întârzierea cumulativă a vehiculelor la pasul de timp t, adică întârzierea totală (timpul de așteptare) a tuturor vehiculelor care se apropie de intersecție sau semafor la momentul t.
- 𝐷&„#$este întârzierea cumulativă a vehiculelor la următorul pas de timp t + 1.
Dacă 𝐷&” > 𝐷&„#$ , aceasta înseamnă că întârzierea a scăzut între cei doi pași de timp, iar recompensa este pozitivă (deoarece reducerea întârzierii este de dorit).
Dacă 𝐷&” < 𝐷&„#$ , întârzierea a crescut, deci recompensa este negativă (deoarece creșterea întârzierii nu este de dorit).
Exemplu:
Să considerăm o intersecție simplă controlată de un semafor. Întârzierea pentru fiecare vehicul este calculată pe baza timpului cât trebuie să aștepte înainte de a traversa intersecția.
Pasul de timp t
La momentul t, să zicem că întârzierea totală a tuturor vehiculelor care așteaptă la semafor este Dₐₜ = 100 secunde. Aceasta înseamnă că, în total, vehiculele au acumulat 100 de secunde de timp de așteptare în acest moment.
Pasul de timp t + 1
La următorul pas de timp t + 1, după ce semaforul se schimbă sau rămâne la fel, întârzierea totală a vehiculelor se modifică. Să presupunem că Dₐ_{t+1} = 80 secunde. Aceasta înseamnă că, în total, vehiculele au acumulat 80 de secunde de timp de așteptare la următorul pas de timp.
Calculul recompensei
Recompensa rₜ pentru acest pas de timp ar fi:
𝑟% = 𝐷&” − 𝐷&„#$ = 100 − 80 = 20
Recompensa este +20, ceea ce înseamnă că agentul a îmbunătățit situația traficului prin reducerea timpului total de așteptare cu 20 de secunde.
Leave A Comment