Eine auf Multi basierende Ampelsteuerungsmethode
HeimHeim > Blog > Eine auf Multi basierende Ampelsteuerungsmethode

Eine auf Multi basierende Ampelsteuerungsmethode

Jun 05, 2023

Scientific Reports Band 13, Artikelnummer: 9396 (2023) Diesen Artikel zitieren

Details zu den Metriken

Algorithmen zur intelligenten Ampelsteuerung (ITLC) sind sehr effizient zur Entlastung von Verkehrsstaus. In letzter Zeit wurden viele dezentrale Ampelsteuerungsalgorithmen mit mehreren Agenten vorgeschlagen. Diese Forschungen konzentrieren sich hauptsächlich auf die Verbesserung der Methode des verstärkenden Lernens und der Koordinationsmethode. Da aber alle Agenten kommunizieren und sich untereinander koordinieren müssen, sollten auch die Kommunikationsdetails verbessert werden. Um die Wirksamkeit der Kommunikation zu gewährleisten, sollten zwei Aspekte berücksichtigt werden. Zunächst muss eine Methode zur Beschreibung der Verkehrslage entwickelt werden. Mit dieser Methode kann der Verkehrszustand einfach und anschaulich beschrieben werden. Zweitens sollte die Synchronisierung in Betracht gezogen werden. Da verschiedene Kreuzungen unterschiedliche Zykluslängen haben und das Senden von Nachrichten am Ende jedes Ampelzyklus stattfindet, empfängt jeder Agent Nachrichten von anderen Agenten zu unterschiedlichen Zeiten. Daher ist es für einen Agenten schwierig zu entscheiden, welche Nachricht die aktuellste und wertvollste ist. Abgesehen von den Kommunikationsdetails sollte auch der Reinforcement-Learning-Algorithmus für die Signalsteuerung verbessert werden. Bei den herkömmlichen, auf Verstärkungslernen basierenden ITLC-Algorithmen wird bei der Berechnung des Belohnungswerts entweder die Warteschlangenlänge überlasteter Autos oder die Wartezeit dieser Autos berücksichtigt. Aber beide sind sehr wichtig. Daher ist eine neue Methode zur Belohnungsberechnung erforderlich. Um all diese Probleme zu lösen, wird in diesem Artikel ein neuer ITLC-Algorithmus vorgeschlagen. Um die Kommunikationseffizienz zu verbessern, verwendet dieser Algorithmus eine neue Methode zum Senden und Verarbeiten von Nachrichten. Um Verkehrsstaus sinnvoller messen zu können, wird außerdem eine neue Belohnungsberechnungsmethode vorgeschlagen und verwendet. Bei dieser Methode werden sowohl die Wartezeit als auch die Länge der Warteschlange berücksichtigt.

Intelligente Verkehrsampelsteuerung (ITLC) ist eine gute Methode zur Entlastung von Verkehrsstaus. Ein ITLC-Algorithmus sollte die Verkehrslage an einer Kreuzung erkennen und die Zykluslänge der Ampel automatisch anpassen. Da der Reinforcement-Learning-Algorithmus1 in der automatischen Steuerung2,3 sehr gut funktioniert, wurden kürzlich viele auf Reinforcement-Learning basierende ITLC-Algorithmen vorgeschlagen. Diese Algorithmen können in zwei Kategorien eingeteilt werden, darunter tabellarische Methoden4,5,6 und Näherungsmethoden7,8,9. Bei Näherungsmethoden sollte der Q-Wert jedes Zustands-Aktionspaars durch ein bestimmtes Modell berechnet werden. Wenn eine Aktion in einem gegebenen Zustand den höchsten Q-Wert erhält, wird sie vom Agenten ausgewählt und in der äußeren Umgebung ausgeführt. Im Allgemeinen wird ein Ampelcontroller als Agent behandelt. Sie sind dafür verantwortlich, Zustände aus der äußeren Umgebung zu sammeln, den Belohnungswert zu berechnen und Maßnahmen auszuwählen. Heutzutage werden viele verschiedene Modelle vorgeschlagen, um Q-Wert-Berechnungsaufgaben zu erfüllen, darunter Feed-Forward-Modelle auf Basis neuronaler Netze7, lineare Modelle10, probabilistische Modelle11, Modelle auf Basis von Faltungs-Neuronalen Netzen8, RAIM-Modell12, Modelle auf Basis von Graph-Faltungsnetzen9, FRAP-Modell13,14, MetaLight-Modell15 usw. Die Reinforcement-Learning-Algorithmen, die Deep-Learning-Modelle16 zur Berechnung des Q-Werts verwenden, werden als Deep-Reinforcement-Learning-Algorithmen bezeichnet. Da Deep-Reinforcement-Learning-Algorithmen eine sehr gute Leistung erbringen, werden sie in vielen Bereichen eingesetzt, einschließlich der Erkennung abnormalen Netzwerkverkehrs17,18, der Kommunikation und Vernetzung19 usw.

Basierend auf der obigen Beschreibung können die Verkehrssignalsteuerungsalgorithmen in zwei Typen eingeteilt werden: Einzelagenten-basierte Algorithmen20,21 und Multiagenten-basierte Algorithmen22,23,24. Bei auf mehreren Agenten basierenden Algorithmen sollten sich alle Ampelsteuerungen eines Verkehrsnetzes koordinieren, um Verkehrsstaus zu bewältigen. Multiagentenbasierte Algorithmen können ebenfalls in zwei Typen eingeteilt werden, darunter zentralisierte Algorithmen25,26,27 und dezentrale Algorithmen28,29,30. Bei zentralisierten Algorithmen wird ein Ausführender eingesetzt, um die gemeinsame Aktion aller Agenten zu erlernen. Da alle Agenten von einem zentralen Executor gesteuert werden, ist die Skalierbarkeit des zentralisierten Algorithmus nicht so gut wie erwartet. Dezentrale Algorithmen sind die beste Möglichkeit, dieses Problem zu lösen. In dezentralen Algorithmen wird jeder Lichtsignalcontroller als unabhängiger Agent behandelt und wählt selbst eine Aktion aus. Heutzutage werden mehrere dezentrale Algorithmen vorgeschlagen. Der CGB-MATSC-Algorithmus28 ist ein Cluster-basierter Verkehrssignalsteuerungsalgorithmus. Bei diesem Algorithmus werden alle Agenten in verschiedene Cluster geclustert und jeder Cluster wird von einem Executor gesteuert. Der NAQL-Algorithmus29 ist ein dezentraler Algorithmus, der Fuzzy-Logik zur Optimierung des Modells verwendet. Der MA2C-Algorithmus30 ist ein auf mehreren Agenten basierender Ampelsteuerungsalgorithmus, der auf der Akteur-Kritiker-Methode basiert. Der Co-DQL-Algorithmus31 wird basierend auf der doppelten Q-Learning-Methode vorgeschlagen. In diesem Algorithmus werden Doppelschätzer verwendet. Der MPLight-Algorithmus32 soll tausende Ampeln steuern. Es basiert auf einem Reinforcement-Learning-Algorithmus und Transporttheorien. Der EMVLight-Algorithmus33 kann gleichzeitig dynamisches Routing und Ampelsteuerung durchführen. Der MARDDPG-Algorithmus34 wird auf der Grundlage eines tief deterministischen Richtliniengradientenalgorithmus vorgeschlagen. Der ATSC-Algorithmus35 ist ein dezentraler adaptiver Signalsteuerungsalgorithmus auf Netzwerkebene, und in diesem Algorithmus wird ein tiefgreifendes Verstärkungslernen verwendet. Aus der obigen Beschreibung können wir erkennen, dass sich alle diese Algorithmen hauptsächlich auf die Verbesserung des Modelleffekts und der Koordinationsmethode konzentrieren. Aber Kommunikationsdetails werden übersehen. Da die Kommunikation zwischen den Agenten stattfindet, wenn sie versuchen, sich untereinander zu koordinieren, sollte eine Kommunikationsmethode vorgeschlagen werden, um die Effizienz der Koordinierung sicherzustellen. Erstens ist eine effektive Methode zur Beschreibung der Verkehrslage erforderlich. Mit dieser Methode kann der Verkehrszustand einer Kreuzung einfach und klar durch eine Meldung beschrieben werden. Diese Nachricht wird an andere Agenten gesendet. Zweitens sollte die Synchronisierung der dezentralen Algorithmen weiter verbessert werden. Jeder Ampelcontroller muss am Ende jedes Zyklus eine Nachricht an den anderen senden. Da die Zykluslänge verschiedener Ampeln jedoch unterschiedlich ist, ist es für einen Agenten nicht einfach zu entscheiden, welche Nachricht die neueste und wertvollste ist. Um diese Probleme zu lösen, wird eine neue Methode zum Senden und Verarbeiten von Nachrichten vorgeschlagen. Mit dieser Methode kann der Verkehrszustand durch eine Nachricht einfach und klar beschrieben werden. Gleichzeitig wird durch die vorgeschlagene Methode eine Datenstruktur verwendet, um die neuesten und wertvollsten Nachrichten für die weitere Verarbeitung aufzuzeichnen. Zusätzlich zu den Kommunikationsdetails sollte auch der für die Ampelsteuerung verwendete Reinforcement-Learning-Algorithmus verbessert werden. Bei herkömmlichen Algorithmen wird bei der Berechnung des Belohnungswerts entweder die Warteschlangenlänge oder die Wartezeit verstopfter Fahrzeuge berücksichtigt. Beide Faktoren sind jedoch wichtig für die Beurteilung von Verkehrsstaus. Daher wird in diesem Dokument eine neue Methode zur Berechnung des Belohnungswerts vorgeschlagen, die diese beiden Faktoren berücksichtigt. Dementsprechend ist der Beitrag dieses Papiers wie folgt:

Es wird eine dezentrale, auf einem Multi-Agenten-Lernalgorithmus basierende intelligente Methode zur Ampelsteuerung vorgeschlagen.

Es wird eine neue Methode zum Senden und Verarbeiten von Nachrichten vorgeschlagen. Mit dieser Methode kann der Verkehrszustand durch eine Nachricht einfach und klar beschrieben werden. Außerdem wird bei dieser Methode eine Datenstruktur verwendet, um die neueste und wertvollste Nachricht für die weitere Verarbeitung aufzuzeichnen.

Es wird eine neue Methode zur Belohnungsberechnung vorgeschlagen. Bei dieser Methode werden sowohl die Warteschlangenlänge als auch die Gesamtwartezeit berücksichtigt.

Der Rest dieses Papiers ist wie folgt gegliedert. Der vorgeschlagene Algorithmus wird im zweiten Abschnitt beschrieben. Die experimentellen Ergebnisse werden im dritten Abschnitt vorgestellt. Und der letzte Abschnitt ist der Abschluss dieses Papiers.

In diesem Abschnitt wird der vorgeschlagene Multi-Agent-basierte ITLC-Algorithmus vorgestellt. Zwei Faktoren werden von einem Agenten berücksichtigt, der den vorgeschlagenen Algorithmus ausführt. Einer davon ist der Verkehrszustand der entsprechenden Kreuzung. Das andere ist die Verkehrslage benachbarter Kreuzungen. Da die Fahrzeuge, die an den Nachbarkreuzungen auftauchen, im nächsten Moment möglicherweise an der aktuellen Kreuzung ankommen, sollte auch die Verkehrslage an den Nachbarkreuzungen berücksichtigt werden. Der vorgeschlagene Algorithmus führt also zwei Schritte aus. Zunächst erfasst der Agent den Verkehrszustand der entsprechenden Kreuzung als Zustand. Und wählen Sie dann eine neue Aktion \(a'\) aus, indem Sie einen Deep-Reinforcement-Learning-Algorithmus verwenden. Zweitens wird der Verkehrszustand benachbarter Kreuzungen erfasst. Und die durch die Aktion \(a'\) zugewiesene Zykluslänge wird basierend auf der neu erfassten Verkehrslage weiter aktualisiert. Dann erhält man die endgültige Zykluslänge \(c^{'}_{f}\). Es wird im nächsten Zyklus ausgeführt. Der oben beschriebene Vorgang wiederholt sich immer wieder. Der Rahmen des vorgeschlagenen Algorithmus wird in Algorithmus 1 dargestellt.

Der in Algorithmus 1 beschriebene Prozess wird von jedem Agenten ausgeführt. Da die Ampel-Timing-Aufgabe regelmäßig ausgeführt wird, wird die Schleifenbedingung auf „True“ gesetzt. Die Variable „round“ wird verwendet, um die Anzahl der Ampelzyklen darzustellen. Der Pseudocode von Zeile 3 bis Zeile 13 beschreibt das neue Vierfachkonstruktionsverfahren. Während des Vorgangs wird ein neuer Zustand \(s'\) erfasst und der Belohnungswert r berechnet. Der Inhalt, der den Zustand einführt, wird im Abschnitt „Staaten“ dargestellt und der Inhalt, der die Belohnungsberechnungsmethode einführt, wird im Abschnitt „Belohnung“ vorgestellt. Im neuen Quadrupel ist s der Zustand, der am Ende des letzten Zyklus erfasst wurde. a ist ebenfalls die am Ende des letzten Zyklus ausgewählte Aktion. Der Inhalt, der Aktionen einleitet, wird im Abschnitt „Aktionsraum“ vorgestellt. Der Pseudocode von Zeile 14 bis Zeile 16 beschreibt das neue Aktionsauswahlverfahren. Während des Verfahrens wird mithilfe des CNN-Modells eine neue Aktion \(a'\) ausgewählt. Die Struktur des CNN-Modells wird im Abschnitt „Q-Wert-Berechnungsmodell“ vorgestellt. In Zeile 17 des Pseudocodes wird das Tupel \(\langle s',a' \rangle \) für die zukünftige Vierfachkonstruktion gespeichert. Der Pseudocode von Zeile 18 bis Zeile 20 beschreibt das Verfahren zum Parametertraining. Während des Verfahrens wird die Variablenrunde überprüft. Wenn sein Wert größer als 0 ist, bedeutet dies, dass mindestens ein Vierfach gebildet wird. Damit kann der Parametertrainingsprozess ausgeführt werden. Das detaillierte Modellparameter-Trainingsverfahren wird ebenfalls im Abschnitt „Q-Wert-Berechnungsmodell“ vorgestellt. In Zeile 21 des Pseudocodes sendet ein Agent Nachrichten an seine Nachbarn, die den Verkehrszustand der entsprechenden Kreuzung beschreiben. In Zeile 22 des Pseudocodes prüft dieser Agent die von seinen Nachbarn gesendeten Nachrichten. Basierend auf diesen Nachrichten kann die endgültige Zykluslänge \(c^{'}_{f}\) ermittelt werden. Das detaillierte Kommunikationsverfahren und das Verfahren zur Aktualisierung der Zykluslänge werden im Abschnitt „Methode zum Informationsaustausch und zur Verarbeitung“ vorgestellt. Da benachbarte Agenten jederzeit versuchen, Nachrichten zu senden, sollte ein bestimmter Thread zum Empfangen und Speichern von Nachrichten ausgeführt werden.

Im Reinforcement-Learning-Algorithmus sollte ein Agent den Zustand aus der äußeren Umgebung sammeln. Während wir versuchen, den Zustand einer Kreuzung zu erfassen, wird ein großer quadratischer Bereich mit einer Ampel in der Mitte beobachtet. Der Abstand zwischen der Grenze und der Mitte dieser quadratischen Fläche beträgt 150 Meter. Dieser große quadratische Bereich kann weiter in kleinere Quadrate unterteilt werden. Im Allgemeinen beträgt die Länge eines Fahrzeugs etwa 5 Meter. Der Abstand zwischen zwei Fahrzeugen beträgt etwa einen Meter. Daher sollte die Kantenlänge jedes kleinen Quadrats auf 6 Meter festgelegt werden. Zu diesem Zeitpunkt können eine Positionsmatrix und eine Geschwindigkeitsmatrix basierend auf diesem großen quadratischen Bereich erstellt werden. Wenn ein kleines Quadrat von einem Fahrzeug besetzt ist, sollte das entsprechende Element der Positionsmatrix 1 sein. Andernfalls sollte das entsprechende Element 0 sein. Ebenso, wenn ein kleines Quadrat von einem Fahrzeug besetzt ist und die Geschwindigkeit dieses Fahrzeugs nicht 0 ist, Das entsprechende Element der Geschwindigkeitsmatrix ist der Geschwindigkeitswert dieses Fahrzeugs. Wenn sich im kleinen Quadrat kein Fahrzeug befindet oder die Fahrzeuggeschwindigkeit 0 ist, ist das entsprechende Element der Geschwindigkeitsmatrix 0. Offensichtlich ist die Form dieser beiden Matrizen \(50\times 50\).

Von der Kreuzung erfasster Status.

Ein Beispiel für eine Positionsmatrix und eine Geschwindigkeitsmatrix ist in Abb. 1 dargestellt. Insbesondere ist die Positionsmatrix in Abb. 1a und die Geschwindigkeitsmatrix in Abb. 1b dargestellt. Wir können feststellen, dass in Abb. 1a der Elementwert in Zeile 5, Spalte 1 1 ist. Somit enthält das entsprechende kleine Quadrat ein Fahrzeug. Und in Abb. 1b ist der Elementwert in Zeile 5, Spalte 1 \(v_0\), was größer als 0 ist. Das bedeutet, dass die Geschwindigkeit des in diesem kleinen Quadrat enthaltenen Fahrzeugs größer als 0 ist. Wir können also schlussfolgern dass dieses Fahrzeug weiter fährt. Außerdem ist in Abb. 1a der Elementwert von Zeile 1, Spalte 4 1. Dies bedeutet, dass sich in diesem kleinen Quadrat ein Fahrzeug befindet. Aber in Abb. 1b ist der Elementwert von Zeile 1, Spalte 4 0. Das bedeutet, dass die Geschwindigkeit dieses Fahrzeugs 0 ist. Da diese beiden Matrizen den Verkehrszustand einer Kreuzung widerspiegeln können, werden sie als Zustand behandelt und in a eingegeben Q-Wert-Berechnungsmodell.

Beim Reinforcement-Learning-Algorithmus besteht die Aufgabe des Modells darin, für jede Aktion einen Q-Wert zu berechnen. Dann wird die Aktion mit dem höchsten Q-Wert ausgewählt und in der äußeren Umgebung ausgeführt. Ein Aktionsraum enthält alle Aktionen und ihre Übergangsbeziehungen. Der vom vorgeschlagenen ITLC-Algorithmus verwendete Aktionsraum ist in Abb. 2 dargestellt.

Aktionsraum, der im vorgeschlagenen Algorithmus verwendet wird.

Im vorgeschlagenen Algorithmus werden vier Phasen berücksichtigt. Phase 1 ist grünes Licht, das Fahrzeuge in Richtung Norden und Süden steuert. Phase 2 ist grünes Licht, das linksabbiegende Fahrzeuge in Richtung Süden und linksabbiegende Fahrzeuge in Richtung Norden steuert. In Phase 3 gibt es grünes Licht für die Steuerung von Fahrzeugen in östlicher und westlicher Richtung. Phase 4 ist grünes Licht, das linksabbiegende Fahrzeuge in Richtung Westen und linksabbiegende Fahrzeuge in östlicher Richtung steuert. In allen Aktionen werden vier Werte verwendet, nämlich \(t_1\), \(t_2\), \(t_3\) und \(t_4\). \(t_1\) stellt die Dauer von Phase 1 dar; \(t_2\) stellt die Dauer von Phase 2 dar; \(t_3\) stellt die Dauer von Phase 3 dar; \(t_4\) stellt die Dauer von Phase 4 dar. In Abb. 2 können wir sehen, dass der Aktualisierungswert von \(t_1\), \(t_2\), \(t_3\) oder \(t_4\) der Hauptwert ist Aufgabe des Handelns. Jede Aktion versucht, 5 s zu einem dieser vier Werte hinzuzufügen oder 5 s von einem dieser vier Werte zu reduzieren. Und insbesondere kann ein Agent auch eine Aktion auswählen, die den Wert von \(t_1\), \(t_2\), \(t_3\) und \(t_4\) nicht ändert. Bemerkenswert ist, dass der Maximalwert von \(t_1\), \(t_2\), \(t_3\) und \(t_4\) 90 s beträgt. Angenommen, der Wert von \(t_4\) beträgt 90. Wenn die Aktion ausgewählt wird, die weitere 5 s zu \(t_4\) hinzufügt, wird sie nicht ausgeführt. Und der Mindestwert von \(t_1\), \(t_2\), \(t_3\) und \(t_4\) ist 5. Ebenso, wenn der Wert von \(t_4\) 5 ist und die Aktion eine andere reduziert 5 s von \(t_4\) ausgewählt ist, wird es auch nicht ausgeführt.

Belohnung kann verwendet werden, um das Ergebnis einer Aktion zu messen. Sie wird auf Grundlage der Variation der äußeren Umgebung berechnet. Da auf Verstärkungslernen basierende ITLC-Algorithmen zur Entlastung von Verkehrsstaus verwendet werden, muss der Belohnungswert die Variation des Verkehrsstauzustands widerspiegeln. Für die Beurteilung von Verkehrsstaus sind zwei Faktoren wichtig: die Warteschlangenlänge der verstopften Fahrzeuge und die Gesamtwartezeit aller dieser Fahrzeuge. Herkömmliche ITLC-Algorithmen berücksichtigen jedoch nur einen davon. Berücksichtigt man nur die Wartezeit, kommen zwar viele Fahrzeuge an einer Kreuzung an und bilden in kurzer Zeit eine lange Warteschlange, obwohl die kumulierte Wartezeit aller dieser neu angekommenen Fahrzeuge sehr kurz ist, die Warteschlangenlänge ist jedoch sehr lang. Wenn nur die Warteschlangenlänge berücksichtigt wird und die Warteschlangenlänge der überlasteten Fahrzeuge nicht sehr lang ist, wird die entsprechende Fahrspur als nicht überlastet gerechtfertigt. Dann wird die Phasenlänge reduziert. In dieser Situation ist es für diese Fahrzeuge auch schwierig, die Kreuzung zu passieren. Daher sollte eine neue Methode zur Belohnungsberechnung vorgeschlagen werden, die sowohl die Warteschlangenlänge als auch die Wartezeit berücksichtigt.

Dementsprechend lautet die vom vorgeschlagenen Algorithmus verwendete Belohnungsberechnungsmethode wie folgt:

\(r_t\) stellt den Belohnungswert dar. \(V_t\) ist der Wert, der am Ende des \(t-ten\) Zyklus der Verkehrsampel berechnet wird. \(V_{t+1}\) ist der am Ende des \((t+1)-ten\)-Zyklus berechnete Wert. Die Berechnungsmethode für den Wert \(V_t\) ist in Gleichung dargestellt. (2). In Gl. (2) Es werden vier Warteschlangenlängen verwendet, darunter \(l_{NS,SN}\), \(l_{NE,SW}\), \(l_{EW,WE}\) und \(l_{ES, WN}\). Nehmen wir zum Beispiel \(l_{NS,SN}\). Die Berechnungsmethode des Wertes \(l_{NS,SN}\) ist in der ersten Gleichung dargestellt. von (3). In dieser Gleichung stellt \(l_{NS}\) die Warteschlangenlänge von Durchgangsfahrzeugen in Richtung Süden dar. \(l_{SN}\) stellt die Warteschlangenlänge von Durchgangsfahrzeugen in Richtung Norden dar. Um sicherzustellen, dass die Fahrzeuge dieser beiden Warteschlangen genügend Zeit haben, die Kreuzung zu passieren, sollte \(l_{NS,SN}\) auf den Maximalwert von \(l_{NS}\) und \(l_{SN}\) gesetzt werden. ). Aus Gl. (3) können wir feststellen, dass \(l_{NE,SW}\), \(l_{EW,WE}\) und \(l_{ES,WN}\) auf die gleiche Weise berechnet werden können. \(l_{NE}\) stellt die Warteschlangenlänge von links abbiegenden Fahrzeugen in Richtung Süden dar. \(l_{SW}\) stellt die Warteschlangenlänge linksabbiegender Fahrzeuge in Richtung Norden dar. \(l_{EW}\) stellt die Warteschlangenlänge von Durchgangsfahrzeugen in westlicher Richtung dar. \(l_{WE}\) stellt die Warteschlangenlänge von Durchgangsfahrzeugen in östlicher Richtung dar. \(l_{ES}\) stellt die Warteschlangenlänge von links abbiegenden Fahrzeugen in westlicher Richtung dar. \(l_{WN}\) stellt die Warteschlangenlänge linksabbiegender Fahrzeuge in östlicher Richtung dar. Darüber hinaus ist in Gl. (2), \(W_{NS,SN}\), \(W_{NE,SW}\), \(W_{EW,WE}\) und \(W_{ES,WN}\) enthalten sind. Sie stellen die Gesamtwartezeit von Fahrzeugen einer bestimmten Richtung dar. Die Berechnungsmethode dieser vier Werte ist in Gl. dargestellt. (4). Während \(W_{NS,SN}\) berechnet wird, stellt \(N_t\) die Anzahl der nach Süden und Norden fahrenden Fahrzeuge dar. Während \(W_{NE,SW}\) berechnet wird, stellt \(N_t\) in ähnlicher Weise die Anzahl der linksabbiegenden Fahrzeuge in Richtung Süden und linksabbiegenden Fahrzeugen in Richtung Norden dar. Während \(W_{EW,WE}\) berechnet wird, stellt \(N_t\) die Anzahl der Durchgangsfahrzeuge in westlicher und östlicher Richtung dar. Während \(W_{ES,WN}\) berechnet wird, stellt \(N_t\) die Anzahl der linksabbiegenden Fahrzeuge in östlicher Richtung und linksabbiegender Fahrzeuge in westlicher Richtung dar. Egal welcher Wert durch Gl. berechnet wird. (4) \(w_n\) repräsentiert die Wartezeit des \(n-ten\) Fahrzeugs einer bestimmten Richtung.

Bei modellbasierten Reinforcement-Learning-Algorithmen wird das Modell verwendet, um den Q-Wert für jede Aktion zu berechnen. Da der an einer Kreuzung erfasste Zustand durch zwei Matrizen dargestellt wird, wird vom vorgeschlagenen Algorithmus ein Faltungs-Neuronales Netzwerk verwendet, um den Q-Wert für die Aktion zu berechnen.

Im vorgeschlagenen Algorithmus verwendetes Faltungs-Neuronales Netzwerkmodell.

Das vom vorgeschlagenen Algorithmus verwendete Convolutional Neural Network (CNN)-Modell ist in Abb. 3 dargestellt. Wir können feststellen, dass Positionsmatrix und Geschwindigkeitsmatrix separat in dasselbe Convolutional Neural Network-Modell eingegeben werden. Dann werden zwei verschiedene Vektoren erhalten. Jeder enthält 9 Werte. Angenommen, diese beiden Vektoren sind \(vec_p\) und \(vec_s\). Basierend auf diesen beiden Vektoren wird ein neuer Vektor berechnet. Es enthält auch 9 Werte. Dieser neue Vektor heißt \(vec_n\). Da 9 Aktionen im Aktionsraum enthalten sind, entspricht jedes Element von \(vec_n\) einer Aktion. Die zur Berechnung des Elementwerts von \(vec_n\) verwendete Methode ist in Gleichung dargestellt. (5).

\(n_i\) ist das \(i-te\) Element von \(vec_n\). \(p_i\) ist das \(i-te\) Element von \(vec_p\). Und \(s_i\) ist das \(i-te\) Element von \(vec_s\). In Gl. (5) können wir feststellen, dass der Gewichtswert von \(p_i\) höher ist. Dies liegt daran, dass die Position der Fahrzeuge für die Beurteilung von Verkehrsstaus wichtiger ist als die Geschwindigkeit der Fahrzeuge. Wenn die Warteschlange verstopfter Fahrzeuge sehr lang ist, ist es für sie nicht einfach, die Kreuzung in kurzer Zeit zu passieren, obwohl sie fahren. Aber natürlich kann der Verkehr entlastet werden, wenn die verstopften Fahrzeuge weiterfahren. Daher sollte auch die Geschwindigkeit stauender Fahrzeuge berücksichtigt werden. Daher werden bei der Berechnung von \(n_i\) sowohl \(p_i\) als auch \(s_i\) verwendet. Gleichzeitig ist der Gewichtswert von \(p_i\) größer als \(s_i\).

Das in Abb. 3 dargestellte CNN-Modell enthält drei Faltungsschichten. Die erste Faltungsschicht enthält 8 Filter. Die zweite Faltungsschicht enthält 16 Filter. Die dritte Faltungsschicht enthält 32 Filter. Die Größe jedes Filters beträgt \(5\times 5\) und er bewegt sich jedes Mal um \(1\times 1\) Schritt durch die Eingabedaten. Darüber hinaus sind im Modell drei Pooling-Schichten enthalten. Es wird die Max-Pooling-Methode verwendet. Und die Größe der in Pooling-Ebenen enthaltenen Filter beträgt \(2\times 2\). Die Ausgabegröße der ersten Faltungsschicht beträgt \(46\times 46\times 8\). Die Ausgabegröße der ersten Pooling-Schicht beträgt \(23\times 23\times 8\). Die Ausgabegröße der zweiten Faltungsschicht beträgt \(19\times 19\times 16\). Die Ausgabegröße der zweiten Pooling-Schicht beträgt \(10\times 10\times 16\). Die Ausgabegröße der dritten Faltungsschicht beträgt \(6\times 6\times 32\). Die Ausgabegröße der dritten Pooling-Schicht beträgt \(3\times 3\times 32\). Die Ausgabe der dritten Pooling-Schicht wird in einen Tensor umgewandelt. Die Form dieses Tensors ist \(288\times 1\). Danach wird dieser Tensor in eine vollständig verbundene Schicht eingegeben. Die Ausgabe der vollständig verbundenen Schicht ist ein Vektor, der 9 Werte enthält. Die vollständig verbundene Schicht enthält zwei verschiedene Schichten. In der ersten Schicht sind 100 Neuronen enthalten. Und in der zweiten Schicht sind 9 Neuronen enthalten. Die ReLU-Funktion ist die Aktivierungsfunktion, die im oben beschriebenen Modell verwendet wird.

Zunächst werden Parameter des CNN-Modells zufällig zugewiesen. Dann werden sie kontinuierlich weitergebildet. Im vorgeschlagenen Algorithmus wird das Parametertrainingsverfahren am Ende jedes Ampelzyklus ausgeführt. Im Allgemeinen besteht das Hauptziel des verstärkenden Lernens darin, eine Reihe von Aktionen auszuwählen, die dafür sorgen können, dass die äußere Umgebung den optimalen Zustand erreicht. Diese Anforderung kann durch Gl. dargestellt werden. (6).

In Gl. (6) s repräsentiert den letzten Zustand. a stellt die zuletzt ausgewählte Aktion dar. Q(s, a) ist der Q-Wert, der durch Ausführen einer Aktion in einem bestimmten Zustand s erhalten wird. R(s, a) stellt die Belohnung dar. \(s'\) stellt den neu erfassten Zustand nach der Ausführung von Aktion a dar. \(a'\) ist die neu ausgewählte Aktion. Nachdem die Aktion \(a'\) basierend auf dem Zustand \(s'\) ausgeführt wurde, kann der maximale Q-Wert erhalten werden. Dieser maximale Q-Wert ist \(Q(s',\mathop {argmax}\limits _{a'}(s',a'))\). \(\gamma \) ist der Abzinsungsfaktor. Basierend auf der Anforderung in Gl. (6) Die vom vorgeschlagenen Algorithmus zum Trainieren des CNN-Modells verwendete Verlustfunktion ist in Gleichung dargestellt. (7).

B stellt die Anzahl der zuvor konstruierten und gespeicherten Quadrupel dar. In Gl. (7), Bedeutung von R(s, a), \(Q(s',\mathop {argmax}\limits _{a'}(s',a'))\), Q(s, a) und \(\gamma \) ist dasselbe wie mit Gl. (6). Aus Gl. (6) wissen wir, dass \(R(s,a)+\gamma Q(s',\mathop {argmax}\limits _{a'}(s',a'))\) und Q(s, a) sollte so nah wie möglich sein. Daher muss die Verlustfunktion minimiert werden. Diese Verlustfunktion kann mithilfe der Adam-Methode (ADAptive Moment Estimation) optimiert werden.

Während des Optimierungsverfahrens sollte der Wert der Verlustfunktion berechnet werden. Das Berechnungsverfahren ist in Abb. 4 dargestellt. Bei dem Verfahren werden die gespeicherten Quadrupel verwendet. Diese Quadrupel haben die Form \(\langle s,a,r,s' \rangle \). Das Vierfacherfassungsverfahren wird in den ersten drei Schritten von Abb. 4 dargestellt. Die Aufgabe zur Berechnung des Verlustfunktionswerts enthält ebenfalls drei Schritte. Berechnen Sie zunächst Q(s, a) basierend auf \(\langle s,a \rangle \). Zweitens berechnen Sie den höchsten Q-Wert \(Q(s',a')\) basierend auf dem Zustand \(s'\) und dem CNN-Modell. Der erste Schritt und der zweite Schritt sollten B-mal wiederholt werden und es werden B verschiedene Quadrupel verwendet. Drittens berechnen Sie den Wert der in Gleichung dargestellten Verlustfunktion. (7) unter Verwendung aller zuvor berechneten Q(s, a), r und \(Q(s',a')\).

Verfahren zur Berechnung des Verlustfunktionswerts.

Im Allgemeinen kann sich die Verkehrslage an einer Kreuzung auf die Nachbarn auswirken. Dies liegt daran, dass Fahrzeuge, die an einer Kreuzung auftauchen, im nächsten Moment an den angrenzenden Kreuzungen ankommen. Daher kann sich der Stau an einer Kreuzung in naher Zukunft auf die Nachbarn ausweiten. Um künftige Verkehrsstaus zu vermeiden, sollte in dieser Situation jeder Agent mit seinen Nachbarn kommunizieren, indem er Nachrichten sendet. Die Nachrichten enthalten Informationen zur Verkehrslage der entsprechenden Kreuzung. Die vorgeschlagene Kommunikationsmethode wird in diesem Abschnitt beschrieben.

Da jeder Agent eine Aktion basierend auf seiner lokalen Verkehrslage auswählen sollte, kann die ausgewählte Aktion zur Darstellung der Verkehrslage verwendet werden. In dieser Situation kann ein Agent versuchen, die Verkehrslage seiner Nachbarn anhand der von seinen Nachbarn ausgewählten Aktion zu beobachten. Daher muss die an Nachbarn gesendete Nachricht zwei Faktoren enthalten. Eine davon sind die Standortinformationen des Agenten. Der andere ist der Aktionstyp. Die Nachricht sollte also die Form \(\langle Direction,action\_type \rangle \) haben. Richtung gibt an, in welche Richtung die Nachricht gesendet wird. Daher wird es verwendet, um den Standort des Absenders der Nachricht anzugeben. Der Richtungswert kann n, s, e und w sein, was Norden, Süden, Osten und Westen bedeutet. Der Wert von \(action\_type\) kann 0, 1 oder \(-1.0\) sein, was bedeutet, dass die spezifische Phasenlänge des Nachrichtensenders unverändert bleibt. 1 bedeutet, dass die 5 s zur zugehörigen Phasenlänge addiert werden. \(-1\) bedeutet, dass die entsprechende Phasenlänge um 5 s reduziert wird. Demnach können wir feststellen, dass unterschiedliche ausgewählte Aktionen unterschiedlichen Nachrichten entsprechen. Die entsprechende Beziehung zwischen Aktionen und Nachrichten ist in Tabelle 1 dargestellt. Wenn eine in der ersten Spalte angezeigte Aktion ausgewählt wird, werden die in der zweiten Spalte angezeigten Nachrichten an die entsprechenden Nachbarn gesendet. Wenn beispielsweise die Aktion \(\langle t_1+5,t_2,t_3,t_4 \rangle \) ausgewählt ist, wird \(\langle n,1 \rangle \) an den nördlichen Nachbarn gesendet und \(\langle s, 1 \rangle \) wird an den südlichen Nachbarn gesendet. \(\langle e,0 \rangle \) wird an den östlichen Nachbarn gesendet. \(\langle w,0 \rangle \) wird an den westlichen Nachbarn gesendet.

Da verschiedene Agenten Nachrichten zu unterschiedlichen Zeiten senden, sollte eine Synchronisierung der Nachrichten in Betracht gezogen werden. Dies wird durch die Verwendung einer Datenstruktur erfüllt. Während eine Nachricht von einem Agenten empfangen wird, wird diese Nachricht gespeichert. Die zum Speichern der empfangenen Nachricht verwendete Datenstruktur hat die Form \((\langle n,0 \rangle ,\langle s,0 \rangle ,\langle e,0 \rangle ,\langle w,0 \rangle )\ ). Es enthält vier Tupel. Anfänglich sind die zweiten Elemente aller Tupel 0. Sie werden basierend auf den empfangenen Nachrichten aktualisiert. Wenn beispielsweise \(\langle n,1 \rangle \) empfangen wird, wird die Datenstruktur zu \((\langle n,1 \rangle ,\langle s,0 \rangle ,\langle e,0 \rangle , \langle w,0 \rangle )\). Während eine neue Nachricht empfangen wird, muss die Datenstruktur sofort aktualisiert werden. Dadurch können die Echtzeitnachrichten in dieser Datenstruktur gespeichert werden, um die alten Nachrichten zu ersetzen. Während der Ampelzeitmessung sollte nach Auswahl einer neuen Aktion \(a'\) die Datenstruktur überprüft werden. Angenommen, die Datenstruktur wird in \((\langle n,value_1 \rangle , \langle s,value_2 \rangle , \langle e,value_3 \rangle , \langle w,value_4 \rangle )\) geändert. Wenn entweder \(value_1\) oder \(value_2\) 1 ist, werden \(t_1\) und \(t_2\) der Aktion \(a'\) weitere 3 s hinzugefügt. Wenn der Wert von \(Wert_1\) und \(Wert_2\) (0, 0), \((0,-1)\) oder \((-1,0)\), \(t_1\) und \(t_2\) bleibt unverändert. Wenn sowohl \(Wert_1\) als auch \(Wert_2\) \(-1\) sind, werden 3 s von \(t_1\) und \(t_2\) reduziert. Wenn entweder \(value_3\) oder \(value_4\) 1 ist, werden \(t_3\) und \(t_4\) der Aktion \(a'\) weitere 3 s hinzugefügt. Wenn der Wert von \(Wert_3\) und \(Wert_4\) (0, 0), \((0,-1)\) oder \((-1,0)\), \(t_3\) und \(t_4\) bleibt unverändert. Wenn sowohl \(Wert_3\) als auch \(Wert_4\) -1 sind, werden 3 Minuten von \(t_3\) und \(t_4\) verkürzt. Während der Aktualisierungsvorgang abgeschlossen ist, wird die Datenstruktur auf \((\langle n,0 \rangle ,\langle s,0 \rangle ,\langle e,0 \rangle ,\langle w,0 \rangle )\) zurückgesetzt.

In Algorithmus 1 können wir feststellen, dass alle Schritte in einer While-Schleife enthalten sind. Diese Schleife ist eine unendliche Iteration. Die Laufzeit dieser Schleife hängt von der Anzahl der Ampelzyklen ab. Wenn eine Ampel n Zyklen durchlaufen hat, wird die while-Schleife von Algorithmus 1 n-mal durchlaufen. Unter allen in der While-Schleife enthaltenen Schritten ist der Modelltrainingsvorgang der zeitaufwändigste. Diese Aufgabe wird durch die Verwendung des Adam-Algorithmus erfüllt. Da die Komplexität des Adam-Algorithmus \(O(\log {d\sqrt{T}})\ beträgt, beträgt die Komplexität des vorgeschlagenen Algorithmus \(O(n*\), wenn n Zyklen von einer Ampel durchgeführt wurden. log {d\sqrt{T}})\).

Es werden zwei Simulationsexperimente durchgeführt. Jedes Simulationsexperiment enthält einen Trajektoriendatensatz und ein Straßennetz. Im ersten Experiment werden synthetische Flugbahndaten verwendet. Im zweiten Experiment werden reale Flugbahndaten verwendet. Die Merkmale dieser beiden Datensätze und des entsprechenden Straßennetzes werden im Folgenden vorgestellt.

Synthetischer Flugbahndatensatz: Dieser Datensatz wird künstlich erstellt. Es enthält die Flugbahn von 5372 Fahrzeugen. Die Ankunftsrate der generierten Fahrzeuge folgt der Gaußschen Verteilung. Die Fahrgeschwindigkeit aller Fahrzeuge ist auf unter 55 km/h begrenzt. Und von all diesen Fahrzeugen biegen 20 % nach rechts ab; 60 % von ihnen entscheiden sich für den direkten Weg; und Restfahrzeuge biegen links ab. Das errichtete Straßennetz umfasst 9 Kreuzungen. Es ist ein \(3 \times 3\)-Gitter. Somit sind in jeder Spalte und jeder Zeile 3 Schnittpunkte enthalten.

Datensatz zur realen Flugbahn: Dieser Datensatz enthält die Flugbahn von 2983 Fahrzeugen. Und es wird im Unterbezirk Dongfeng, Jinan, Provinz Shandong, China, gesammelt. Alle diese Fahrzeuge gelangen innerhalb einer Stunde in das Straßennetz. Das errichtete Straßennetz umfasst 12 Kreuzungen. Es ist ein \(3 \times 4\)-Gitter. Es gibt also 4 Schnittpunkte in jeder Zeile. Und jede Spalte enthält 3 Schnittpunkte.

Im synthetischen Trajektoriendatensatz ist das Verkehrsraster ein \(3 \times 3\)-Netzwerk und in diesem Verkehrsraster fahren 5372 Fahrzeuge. Offensichtlich ist die Fahrzeuganzahl sehr groß. So kann die Effizienz des vorgeschlagenen ITLC-Algorithmus bei der Entlastung starker Verkehrsstaus getestet werden. Gleichzeitig können wir feststellen, dass sich die synthetischen Daten von realen Daten unterscheiden. Erstens gibt es einen Unterschied zwischen synthetischen Flugbahnen und realen Flugbahnen. Zweitens ist die Fahrzeuganzahl des realen Datensatzes deutlich geringer als die des synthetischen Datensatzes. Drittens ist das Verkehrsraster des realen Datensatzes größer. Um die Effizienz des vorgeschlagenen Algorithmus in einer realen Umgebung zu testen, wird im Experiment ein realer Trajektoriendatensatz verwendet.

Um die ITLC-Algorithmen zu bewerten, werden in diesem Experiment zwei Metrikwerte verwendet, nämlich die durchschnittliche Wartezeit und der durchschnittliche Belohnungswert. Der Grund wird im Folgenden beschrieben:

Durchschnittliche Wartezeit: Ein Ziel der Verkehrsentlastung besteht natürlich darin, die Gesamtwartezeit aller verstopften Fahrzeuge zu verkürzen. Je mehr also die Gesamtwartezeit verkürzt wird, desto besser ist der ITLC-Algorithmus. Da die durchschnittliche Wartezeit proportional zur Gesamtwartezeit ist, wird die durchschnittliche Wartezeit verstopfter Fahrzeuge als Messgröße verwendet.

Belohnung: Um sowohl die Wartezeit als auch die Länge der Warteschlange zu berücksichtigen, wird der Belohnungswert mithilfe der im Abschnitt „Belohnung“ beschriebenen Methode berechnet. Als Messgröße wird der durchschnittliche Belohnungswert aller Agenten verwendet. Gemäß der vorgeschlagenen Belohnungsberechnungsmethode ist der ITLC-Algorithmus umso besser, je höher der durchschnittliche Belohnungswert ist.

Da der vorgeschlagene Algorithmus versucht, den Koordinierungseffekt des dezentralen ITLC-Algorithmus zu fördern, sollten zwei andere ITLC-Algorithmen, die unterschiedliche Koordinierungsmethoden anwenden, mit dem vorgeschlagenen Algorithmus verglichen werden. Einer dieser beiden Algorithmen ist ein auf einem einzelnen Agenten basierender Algorithmus namens SABA. Der andere ist ein auf mehreren Agenten basierender dezentraler Algorithmus namens MARDDPG34. Diese beiden Algorithmen werden im Folgenden beschrieben.

SABA: In diesem Algorithmus wird der Deep-Q-Network-Algorithmus (DQN) verwendet, um jede Ampel zu steuern. Das im DQN verwendete tiefe neuronale Netzwerk ist ein Faltungs-Neuronales Netzwerk. Status, Aktionsräume und Belohnungsberechnungsmethode, die von SABA verwendet werden, sind mit dem vorgeschlagenen ITLC-Algorithmus identisch. Der Kommunikationsvorgang zwischen Agenten wird jedoch durch diesen Algorithmus eliminiert. Alle Agenten arbeiten also unabhängig voneinander.

MARDDPG: MARDDPG ist ein auf mehreren Agenten basierender dezentraler Algorithmus. Dieser Algorithmus wird auf der Grundlage eines tief deterministischen Richtliniengradientenalgorithmus vorgeschlagen. Es versucht, das tiefe neuronale Netzwerkmodell jedes Agenten zentral zu trainieren. In diesem Zustand kennt jeder Agent die Richtlinien anderer Agenten. Das Modell wird jedoch dezentral ausgeführt. Auf diese Weise kann jeder Agent unabhängig Entscheidungen treffen.

Der SABA-Algorithmus verwendet denselben Deep-Q-Network-Algorithmus wie der vorgeschlagene Algorithmus. Aber die Agenten des Verkehrsnetzes kommunizieren nicht miteinander. Daher kennt nicht jeder Agent die Verkehrslage anderer Agenten. Durch den Vergleich des SABA-Algorithmus mit dem vorgeschlagenen Algorithmus können wir testen, ob die Berücksichtigung des Verkehrszustands benachbarter Kreuzungen zur Entlastung von Verkehrsstaus nützlich ist oder nicht. Der MARDDPG-Algorithmus ist ebenfalls ein kürzlich vorgeschlagener dezentraler ITLC-Algorithmus. Bei diesem Algorithmus müssen Agenten nicht miteinander kommunizieren. Jeder Agent kann versuchen, die Zustände anderer Agenten durch das zentral trainierte Modell zu kennen. Dann erhält jeder Agent die optimale Richtlinie basierend auf der geschätzten Richtlinie anderer Agenten. Die vom MARDDPG-Algorithmus verwendete Methode zur Zustandserfassung ist sehr charakteristisch. Durch den Vergleich des MARDDPG-Algorithmus mit dem vorgeschlagenen Algorithmus können wir herausfinden, welcher dezentrale Algorithmus effizienter zur Entlastung von Verkehrsstaus geeignet ist.

Die in diesem Experiment verwendete Simulationssoftware ist SUMO36 (Simulation of Urban MObility). SUMO ist eine mikroskopische Open-Source-Verkehrssimulationssoftware. Es ist zeitlich diskret und räumlich kontinuierlich. In dieser Software werden Rechtsfahrregeln unterstützt. Auch dynamisches Routing wird in dieser Software unterstützt. Und eine OpenGL-basierte visuelle grafische Oberfläche ist in SUMO enthalten. Das in SUMO verwendete Straßennetz kann entweder über eine visuelle grafische Oberfläche oder direkt durch das Schreiben einer XML-Datei erstellt werden.

Die in diesem Experiment verwendete Ampel enthält vier Phasen. Phase 1 ist (Norden, Süden) und (Süden, Norden) grün. In dieser Phase können Fahrzeuge der Süd- und Nordrichtung die Kreuzung passieren. Phase 2 ist (Norden, Osten) und (Süden, Westen) grün. In dieser Phase können linksabbiegende Fahrzeuge in Richtung Norden und links abbiegende Fahrzeuge in Richtung Süden die Kreuzung passieren. Phase 3 ist (Osten, Westen) und (Westen, Osten) grün. In dieser Phase können Fahrzeuge in östlicher und westlicher Richtung die Kreuzung passieren. Phase 4 ist (Osten, Süden) und (Westen, Norden) grün. In dieser Phase können linksabbiegende Fahrzeuge in östlicher Richtung und links abbiegende Fahrzeuge in westlicher Richtung die Kreuzung passieren. Alle diese Phasen schließen sich gegenseitig aus. Die Länge jeder Straße, die zwei Kreuzungen verbindet, beträgt 800 Meter. Jede Straße verfügt über drei Einfahrtsspuren und drei Ausfahrtsspuren. Auf allen drei Spuren ist die Spur ganz links für geradeaus fahrende und nach links abbiegende Fahrzeuge vorbereitet. Die mittlere Spur ist für geradeaus fahrende Fahrzeuge vorbereitet. Die Spur ganz rechts ist für rechts abbiegende Fahrzeuge vorbereitet.

In diesem Abschnitt werden experimentelle Ergebnisse vorgestellt und diskutiert. Die auf der Grundlage des synthetischen Datensatzes erhaltenen experimentellen Ergebnisse sind in Abb. 5 dargestellt. Und die auf der Grundlage des realen Datensatzes erhaltenen experimentellen Ergebnisse sind in Abb. 6 dargestellt. Die Abbildungen 5a und 6a zeigen die durchschnittliche Wartezeit aller am gesammelten Fahrzeuge bestimmte Zeit. In diesen beiden Abbildungen stellt die x-Achse die Episodennummer des Simulationsexperiments dar. Dieses Experiment umfasst 30 Episoden. Und jede Episode enthält 200 Sekunden. Die y-Achse stellt die durchschnittliche Wartezeit dar. Darüber hinaus sind Abb. 5b und 6b stellen den durchschnittlichen Belohnungswert aller zu einem bestimmten Zeitpunkt gesammelten Agenten dar. In diesen beiden Abbildungen stellt die x-Achse auch die Episodennummer des Simulationsexperiments dar. Die Y-Achse stellt den durchschnittlichen Belohnungswert dar. In all diesen vier Abbildungen stellt die Linie mit dem Quadrat darauf den vorgeschlagenen Algorithmus dar. Die Linie mit dem Kreis darauf stellt den SABA-Algorithmus dar. Die Linie mit dem Dreieck darauf stellt den MARDDPG-Algorithmus dar.

Experimentelle Ergebnisse basierend auf synthetischen Datensätzen.

Experimentelle Ergebnisse basierend auf realen Datensätzen.

Aus den experimentellen Ergebnissen, die in den Abb. In den Abbildungen 5a und 6a können wir feststellen, dass die durchschnittliche Wartezeit aller dieser drei Algorithmen sinkt, während die Episodenzahl zunimmt. Außerdem ist in Abb. In den Abbildungen 5b und 6b können wir feststellen, dass der durchschnittliche Belohnungswert aller Algorithmen mit zunehmender Episodenzahl zunimmt. Das bedeutet, dass alle diese drei Algorithmen Verkehrsstaus entlasten können. In Abb. In den Abbildungen 5a und 6a schwankt die Kurve des SABA-Algorithmus in den ersten mehreren Episoden. Dies liegt hauptsächlich daran, dass jeder Agent bei der Ausführung des SABA-Algorithmus nicht die Verkehrslage an anderen Kreuzungen kennt. Diese Agenten können also nicht im Voraus Maßnahmen ergreifen. Außerdem steigt die Anzahl der Fahrzeuge in den ersten Folgen kontinuierlich an. Daher kommt es an jeder Kreuzung häufig zu Verkehrsstaus. Darüber hinaus können wir feststellen, dass die abnehmende Rate der durchschnittlichen Wartezeit des MARDDPG-Algorithmus dem vorgeschlagenen Algorithmus ähnelt, die Kurve des vorgeschlagenen Algorithmus jedoch glatter ist als die des MARDDPG-Algorithmus. Dies bedeutet, dass die im vorgeschlagenen Algorithmus verwendete Informationsaustauschmethode besser für die Bewältigung zukünftiger Verkehrsstaus geeignet ist. Außerdem ist in Abb. 5a und 6a zeigen, dass sich die durchschnittliche Wartezeit dieser drei Algorithmen in den letzten Episoden kaum verändert hat. Und während dieser Zeit ist die Wartezeit des vorgeschlagenen Algorithmus kürzer als die des MARDDPG-Algorithmus. Die Wartezeit des MARDDPG-Algorithmus ist kürzer als die des SABA-Algorithmus. Dies bedeutet, dass der vorgeschlagene Algorithmus die durchschnittliche Wartezeit verstopfter Fahrzeuge besser verkürzt als die beiden anderen Algorithmen. Der MARDDPG-Algorithmus ist besser als der SABA-Algorithmus. In Abb. In den Abbildungen 5b und 6b sind die Belohnungswerte aller dieser drei Algorithmen dargestellt. Anhand dieser beiden Zahlen können wir erkennen, dass die Belohnungswerte dieser drei Algorithmen mit zunehmender Episodenzahl steigen. Und schließlich schwanken die Belohnungswerte dieser drei Algorithmen in den letzten Episoden um einen bestimmten Wert. Offensichtlich ist die Kurve des vorgeschlagenen Algorithmus glatter als die der beiden anderen Algorithmen. Dies bedeutet, dass der vorgeschlagene Algorithmus stabiler ist als die anderen. Da der Belohnungswert des vorgeschlagenen Algorithmus in den letzten Episoden höher ist als der des MARDDPG-Algorithmus und der Belohnungswert des MARDDPG-Algorithmus höher ist als der des SABA-Algorithmus, können wir daraus schließen, dass der vorgeschlagene Algorithmus bei der Steigerung des Belohnungswerts eine bessere Leistung erbringen kann. Somit kann der vorgeschlagene Algorithmus sowohl die Wartezeit als auch die Warteschlangenlänge der überlasteten Fahrzeuge effizient reduzieren.

In diesem Artikel wird ein neuer dezentraler Algorithmus vorgeschlagen. Traditionelle dezentrale Algorithmen befassen sich hauptsächlich mit der Verbesserung des Modells, das vom Reinforcement-Learning-Algorithmus und der Koordinationsmethode verwendet wird. Die Kommunikation zwischen Agenten wird übersehen. Der vorgeschlagene Algorithmus versucht, eine effiziente Kommunikationsmethode zwischen Agenten zu entwerfen. Um das im vorgeschlagenen Algorithmus verwendete Deep-Q-Netzwerk-Modell zu verbessern, wird in diesem Artikel außerdem eine neue Belohnungsberechnungsmethode vorgeschlagen. Da Verkehrsstaus auf der Grundlage der Flugbahn vorhergesagt werden können, werden wir in zukünftigen Untersuchungen versuchen, die Gesetze der Fahrzeugbahn bei der Durchführung der Verkehrssignalsteuerung zu berücksichtigen.

Die während der aktuellen Studie verwendeten und analysierten Datensätze sind unter https://traffic-signal-control.github.io/#opendatasets verfügbar.

Kaelbling, LP, Littman, ML & Moore, AW Reinforcement Learning: Eine Umfrage. J. Artif. Intel. Res. 4, 237–285 (1996).

Artikel Google Scholar

Genders, W. & Razavi, S. Verwendung eines Deep-Reinforcement-Learning-Agenten für die Verkehrssignalsteuerung. arXiv:1611.01142 (2016).

Casas, N. Tiefer deterministischer Richtliniengradient für die städtische Ampelsteuerung. arXiv:1703.09035 (2017).

Balaji, P., German, X. & Srinivasan, D. Städtische Verkehrssignalsteuerung mithilfe von Reinforcement-Learning-Agenten. IET Intel. Transportsystem 4, 177–188 (2010).

Artikel Google Scholar

Abdoos, M., Mozayani, N. & Bazzan, AL Ampelsteuerung in instationären Umgebungen basierend auf Multi-Agent-Q-Learning. Im Jahr 2011 14. Internationale IEEE-Konferenz zu intelligenten Transportsystemen (ITSC), 1580–1585 (IEEE, 2011).

Brys, T., Pham, TT & Taylor, ME Verteiltes Lernen und Multiobjektivität in der Ampelsteuerung. Verbinden. Wissenschaft. 26, 65–83 (2014).

Artikel ADS Google Scholar

Arel, I., Liu, C., Urbanik, T. & Kohls, AG Reinforcement-Learning-basiertes Multi-Agenten-System für die Netzwerk-Verkehrssignalsteuerung. IET Intel. Transportsystem 4, 128–135 (2010).

Artikel Google Scholar

Nishi, T., Otaki, K., Hayakawa, K. & Yoshimura, T. Verkehrssignalsteuerung basierend auf Verstärkungslernen mit graphischen Faltungs-Neuronalen Netzen. Im Jahr 2018 21. Internationale Konferenz über intelligente Transportsysteme (ITSC), 877–883 (IEEE, 2018).

Devailly, F.-X., Larocque, D. & Charlin, L. Ig-rl: Induktives Graphverstärkungslernen für die groß angelegte Verkehrssignalsteuerung. IEEE Trans. Intel. Transp. Syst. 23, 7496–7507. https://doi.org/10.1109/TITS.2021.3070835 (2022).

Artikel Google Scholar

Abdoos, M., Mozayani, N. & Bazzan, AL Hierarchische Steuerung von Verkehrssignalen mittels Q-Learning mit Kachelcodierung. Appl. Intel. 40, 201–213 (2014).

Artikel Google Scholar

Bakker, B., Whiteson, S., Kester, L. & Groen, FC Ampelsteuerung durch Multiagenten-Lernsysteme zur Verstärkung. In Interactive Collaborative Information Systems, 475–510 (Springer, 2010).

Antonio, G.-P. & Maria-Dolores, C. Multi-Agent Deep Reinforcement Learning zur Verwaltung vernetzter autonomer Fahrzeuge an den Kreuzungen von morgen. IEEE Trans. Fahrzeug. Technol. 71, 7033–7043. https://doi.org/10.1109/TVT.2022.3169907 (2022).

Artikel Google Scholar

Zheng, G. et al. Lernphasenwettbewerb zur Ampelsteuerung. In Proceedings of the 28th ACM International Conference on Information and Knowledge Management, 1963–1972 (2019).

Chen, C. et al. Auf dem Weg zu tausend Ampeln: Dezentrales Deep Reinforcement Learning für die großflächige Ampelsteuerung. In Proceedings of the AAAI Conference on Artificial Intelligence34, 3414–3421 (2020).

Zang, X. et al. Metalight: Wertbasiertes Meta-Verstärkungslernen für die Ampelsteuerung. Proz. AAAI Conf. Artif. Intel. 34, 1153–1160 (2020).

Google Scholar

Dong, S., Wang, P. & Abbas, K. Eine Umfrage zu Deep Learning und seinen Anwendungen. Berechnen. Wissenschaft. Rev. 40, 100379. https://doi.org/10.1016/j.cosrev.2021.100379 (2021).

Artikel MathSciNet MATH Google Scholar

Xia, Y., Dong, S., Peng, T. & Wang, T. Methode zur Erkennung abnormalen Datenverkehrs in drahtlosen Netzwerken basierend auf Deep Transfer Reinforcement Learning. Im Jahr 2021 17. Internationale Konferenz für Mobilität, Sensierung und Vernetzung (MSN), 528–535, https://doi.org/10.1109/MSN53354.2021.00083 (2021).

Dong, S., Xia, Y. & Peng, T. Modell zur Erkennung abnormalen Netzwerkverkehrs basierend auf halbüberwachtem Deep Reinforcement Learning. IEEE Trans. Netw. Serv. Verwalten. 18, 4197–4212. https://doi.org/10.1109/TNSM.2021.3120804 (2021).

Artikel Google Scholar

Luong, NC et al. Anwendungen von Deep Reinforcement Learning in Kommunikation und Networking: Eine Umfrage. IEEE-Komm. Überleben. Tutor. 21, 3133–3174. https://doi.org/10.1109/COMST.2019.2916583 (2019).

Artikel Google Scholar

Guo, M., Wang, P., Chan, C.-Y. & Askary, S. Ein Reinforcement-Learning-Ansatz für die intelligente Verkehrssignalsteuerung an städtischen Kreuzungen. Im Jahr 2019 IEEE Intelligent Transportation Systems Conference (ITSC), 4242–4247, https://doi.org/10.1109/ITSC.2019.8917268 (2019).

Kumar, N., Rahman, SS & Dhakad, N. Fuzzy-Inferenz ermöglichte eine tiefgreifende, auf Verstärkungslernen basierende Ampelsteuerung für intelligente Transportsysteme. IEEE Trans. Intel. Transp. Syst. 22, 4919–4928. https://doi.org/10.1109/TITS.2020.2984033 (2021).

Artikel Google Scholar

Kolat, M., Kovari, B., Becsi, T. & Aradi, S. Multi-Agent-Verstärkungslernen für die Verkehrssignalsteuerung: Ein kooperativer Ansatz. Nachhaltigkeithttps://doi.org/10.3390/su15043479 (2023).

Artikel Google Scholar

Zhu, R. et al. Multi-Agenten-Breites Verstärkungslernen für intelligente Ampelsteuerung. Inf. Wissenschaft. 619, 509–525. https://doi.org/10.1016/j.ins.2022.11.062 (2023).

Artikel Google Scholar

Du, T., Wang, B. & Hu, L. Ampelsteuerung an einer Kreuzung durch Verstärkungslernen mit mehreren Agenten. J. Phys: Conf. Ser. 2449, 012031. https://doi.org/10.1088/1742-6596/2449/1/012031 (2023).

Artikel Google Scholar

Qu, Z., Pan, Z., Chen, Y., Wang, IEEE Access 8, 19750–19766 (2020).

Artikel Google Scholar

Tan, T. et al. Kooperatives Deep Reinforcement Learning für die Signalsteuerung großer Verkehrsnetze. IEEE Trans. Cybernet. 50, 2687–2700 (2019).

Artikel Google Scholar

Rashid, T. et al. Qmix: Faktorisierung monotoner Wertfunktionen für tiefes Lernen zur Verstärkung mehrerer Agenten. In der Internationalen Konferenz zum maschinellen Lernen, 4295–4304 (PMLR, 2018).

Wang, T., Cao, J. & Hussain, A. Adaptive Ampelsteuerung für groß angelegte Szenarien mit kooperativem gruppenbasierten Multi-Agenten-Verstärkungslernen. Transp. Res. C: Emerg. Technol. 125, 103046. https://doi.org/10.1016/j.trc.2021.103046 (2021).

Artikel Google Scholar

Tan, T., Chu, T., Peng, B. & Wang, J. Groß angelegte Verkehrsnetzsignalsteuerung unter Verwendung dezentralen Fuzzy-Verstärkungslernens. In Proceedings of SAI Intelligent Systems Conference (IntelliSys) 2016, 652–662 (Springer, 2018).

Chu, T., Wang, J., Codeca, L. & Li, Z. Multi-Agent Deep Reinforcement Learning für die groß angelegte Verkehrssignalsteuerung. IEEE Trans. Intel. Transp. Syst. 21, 1086–1095. https://doi.org/10.1109/TITS.2019.2901791 (2020).

Artikel Google Scholar

Wang, X., Ke, L., Qiao, Z.& Chai, IEEE Trans. Cybernet. 51, 174–187. https://doi.org/10.1109/TCYB.2020.3015811 (2021).

Artikel Google Scholar

Chen, C. et al. Auf dem Weg zu tausend Ampeln: Dezentrales Deep Reinforcement Learning für die großflächige Ampelsteuerung. Proz. AAAI Conf. Artif. Intel. 34, 3414–3421. https://doi.org/10.1609/aaai.v34i04.5744 (2020).

Artikel Google Scholar

Su, H., Zhong, YD, Dey, B. & Chakraborty, A. Emvlight: Ein dezentraler Rahmen für verstärktes Lernen für die effiziente Durchfahrt von Einsatzfahrzeugen. Proz. AAAI Conf. Artif. Intel. 36, 4593–4601. https://doi.org/10.1609/aaai.v36i4.20383 (2022).

Artikel Google Scholar

Wu, T. et al. Deep Reinforcement Learning mit mehreren Agenten für die städtische Ampelsteuerung in Fahrzeugnetzwerken. IEEE Trans. Fahrzeug. Technol. 69, 8243–8256 (2020).

Artikel Google Scholar

Gong, Y., Abdel-Aty, M., Cai, Q. & Rahman, MS Dezentrale adaptive Signalsteuerung auf Netzwerkebene durch Deep Reinforcement Learning mit mehreren Agenten. Transp. Res. Interdisziplinär. Perspektive. 1, 100020. https://doi.org/10.1016/j.trip.2019.100020 (2019).

Artikel Google Scholar

Krajzewicz, D., Hertkorn, G., Rössel, C. & Wagner, P. Sumo (Simulation städtischer Mobilität) – eine Open-Source-Verkehrssimulation. In Proceedings of the 4th Middle East Symposium on Simulation and Modeling (MESM20002), 183–187 (2002).

Referenzen herunterladen

Diese Arbeit wird vom Schlüsselprojekt des Forschungsfonds der Technischen Universität der Inneren Mongolei (ZZ201908), dem Forschungsprojekt-Doktorandenfonds der Technischen Universität der Inneren Mongolei (BS2020040), der National Natural Science Foundation of China (62062054) und dem Autonomen Doktorandenfonds der Natural Science Foundation of Inner Mongolia unterstützt (2020BS06007), Ausgaben für wissenschaftliche Grundlagenforschung von Universitäten und Hochschulen in der Inneren Mongolei (JY20220257).

Hochschule für Datenwissenschaft und -anwendung, Technische Universität Innere Mongolei, Ingenieur- und Technologieforschungszentrum der Autonomen Region Innere Mongolei für Big Data-basierte Softwaredienste, Huhhot, 10080, Innere Mongolei, China

Dongjiang Liu & Leixiao Li

Sie können diesen Autor auch in PubMed Google Scholar suchen

Sie können diesen Autor auch in PubMed Google Scholar suchen

DL schlug den Algorithmus vor. DL konzipierte die Experimente, führte die Experimente durch und analysierte die Ergebnisse. DL hat das Manuskript geschrieben. Alle Autoren haben das Manuskript überprüft.

Korrespondenz mit Dongjiang Liu.

Die Autoren geben an, dass keine Interessenkonflikte bestehen.

Springer Nature bleibt neutral hinsichtlich der Zuständigkeitsansprüche in veröffentlichten Karten und institutionellen Zugehörigkeiten.

Open Access Dieser Artikel ist unter einer Creative Commons Attribution 4.0 International License lizenziert, die die Nutzung, Weitergabe, Anpassung, Verbreitung und Reproduktion in jedem Medium oder Format erlaubt, sofern Sie den/die Originalautor(en) und die Quelle angemessen angeben. Geben Sie einen Link zur Creative Commons-Lizenz an und geben Sie an, ob Änderungen vorgenommen wurden. Die Bilder oder anderes Material Dritter in diesem Artikel sind in der Creative Commons-Lizenz des Artikels enthalten, sofern in der Quellenangabe für das Material nichts anderes angegeben ist. Wenn Material nicht in der Creative-Commons-Lizenz des Artikels enthalten ist und Ihre beabsichtigte Nutzung nicht gesetzlich zulässig ist oder über die zulässige Nutzung hinausgeht, müssen Sie die Genehmigung direkt vom Urheberrechtsinhaber einholen. Um eine Kopie dieser Lizenz anzuzeigen, besuchen Sie http://creativecommons.org/licenses/by/4.0/.

Nachdrucke und Genehmigungen

Liu, D., Li, L. Eine Ampelsteuerungsmethode basierend auf einem Deep-Reinforcement-Learning-Algorithmus mit mehreren Agenten. Sci Rep 13, 9396 (2023). https://doi.org/10.1038/s41598-023-36606-2

Zitat herunterladen

Eingegangen: 25. Februar 2023

Angenommen: 07. Juni 2023

Veröffentlicht: 09. Juni 2023

DOI: https://doi.org/10.1038/s41598-023-36606-2

Jeder, mit dem Sie den folgenden Link teilen, kann diesen Inhalt lesen:

Leider ist für diesen Artikel derzeit kein gemeinsam nutzbarer Link verfügbar.

Bereitgestellt von der Content-Sharing-Initiative Springer Nature SharedIt

Durch das Absenden eines Kommentars erklären Sie sich damit einverstanden, unsere Nutzungsbedingungen und Community-Richtlinien einzuhalten. Wenn Sie etwas als missbräuchlich empfinden oder etwas nicht unseren Bedingungen oder Richtlinien entspricht, kennzeichnen Sie es bitte als unangemessen.