Un método de control de semáforos basado en múltiples
HogarHogar > Blog > Un método de control de semáforos basado en múltiples

Un método de control de semáforos basado en múltiples

Jun 05, 2023

Scientific Reports volumen 13, Número de artículo: 9396 (2023) Citar este artículo

Detalles de métricas

Los algoritmos de control inteligente de semáforos (ITLC) son muy eficientes para aliviar la congestión del tráfico. Recientemente, se han propuesto muchos algoritmos de control de semáforos multiagente descentralizados. Estas investigaciones se centran principalmente en mejorar el método de aprendizaje por refuerzo y el método de coordinación. Pero, como todos los agentes necesitan comunicarse mientras se coordinan entre sí, los detalles de comunicación también deben mejorarse. Para garantizar la eficacia de la comunicación, se deben considerar dos aspectos. En primer lugar, se debe diseñar un método de descripción de las condiciones del tráfico. Al usar este método, la condición del tráfico se puede describir de manera simple y clara. En segundo lugar, se debe considerar la sincronización. Como las diferentes intersecciones tienen diferentes duraciones de ciclo y el evento de envío de mensajes ocurre al final de cada ciclo de semáforo, cada agente recibirá mensajes de otros agentes en momentos diferentes. Por lo tanto, es difícil para un agente decidir qué mensaje es el más reciente y el más valioso. Además de los detalles de la comunicación, también se debe mejorar el algoritmo de aprendizaje por refuerzo utilizado para la temporización de las señales de tráfico. En los algoritmos de ITLC tradicionales basados ​​en el aprendizaje por refuerzo, se considera la longitud de la cola de los automóviles congestionados o el tiempo de espera de estos automóviles al calcular el valor de la recompensa. Pero ambos son muy importantes. Por lo tanto, se necesita un nuevo método de cálculo de recompensas. Para resolver todos estos problemas, en este artículo se propone un nuevo algoritmo ITLC. Para mejorar la eficiencia de la comunicación, este algoritmo adopta un nuevo método de envío y procesamiento de mensajes. Además, para medir la congestión del tráfico de una forma más razonable, se propone y utiliza un nuevo método de cálculo de recompensas. Este método tiene en cuenta tanto el tiempo de espera como la longitud de la cola.

El control inteligente de semáforos (ITLC) es un buen método para aliviar la congestión del tráfico. Un algoritmo ITLC debe detectar la condición del tráfico de la intersección y ajustar la duración del ciclo del semáforo automáticamente. Dado que el algoritmo de aprendizaje por refuerzo1 funciona muy bien en el control automático2,3, recientemente se han propuesto muchos algoritmos ITLC basados ​​en el aprendizaje por refuerzo. Estos algoritmos se pueden clasificar en dos categorías, incluidos los métodos tabulares4,5,6 y los métodos de aproximación7,8,9. En los métodos de aproximación, el valor Q de cada par estado-acción debe calcularse mediante un modelo específico. Dado un estado, si una acción obtiene el valor Q más alto, el agente la seleccionará y la realizará en el entorno externo. Generalmente, un controlador de semáforo es tratado como un agente. Son responsables de recopilar estados del entorno exterior, calcular el valor de la recompensa y seleccionar la acción. Hoy en día, se proponen muchos modelos diferentes para cumplir con la tarea de cálculo del valor Q, incluido el modelo basado en redes neuronales feed-forward7, el modelo lineal10, el modelo probabilístico11, el modelo basado en redes neuronales convolucionales8, el modelo RAIM12, el modelo basado en redes convolucionales gráficas9, el modelo FRAP13,14, Modelo MetaLight15, etc. Los algoritmos de aprendizaje por refuerzo que utilizan modelos de aprendizaje profundo16 para calcular el valor Q se denominan algoritmos de aprendizaje por refuerzo profundo. Dado que los algoritmos de aprendizaje por refuerzo profundo funcionan muy bien, se aplican en muchos campos, incluida la detección de tráfico anómalo en la red17,18, comunicaciones y redes19, etc.

Con base en la descripción anterior, los algoritmos de control de señales de tráfico se pueden clasificar en dos tipos, que son algoritmos basados ​​en un solo agente20,21 y algoritmos basados ​​en múltiples agentes22,23,24. En los algoritmos basados ​​en múltiples agentes, todos los controladores de semáforos de una red de tráfico deben coordinarse para hacer frente a la congestión del tráfico. Los algoritmos basados ​​en múltiples agentes también se pueden clasificar en dos tipos, incluidos los algoritmos centralizados25,26,27 y los algoritmos descentralizados28,29,30. En los algoritmos centralizados, se aprovecha un ejecutor para aprender la acción conjunta de todos los agentes. Como todos los agentes están controlados por un centro ejecutor, la escalabilidad del algoritmo centralizado no es tan buena como se esperaba. Los algoritmos descentralizados son la mejor opción para resolver este problema. En los algoritmos descentralizados, cada controlador de señales de tráfico será tratado como un agente independiente y seleccionará una acción por sí mismo. Actualmente se proponen varios algoritmos descentralizados. El algoritmo CGB-MATSC28 es un algoritmo de control de señales de tráfico basado en clúster. En este algoritmo, todos los agentes se agruparán en diferentes clústeres y cada clúster estará controlado por un ejecutor. El algoritmo NAQL29 es un algoritmo descentralizado que emplea lógica difusa para optimizar el modelo. El algoritmo MA2C30 es un algoritmo de control de señales de tráfico basado en múltiples agentes que se basa en el método actor-crítico. Se propone el algoritmo Co-DQL31 basado en el método de doble Q-learning. En este algoritmo se utilizan estimadores dobles. Se propone el algoritmo MPLight32 para controlar mil semáforos. Se basa en algoritmos de aprendizaje por refuerzo y teorías de transporte. El algoritmo EMVLight33 puede realizar el enrutamiento dinámico y el control de semáforos simultáneamente. Se propone el algoritmo MARDDPG34 basado en un algoritmo de gradiente de política determinista profundo. El algoritmo ATSC35 es un algoritmo de control de señal adaptativo descentralizado a nivel de red y en este algoritmo se utiliza un aprendizaje de refuerzo profundo. De la descripción anterior, podemos encontrar que todos estos algoritmos se concentran principalmente en mejorar el efecto del modelo y el método de coordinación. Pero los detalles de comunicación se pasan por alto. Dado que, cuando los agentes intentan coordinarse entre sí, se producirá una comunicación entre ellos, se debe proponer un método de comunicación para garantizar la eficiencia de la coordinación. En primer lugar, se necesita un método eficaz de descripción de las condiciones del tráfico. Al usar este método, la condición del tráfico de una intersección se puede describir mediante un mensaje simple y claro. Este mensaje será enviado a otros agentes. En segundo lugar, debe mejorarse aún más la sincronización de los algoritmos descentralizados. Todos los controladores de semáforos deben enviar un mensaje a los demás al final de cada ciclo. Pero, como la duración del ciclo de los diferentes semáforos es diferente, no es fácil para un agente decidir qué mensaje es el más reciente y el más valioso. Para solucionar estos problemas, se propone un nuevo método de envío y procesamiento de mensajes. En este método, la condición del tráfico se puede describir mediante un mensaje simple y claro. Y, al mismo tiempo, el método propuesto utiliza una estructura de datos para registrar los mensajes más recientes y valiosos para su posterior procesamiento. Además de los detalles de comunicación, también se debe mejorar el algoritmo de aprendizaje por refuerzo utilizado para el control de semáforos. En los algoritmos tradicionales, se tiene en cuenta la longitud de la cola o el tiempo de espera de los vehículos congestionados al calcular el valor de la recompensa. Pero, estos dos factores son importantes para juzgar la congestión del tráfico. Por lo tanto, en este documento se propone un nuevo método de cálculo del valor de la recompensa que tiene en cuenta estos dos factores. En consecuencia, la contribución de este trabajo es la siguiente:

Se propone un método de control de semáforo inteligente basado en un algoritmo de aprendizaje por refuerzo multiagente descentralizado.

Se propone un nuevo método de envío y procesamiento de mensajes. En este método, la condición del tráfico se puede describir mediante un mensaje simple y claro. Además, este método utiliza una estructura de datos para registrar el mensaje más reciente y más valioso para su posterior procesamiento.

Se propone un nuevo método de cálculo de recompensas. Este método tiene en cuenta tanto la longitud de la cola como el tiempo total de espera.

El resto de este documento está organizado de la siguiente manera. El algoritmo propuesto se describe en la segunda sección. Los resultados experimentales se presentan en la tercera sección. Y la última sección es la conclusión de este trabajo.

En esta sección, se presentará el algoritmo ITLC basado en múltiples agentes propuesto. Dos factores son considerados por un agente que ejecuta el algoritmo propuesto. Uno es la condición del tráfico de la intersección correspondiente. El otro es la condición del tráfico de las intersecciones vecinas. Como los vehículos que aparecen en las intersecciones vecinas pueden llegar a la intersección actual en el momento siguiente, también se debe considerar la condición del tráfico de las intersecciones vecinas. Así que dos pasos son ejecutados por el algoritmo propuesto. En primer lugar, el agente recopilará la condición del tráfico de la intersección correspondiente como estado. Y, luego, seleccione una nueva acción \(a'\) usando un algoritmo de aprendizaje de refuerzo profundo. En segundo lugar, se recopilarán las condiciones del tráfico de las intersecciones vecinas. Y la duración del ciclo asignada por la acción \(a'\) se actualizará aún más en función de la condición de tráfico recién recopilada. Luego se obtiene la longitud del ciclo final \(c^{'}_{f}\). Se ejecutará en el próximo ciclo. El procedimiento descrito anteriormente seguirá repitiéndose. El marco del algoritmo propuesto se presenta en el Algoritmo 1.

El proceso descrito en el algoritmo 1 es ejecutado por cada agente. Como la tarea de temporización del semáforo se ejecuta periódicamente, la condición del bucle se establece en Verdadero. La ronda variable se utiliza para representar el número de ciclo del semáforo. El pseudocódigo de la línea 3 a la línea 13 describe un nuevo procedimiento de construcción cuádruple. Durante el procedimiento, se recopila un nuevo estado \(s'\) y se calcula el valor de recompensa r. El contenido que introduce el estado se presenta en la sección Estados y el contenido que introduce el método de cálculo de la recompensa se presenta en la sección "Recompensa". En el nuevo cuádruple, s es el estado recogido al final del último ciclo. a es también la acción seleccionada al final del último ciclo. El contenido que introduce acciones se presenta en la sección "Espacio de acción". El pseudocódigo de la línea 14 a la línea 16 describe el nuevo procedimiento de selección de acciones. Durante el procedimiento, se selecciona una nueva acción \(a'\) utilizando el modelo CNN. La estructura del modelo CNN se presenta en la sección "Modelo de cálculo del valor Q". En la línea 17 del pseudocódigo, la tupla \(\langle s',a' \rangle \) se almacena para futuras construcciones cuádruples. El pseudocódigo de la línea 18 a la línea 20 describe el procedimiento de entrenamiento de parámetros. Durante el procedimiento, se comprueba la ronda variable. Si su valor es mayor que 0, significa que se construye al menos un cuádruple. Entonces se puede ejecutar el proceso de entrenamiento de parámetros. El procedimiento detallado de entrenamiento de parámetros del modelo también se presenta en la sección "Modelo de cálculo del valor Q". En la línea 21 del pseudocódigo, un agente envía mensajes a sus vecinos, que describen el estado del tráfico de la intersección correspondiente. En la línea 22 del psuedo-código, este agente verifica los mensajes enviados por sus vecinos. Con base en estos mensajes, se puede obtener la longitud del ciclo final \(c^{'}_{f}\). El procedimiento de comunicación detallado y el procedimiento de actualización de la duración del ciclo se presentan en la sección "Método de procesamiento e intercambio de información". Como los agentes vecinos intentan enviar mensajes en cualquier momento, se debe realizar un hilo específico para recibir y almacenar mensajes.

En el algoritmo de aprendizaje por refuerzo, un agente debe recopilar el estado del entorno externo. Mientras intentamos recopilar el estado de una intersección, se observará una gran región cuadrada centrada por un semáforo. La distancia entre el límite y el centro de esta área cuadrada es de 150 metros de largo. Esta gran región cuadrada se puede dividir en cuadrados más pequeños. Generalmente, la longitud de un vehículo es de aproximadamente 5 metros. La distancia entre dos vehículos es de aproximadamente un metro. Entonces, la longitud del borde de cada cuadrado pequeño debe establecerse en 6 metros. En este momento, la matriz de posición y la matriz de velocidad se pueden construir en base a esta gran región cuadrada. Si un pequeño cuadrado está ocupado por un vehículo, el elemento correspondiente de la matriz de posición debe ser 1. De lo contrario, el elemento correspondiente debe ser 0. De manera similar, si un pequeño cuadrado está ocupado por un vehículo y la velocidad de este vehículo no es 0, el elemento correspondiente de la matriz de velocidad será el valor de velocidad de este vehículo. Si no hay ningún vehículo en el cuadrado pequeño o la velocidad del vehículo es 0, el elemento correspondiente de la matriz de velocidad será 0. Obviamente, la forma de estas dos matrices es \(50\times 50\).

Estado recopilado de la intersección.

Un ejemplo de matriz de posición y matriz de velocidad se presenta en la Fig. 1. En particular, la matriz de posición se presenta en la Fig. 1a y la matriz de velocidad se presenta en la Fig. 1b. Podemos encontrar que, en la Fig. 1a, el valor del elemento en la fila 5, columna 1 es 1. Por lo tanto, el cuadrado pequeño correspondiente contiene un vehículo. Y, en la Fig. 1b, el valor del elemento en la fila 5, columna 1 es \(v_0\), que es mayor que 0. Significa que la velocidad del vehículo contenido en este pequeño cuadrado es mayor que 0. Entonces podemos concluir que este vehículo sigue funcionando. Además, en la Fig. 1a, el valor del elemento de la fila 1, columna 4 es 1. Significa que un vehículo está contenido en este pequeño cuadrado. Pero, en la Fig. 1b, el valor del elemento de la fila 1, columna 4 es 0. Significa que la velocidad de este vehículo es 0. Como estas dos matrices pueden reflejar la condición del tráfico de una intersección, serán tratadas como estado e ingresadas en un Modelo de cálculo del valor Q.

En el algoritmo de aprendizaje por refuerzo, la tarea del modelo es calcular un valor Q para cada acción. Luego, la acción con el valor Q más alto se seleccionará y ejecutará en el entorno exterior. Un espacio de acción contiene todas las acciones y su relación de transición. El espacio de acción utilizado por el algoritmo ITLC propuesto se presenta en la Fig. 2.

Espacio de acción utilizado en el algoritmo propuesto.

En el algoritmo propuesto se consideran cuatro fases. La Fase 1 es luz verde que controla los vehículos directos hacia el norte y hacia el sur; La Fase 2 es una luz verde que controla los vehículos que giran a la izquierda hacia el sur y los vehículos que giran a la izquierda hacia el norte; La Fase 3 es luz verde que controla los vehículos de paso hacia el este y hacia el oeste; La Fase 4 es una luz verde que controla los vehículos que giran a la izquierda en dirección oeste y los que giran a la izquierda en dirección este. En todas las acciones se utilizan cuatro valores que son \(t_1\), \(t_2\), \(t_3\) y \(t_4\). \(t_1\) representa la duración de la fase 1; \(t_2\) representa la duración de la fase 2; \(t_3\) representa la duración de la fase 3; \(t_4\) representa la duración de la fase 4. En la Fig. 2, podemos encontrar que actualizar el valor de \(t_1\), \(t_2\), \(t_3\) o \(t_4\) es el principal tarea de acciones. Cada acción intenta sumar 5 s a uno de estos cuatro valores o reducir 5 s de uno de estos cuatro valores. Y, en particular, un agente también puede seleccionar una acción que no cambie el valor de \(t_1\), \(t_2\), \(t_3\) y \(t_4\). Cabe destacar que el valor máximo de \(t_1\), \(t_2\), \(t_3\) y \(t_4\) es de 90 s. Supongamos que el valor de \(t_4\) es 90. Si se selecciona la acción que suma otros 5 s a \(t_4\), no se ejecutará. Y el valor mínimo de \(t_1\), \(t_2\), \(t_3\) y \(t_4\) es 5. Del mismo modo, si el valor de \(t_4\) es 5 y la acción que reduce otra 5 s de \(t_4\) está seleccionado, tampoco se ejecutará.

La recompensa se puede utilizar para medir el resultado de una acción. Se calcula sobre la base de la variación del entorno exterior. Dado que se utilizan algoritmos de ITLC basados ​​en el aprendizaje de refuerzo para aliviar la congestión del tráfico, el valor de la recompensa debe reflejar la variación de la condición de la congestión del tráfico. Dos factores son importantes para evaluar la congestión del tráfico, que son la longitud de la cola de los vehículos congestionados y el tiempo total de espera de todos estos vehículos. Pero los algoritmos tradicionales de ITLC solo tienen en cuenta uno de ellos. Si solo se considera el tiempo de espera, mientras muchos vehículos llegan a una intersección y forman una larga fila de espera en poco tiempo, aunque el tiempo de espera acumulativo de todos estos vehículos recién llegados es muy corto, la longitud de la fila es muy larga. Si sólo se considera la longitud de la cola, cuando la longitud de la cola de los vehículos congestionados no sea muy larga, se justificará el carril correspondiente como no congestionado. Entonces la duración de la fase se reducirá. En esta situación, también es difícil para estos vehículos pasar la intersección. Por lo tanto, se debe proponer un nuevo método de cálculo de recompensas, que tenga en cuenta tanto la longitud de la cola como el tiempo de espera.

En consecuencia, el método de cálculo de la recompensa utilizado por el algoritmo propuesto es el siguiente:

\(r_t\) representa el valor de la recompensa. \(V_t\) es el valor calculado al final del ciclo \(t-th\) de la señal de tráfico. \(V_{t+1}\) es el valor calculado al final del ciclo \((t+1)-th\). El método de cálculo del valor \(V_t\) se presenta en la ecuación. (2). En la ecuación. (2), se utilizan cuatro longitudes de cola, incluidas \(l_{NS,SN}\), \(l_{NE,SW}\), \(l_{EW,WE}\) y \(l_{ES, WN}\). Tome \(l_{NS,SN}\) por ejemplo. El método de cálculo del valor \(l_{NS,SN}\) se presenta en la primera ecuación. de 3). En esta ecuación, \(l_{NS}\) representa la longitud de la cola de los vehículos directos hacia el sur. \(l_{SN}\) representa la longitud de la cola de los vehículos directos en dirección norte. Para garantizar que los vehículos de estas dos colas tengan suficiente tiempo para pasar la intersección, \(l_{NS,SN}\) debe establecerse en el valor máximo de \(l_{NS}\) y \(l_{SN}\ ). De la ecuación. (3), podemos encontrar que \(l_{NE,SW}\), \(l_{EW,WE}\) y \(l_{ES,WN}\) se pueden calcular de la misma manera. \(l_{NE}\) representa la longitud de la fila de vehículos que giran a la izquierda en dirección sur. \(l_{SW}\) representa la longitud de la cola de los vehículos que giran a la izquierda en dirección norte. \(l_{EW}\) representa la longitud de la cola de los vehículos directos en dirección oeste. \(l_{WE}\) representa la longitud de la cola de vehículos directos en dirección este. \(l_{ES}\) representa la longitud de la cola de los vehículos que giran a la izquierda en dirección oeste. \(l_{WN}\) representa la longitud de la cola de los vehículos que giran a la izquierda en dirección este. Además, en la Ec. (2), \(W_{NS,SN}\), \(W_{NE,SW}\), \(W_{EW,WE}\) y \(W_{ES,WN}\) están contenidos. Representan el tiempo total de espera de los vehículos de un sentido específico. El método de cálculo de estos cuatro valores se presenta en la ecuación. (4). Mientras \(W_{NS,SN}\) se calcula, \(N_t\) representa el número de vehículos directos hacia el sur y hacia el norte. De manera similar, mientras \(W_{NE,SW}\) se calcula, \(N_t\) representa el número de vehículos que giran a la izquierda hacia el sur y hacia el norte. Mientras \(W_{EW,WE}\) se calcula, \(N_t\) representa el número de vehículos de paso hacia el oeste y hacia el este. Si bien \(W_{ES,WN}\) se calcula, \(N_t\) representa el número de vehículos que giran a la izquierda en dirección este y en dirección oeste. No importa qué valor se calcule mediante la Ec. (4), \(w_n\) representa el tiempo de espera de \(n-th\) vehículo de dirección específica.

En los algoritmos de aprendizaje por refuerzo basados ​​en modelos, el modelo se utiliza para calcular el valor Q de cada acción. Como el estado recopilado de una intersección está representado por dos matrices, el algoritmo propuesto utiliza la red neuronal convolucional para calcular el valor Q para la acción.

Modelo de red neuronal convolucional utilizado en el algoritmo propuesto.

El modelo de red neuronal convolucional (CNN) utilizado por el algoritmo propuesto se presenta en la Fig. 3. Podemos encontrar que la matriz de posición y la matriz de velocidad se ingresan en el mismo modelo de red neuronal convolucional por separado. Entonces se obtienen dos vectores diferentes. Cada uno contiene 9 valores. Supongamos que estos dos vectores son \(vec_p\) y \(vec_s\). Sobre la base de estos dos vectores, se calcula un nuevo vector. También contiene 9 valores. Este nuevo vector se llama \(vec_n\). Como hay 9 acciones contenidas en el espacio de acción, cada elemento de \(vec_n\) corresponde a una acción. El método utilizado para calcular el valor del elemento de \(vec_n\) se presenta en la ecuación. (5).

\(n_i\) es el elemento \(i-th\) de \(vec_n\). \(p_i\) es \(i-ésimo\) elemento de \(vec_p\). Y \(s_i\) es \(i-th\) elemento de \(vec_s\). En la ecuación. (5), podemos encontrar que el valor de peso de \(p_i\) es mayor. Es porque la posición de los vehículos es más importante que la velocidad de los vehículos para juzgar la congestión del tráfico. Si la cola de vehículos congestionados es muy larga, aunque los vehículos congestionados estén en marcha, no les resultará fácil pasar la intersección en un período breve. Pero, obviamente, si los vehículos congestionados siguen circulando, la congestión del tráfico se puede aliviar. Por lo tanto, también se debe considerar la velocidad de los vehículos congestionados. Por lo tanto, tanto \(p_i\) como \(s_i\) se usan al calcular \(n_i\). Al mismo tiempo, el valor de peso de \(p_i\) es mayor que \(s_i\).

En el modelo CNN presentado en la Fig. 3, están contenidas tres capas convolucionales. La primera capa convolucional contiene 8 filtros. La segunda capa convolucional contiene 16 filtros. La tercera capa convolucional contiene 32 filtros. El tamaño de cada filtro es \(5\times 5\) y se mueve \(1\times 1\) zancadas cada vez a través de los datos de entrada. Además, el modelo contiene tres capas de agrupación. Se utiliza el método de agrupación máxima. Y el tamaño de los filtros contenidos en las capas de agrupación es \(2\times 2\). El tamaño de salida de la primera capa convolucional es \(46\times 46\times 8\). El tamaño de salida de la primera capa de agrupación es \(23\times 23\times 8\). El tamaño de salida de la segunda capa convolucional es \(19\times 19\times 16\). El tamaño de salida de la segunda capa de agrupación es \(10\times 10\times 16\). El tamaño de salida de la tercera capa convolucional es \(6\times 6\times 32\). El tamaño de salida de la tercera capa de agrupación es \(3\times 3\times 32\). La salida de la tercera capa de agrupación se transformará en un tensor. La forma de este tensor es \(288\times 1\). Después de eso, este tensor se ingresa en una capa completamente conectada. La salida de la capa totalmente conectada es un vector, que contiene 9 valores. La capa completamente conectada contiene dos capas diferentes. En la primera capa están contenidas 100 neuronas. Y, en la segunda capa, están contenidas 9 neuronas. La función ReLU es la función de activación utilizada en el modelo descrito anteriormente.

Inicialmente, los parámetros del modelo CNN se asignan aleatoriamente. Luego serán capacitados continuamente. En el algoritmo propuesto, el procedimiento de entrenamiento de parámetros se ejecuta al final de cada ciclo de semáforo. Generalmente, el objetivo principal del aprendizaje por refuerzo es seleccionar una serie de acciones que pueden hacer que el entorno exterior alcance el estado óptimo. Este requerimiento puede ser representado por la Ec. (6).

En la ecuación. (6), s representa el último estado. a representa la última acción seleccionada. Q(s, a) es el valor Q obtenido al realizar una acción en un estado dado s. R(s, a) representa la recompensa. \(s'\) representa el estado recién recopilado después de realizar la acción a. \(a'\) es la acción recién seleccionada. Después de realizar la acción \(a'\) basada en el estado \(s'\), se puede obtener el valor Q máximo. Este valor Q máximo es \(Q(s',\mathop {argmax}\limits _{a'}(s',a'))\). \(\gamma \) es el factor de descuento. Con base en el requisito presentado en la Ec. (6), la función de pérdida utilizada por el algoritmo propuesto para entrenar el modelo CNN se presenta en la ecuación. (7).

B representa el número de cuádruples construidos y almacenados antes. En la ecuación. (7), significado de R(s, a), \(Q(s',\mathop {argmax}\limits _{a'}(s',a'))\), Q(s, a) y \(\gamma \) es lo mismo que la ecuación. (6). De la ecuación. (6), sabemos que \(R(s,a)+\gamma Q(s',\mathop {argmax}\limits _{a'}(s',a'))\) y Q(s, a) debe estar lo más cerca posible. Por lo tanto, la función de pérdida debe minimizarse. Esta función de pérdida se puede optimizar utilizando el método de estimación de momento adaptativo (Adam).

Durante el procedimiento de optimización, se debe calcular el valor de la función de pérdida. El procedimiento de cálculo se presenta en la Fig. 4. Durante el procedimiento, se utilizan los cuádruples almacenados. Estos cuádruples tienen la forma de \(\langle s,a,r,s' \rangle \). El procedimiento de recolección cuádruple se presenta en los primeros tres pasos de la Fig. 4. La tarea de cálculo del valor de la función de pérdida también contiene tres pasos. Primero, calcule Q(s, a) basado en \(\langle s,a \rangle \). En segundo lugar, calcule el valor Q más alto \(Q(s',a')\) según el estado \(s'\) y el modelo CNN. El primer paso y el segundo paso deben repetirse B veces y se utilizarán B cuádruples diferentes. En tercer lugar, calcule el valor de la función de pérdida presentada en la ecuación. (7) usando todos los Q(s, a), r y \(Q(s',a')\) calculados antes.

Procedimiento de cálculo del valor de la función de pérdida.

Generalmente, la condición del tráfico de una intersección puede afectar a sus vecinos. Es porque los vehículos que aparecen en una intersección llegarán a sus intersecciones adyacentes en el momento siguiente. Entonces, la congestión del tráfico de una intersección puede extenderse a sus vecinos en un futuro cercano. En esta situación, para aliviar futuras congestiones de tráfico, cada agente debe comunicarse con sus vecinos mediante el envío de mensajes. Los mensajes contienen información sobre las condiciones del tráfico de la intersección correspondiente. El método de comunicación propuesto se describe en esta sección.

Como cada agente debe seleccionar una acción en función de su condición de tráfico local, la acción seleccionada se puede utilizar para representar la condición del tráfico. En esta situación, un agente puede intentar observar la condición del tráfico de sus vecinos en función de la acción seleccionada por sus vecinos. Por lo tanto, el mensaje enviado a los vecinos debe contener dos factores. Uno es la información de ubicación del agente. El otro es el tipo de acción. Entonces, el mensaje debe tener la forma de \(\langle direction,action\_type \rangle \). dirección representa a qué dirección se envía el mensaje. Por lo tanto, se utilizará para presentar la ubicación del remitente del mensaje. El valor de dirección puede ser n, s, e y w, que significan norte, sur, este y oeste. El valor de \(action\_type\) puede ser 0, 1 o \(-1.0\) significa que la duración de la fase específica del remitente del mensaje no cambia. 1 significa que los 5 s se suman a la duración de la fase relacionada. \(-1\) significa que se reducen 5 s de la longitud de fase relacionada. Según esto, podemos encontrar que diferentes acciones seleccionadas corresponden a diferentes mensajes. La relación correspondiente entre acciones y mensajes se presenta en la Tabla 1. Si se selecciona una acción presentada en la primera columna, los mensajes presentados en la segunda columna se enviarán a los vecinos correspondientes. Por ejemplo, mientras se selecciona la acción \(\langle t_1+5,t_2,t_3,t_4 \rangle \), \(\langle n,1 \rangle \) se enviará al vecino del norte y \(\langle s, 1 \rangle \) se enviará al vecino del sur. \(\langle e,0 \rangle \) se enviará al vecino del este. \(\langle w,0 \rangle \) se enviará al vecino del oeste.

Como diferentes agentes enviarán mensajes en diferentes momentos, se debe considerar la sincronización de los mensajes. Se cumple mediante el uso de una estructura de datos. Mientras un agente recibe un mensaje, este mensaje se almacenará. La estructura de datos utilizada para almacenar el mensaje recibido tiene la forma de \((\langle n,0 \rangle ,\langle s,0 \rangle ,\langle e,0 \rangle ,\langle w,0 \rangle )\ ). Contiene cuatro tuplas. Inicialmente, los segundos elementos de todas las tuplas son 0. Se actualizarán en función de los mensajes recibidos. Por ejemplo, si se recibe \(\langle n,1 \rangle \), la estructura de datos será \((\langle n,1 \rangle ,\langle s,0 \rangle ,\langle e,0 \rangle , \langle w,0 \rangle )\). Mientras se recibe un nuevo mensaje, la estructura de datos debe actualizarse inmediatamente. Al hacerlo, los mensajes en tiempo real se pueden almacenar en esta estructura de datos para reemplazar los mensajes antiguos. Mientras se realiza el cronometraje de los semáforos, después de seleccionar una nueva acción \(a'\), se debe verificar la estructura de datos. Supongamos que la estructura de datos se cambia a \((\langle n,value_1 \rangle , \langle s,value_2 \rangle , \langle e,value_3 \rangle , \langle w,value_4 \rangle )\). Si \(value_1\) o \(value_2\) es 1, \(t_1\) y \(t_2\) de la acción \(a'\) se sumarán otros 3 s. Si el valor de \(value_1\) y \(value_2\) son (0, 0), \((0,-1)\) o \((-1,0)\), \(t_1\) y \(t_2\) seguirá sin cambios. Si tanto \(value_1\) como \(value_2\) son \(-1\), se reducirán 3 s de \(t_1\) y \(t_2\). Si \(value_3\) o \(value_4\) es 1, \(t_3\) y \(t_4\) de la acción \(a'\) se sumarán otros 3 s. Si el valor de \(value_3\) y \(value_4\) son (0, 0), \((0,-1)\) o \((-1,0)\), \(t_3\) y \(t_4\) permanecerá sin cambios. Si tanto \(value_3\) como \(value_4\) son -1, se reducirán 3 minutos de \(t_3\) y \(t_4\). Mientras finaliza el procedimiento de actualización, la estructura de datos se restablecerá a \((\langle n,0 \rangle ,\langle s,0 \rangle ,\langle e,0 \rangle ,\langle w,0 \rangle )\).

En el algoritmo 1, podemos encontrar que todos los pasos están contenidos en un ciclo while. Este bucle es una iteración infinita. El tiempo de ejecución de este bucle depende del número de ciclos del semáforo. Si un semáforo ha ejecutado n ciclos, el bucle while del algoritmo 1 se realiza n veces. Entre todos los pasos contenidos en el bucle while, el paso que consume más tiempo es el procedimiento de entrenamiento del modelo. Esta tarea se cumple utilizando el algoritmo de Adam. Como la complejidad del algoritmo Adam es \(O(\log {d\sqrt{T}})\), si un semáforo ha realizado n ciclos, la complejidad del algoritmo propuesto es \(O(n*\ registro {d\sqrt{T}})\).

Se ejecutan dos experimentos de simulación. Cada experimento de simulación contiene un conjunto de datos de trayectoria y una red de carreteras. En el primer experimento, se utilizan datos de trayectoria sintética. En el segundo experimento, se utilizan datos de trayectoria del mundo real. Las características de estos dos conjuntos de datos y la red vial correspondiente se presentarán a continuación.

Conjunto de datos de trayectoria sintética: este conjunto de datos se crea artificialmente. Contiene la trayectoria de 5372 vehículos. La tasa de llegada de los vehículos generados obedece a una distribución gaussiana. La velocidad de marcha de todos los vehículos está limitada por debajo de 55 km/h. Y, entre todos estos vehículos, el 20% opta por girar a la derecha; El 60% de ellos elige ir directamente; y los demás vehículos optan por girar a la izquierda. La red vial construida contiene 9 intersecciones. Es una cuadrícula \(3 \times 3\). Entonces, 3 intersecciones están contenidas en cada columna y cada fila.

Conjunto de datos de trayectoria del mundo real: este conjunto de datos contiene la trayectoria de 2983 vehículos. Y se recolecta del subdistrito de Dongfeng, Jinan, provincia de Shandong, China. Todos estos vehículos entran en la red de carreteras en 1 hora. La red vial construida contiene 12 intersecciones. Es una cuadrícula \(3 \times 4\). Así que hay 4 intersecciones en cada fila. Y cada columna contiene 3 intersecciones.

En el conjunto de datos de trayectoria sintética, la cuadrícula de tráfico es una red \(3 \times 3\) y hay 5372 vehículos circulando en esta cuadrícula de tráfico. Obviamente, el número de vehículos es muy grande. Por lo tanto, se puede probar la eficiencia del algoritmo ITLC propuesto para aliviar la congestión del tráfico pesado. Al mismo tiempo, podemos encontrar que los datos sintéticos son diferentes de los datos del mundo real. En primer lugar, existe una diferencia entre las trayectorias sintéticas y las trayectorias del mundo real. En segundo lugar, el número de vehículos del conjunto de datos del mundo real es significativamente menor que el conjunto de datos sintético. En tercer lugar, la cuadrícula de tráfico del conjunto de datos del mundo real es más grande. Por lo tanto, para probar la eficiencia del algoritmo propuesto en el entorno del mundo real, se utiliza un conjunto de datos de trayectoria del mundo real en el experimento.

Para evaluar los algoritmos de ITLC, se utilizan dos valores métricos en este experimento, que son el tiempo de espera promedio y el valor de recompensa promedio. El motivo se describe a continuación:

Tiempo promedio de espera: Obviamente, uno de los objetivos de aliviar la congestión del tráfico es reducir el tiempo total de espera de todos los vehículos congestionados. Entonces, cuanto más se reduce el tiempo total de espera, mejor es el algoritmo ITLC. Como el tiempo de espera promedio es proporcional al tiempo de espera total, se utilizará como métrica el tiempo de espera promedio de los vehículos congestionados.

Recompensa: para tener en cuenta el tiempo de espera y la longitud de la cola, el valor de la recompensa se calcula utilizando el método presentado en la sección Recompensa. El valor de recompensa promedio de todos los agentes se utiliza como métrica. De acuerdo con el método de cálculo de recompensa propuesto, cuanto mayor sea el valor de recompensa promedio, mejor será el algoritmo ITLC.

Como el algoritmo propuesto intenta promover el efecto de coordinación del algoritmo ITLC descentralizado, se deben comparar otros dos algoritmos ITLC que adoptan un método de coordinación diferente con el algoritmo propuesto. Entre estos dos algoritmos, uno es un algoritmo basado en un solo agente que se llama SABA; El otro es un algoritmo descentralizado basado en múltiples agentes que se llama MARDDPG34. Estos dos algoritmos se describen a continuación.

SABA: en este algoritmo, se utiliza el algoritmo de red Q profunda (DQN) para controlar cada semáforo. La red neuronal profunda utilizada en DQN es una red neuronal convolucional. El estado, los espacios de acción y el método de cálculo de recompensas que utiliza SABA son los mismos que los del algoritmo ITLC propuesto. Pero el procedimiento de comunicación entre agentes es eliminado por este algoritmo. Así que todos los agentes trabajan de forma independiente.

MARDDPG: MARDDPG es un algoritmo descentralizado basado en múltiples agentes. Este algoritmo se propone en base a un algoritmo de gradiente de política determinista profundo. Intenta entrenar el modelo de red neuronal profunda de cada agente de forma centralizada. En esta condición, todo agente conocerá las políticas de otros agentes. Pero el modelo se ejecuta de forma descentralizada. Al hacerlo, cada agente puede tomar decisiones de forma independiente.

El algoritmo SABA utiliza el mismo algoritmo de red Q profunda con el algoritmo propuesto. Pero los agentes de la red de tráfico no se comunican entre sí. Por lo tanto, cada agente no conoce el estado del tráfico de otros agentes. Al comparar el algoritmo SABA con el algoritmo propuesto, podemos probar si considerar la condición del tráfico de las intersecciones vecinas es útil para aliviar la congestión del tráfico o no. El algoritmo MARDDPG también es un algoritmo ITLC descentralizado propuesto recientemente. En este algoritmo, los agentes no necesitan comunicarse entre sí. Cada agente puede intentar conocer los estados de otros agentes a través del modelo entrenado de forma centralizada. Entonces la póliza óptima será obtenida por cada agente en base a la póliza estimada de otros agentes. El método de adquisición de estado utilizado por el algoritmo MARDDPG es muy distintivo. Al comparar el algoritmo MARDDPG con el algoritmo propuesto, podemos encontrar qué tipo de algoritmo descentralizado es más eficiente para aliviar la congestión del tráfico.

El software de simulación utilizado en este experimento es SUMO36 (Simulación de movilidad urbana). SUMO es un software de simulación de tráfico microscópico de código abierto. Es discreto en el tiempo y continuo en el espacio. Las reglas de conducción por el lado derecho son compatibles con este software. El enrutamiento dinámico también es compatible con este software. Y una interfaz gráfica visual basada en OpenGL está contenida en SUMO. La red de carreteras utilizada en SUMO se puede construir utilizando una interfaz gráfica visual o escribiendo un archivo XML directamente.

El semáforo utilizado en este experimento contiene cuatro fases. La fase 1 es (norte, sur) y (sur, norte) verde. En esta fase, los vehículos directos hacia el sur y hacia el norte pueden pasar la intersección. La fase 2 es (norte, este) y (sur, oeste) verde. En esta fase, los vehículos que giran a la izquierda en dirección norte y los que giran a la izquierda en dirección sur pueden pasar la intersección. La fase 3 es (este, oeste) y (oeste, este) verde. En esta fase, los vehículos de paso en dirección este y en dirección oeste pueden pasar la intersección. La fase 4 es (este, sur) y (oeste, norte) verde. En esta fase, los vehículos que giran a la izquierda en dirección este y que giran a la izquierda en dirección oeste pueden pasar la intersección. Todas estas fases son mutuamente excluyentes. La longitud de cada camino que conecta dos intersecciones es de 800 metros de largo. Cada vía contiene tres carriles entrantes y tres carriles salientes. En cada tres carriles, se habilita el carril de la izquierda para los vehículos que van de frente y giran a la izquierda. Se prepara el carril central para los vehículos que van recto. El carril más a la derecha está preparado para los vehículos que giran a la derecha.

Los resultados experimentales se presentan y discuten en esta sección. Los resultados experimentales obtenidos con base en el conjunto de datos sintéticos se presentan en la Fig. 5. Y los resultados experimentales obtenidos con base en el conjunto de datos del mundo real se presentan en la Fig. 6. Las Figuras 5a y 6a presentan el tiempo de espera promedio de todos los vehículos recolectados en el tiempo específico. En estas dos figuras, el eje x representa el número de episodio del experimento de simulación. Hay 30 episodios en este experimento. Y cada episodio contiene 200 s. El eje y representa el tiempo de espera promedio. Además, las Figs. 5b y 6b presentan el valor de recompensa promedio de todos los agentes recolectados en el momento específico. En estas dos figuras, el eje x también representa el número de episodio del experimento de simulación. El eje y representa el valor de recompensa promedio. En todas estas cuatro figuras, la línea con un cuadrado representa el algoritmo propuesto. La línea con un círculo representa el algoritmo SABA. La línea con un triángulo representa el algoritmo MARDDPG.

Resultados experimentales basados ​​en conjuntos de datos sintéticos.

Resultados experimentales basados ​​en conjuntos de datos del mundo real.

A partir de los resultados experimentales presentados en las Figs. 5a y 6a, podemos encontrar que el tiempo de espera promedio de estos tres algoritmos disminuye mientras que el número de episodios aumenta. Además, en las Figs. 5b y 6b, podemos encontrar que el valor de recompensa promedio de todos los algoritmos aumenta a medida que aumenta el número de episodios. Significa que estos tres algoritmos pueden aliviar la congestión del tráfico. En las Figs. 5a y 6a, la curva del algoritmo SABA fluctúa en los primeros varios episodios. Esto se debe principalmente a que, al ejecutar el algoritmo SABA, cada agente no conoce el estado del tráfico de otras intersecciones. Por lo tanto, estos agentes no pueden tomar medidas por adelantado. Además, en los primeros episodios, el número de vehículos aumenta continuamente. Entonces, la congestión del tráfico ocurre con frecuencia en cada intersección. Además, podemos encontrar que la tasa decreciente del tiempo de espera promedio del algoritmo MARDDPG es similar al algoritmo propuesto, pero la curva del algoritmo propuesto es más suave que el algoritmo MARDDPG. Significa que el método de intercambio de información utilizado en el algoritmo propuesto es más adecuado para hacer frente a la futura congestión del tráfico. Además, en las Figs. 5a y 6a, podemos encontrar que el tiempo de espera promedio de estos tres algoritmos cambiará muy poco en los últimos episodios. Y, durante este período, el tiempo de espera del algoritmo propuesto es menor que el algoritmo MARDDPG. El tiempo de espera del algoritmo MARDDPG es menor que el algoritmo SABA. Significa que el algoritmo propuesto es mejor que los otros dos algoritmos para reducir el tiempo de espera promedio de los vehículos congestionados. El algoritmo MARDDPG es mejor que el algoritmo SABA. En las Figs. 5b y 6b, se presentan los valores de recompensa de estos tres algoritmos. A partir de estas dos cifras, podemos encontrar que los valores de recompensa de estos tres algoritmos aumentan mientras aumenta el número de episodios. Y, finalmente, los valores de recompensa de estos tres algoritmos fluctúan alrededor de un valor específico en los últimos episodios. Obviamente, la curva del algoritmo propuesto es más suave que los otros dos algoritmos. Significa que el algoritmo propuesto es más estable que los demás. Como el valor de recompensa del algoritmo propuesto es más alto que el algoritmo MARDDPG en los últimos episodios y el valor de recompensa del algoritmo MARDDPG es más alto que el algoritmo SABA, podemos concluir que el algoritmo propuesto puede funcionar mejor aumentando el valor de la recompensa. Entonces, el algoritmo propuesto puede reducir de manera eficiente tanto el tiempo de espera como la longitud de la cola de los vehículos congestionados de manera eficiente.

En este artículo, se propone un nuevo algoritmo descentralizado. Los algoritmos descentralizados tradicionales se ocupan principalmente de mejorar el modelo utilizado por el algoritmo de aprendizaje por refuerzo y el método de coordinación. Se pasa por alto la comunicación entre los agentes. El algoritmo propuesto intenta diseñar un método de comunicación eficiente entre agentes. Además, para mejorar el modelo de red Q profunda utilizado en el algoritmo propuesto, en este artículo se propone un nuevo método de cálculo de recompensa. Como la congestión del tráfico se puede pronosticar en función de la trayectoria, intentaremos tener en cuenta las leyes de la trayectoria del vehículo al realizar el control de las señales de tráfico en la investigación futura.

Los conjuntos de datos utilizados y analizados durante el estudio actual están disponibles en https://traffic-signal-control.github.io/#opendatasets.

Kaelbling, LP, Littman, ML y Moore, AW Aprendizaje por refuerzo: una encuesta. J. Artif. Intel. Res. 4, 237–285 (1996).

Artículo Google Académico

Genders, W. & Razavi, S. Uso de un agente de aprendizaje de refuerzo profundo para el control de señales de tráfico. arXiv:1611.01142 (2016).

Casas, N. Gradiente político determinista profundo para el control de semáforos urbanos. arXiv:1703.09035 (2017).

Balaji, P., German, X. & Srinivasan, D. Control de señales de tráfico urbano utilizando agentes de aprendizaje por refuerzo. IET Intel. Sistema de transporte 4, 177–188 (2010).

Artículo Google Académico

Abdoos, M., Mozayani, N. & Bazzan, AL Control de semáforos en entornos no estacionarios basado en q-learning multiagente. En 2011, 14.ª conferencia internacional IEEE sobre sistemas de transporte inteligentes (ITSC), 1580–1585 (IEEE, 2011).

Brys, T., Pham, TT & Taylor, ME Aprendizaje distribuido y multiobjetividad en el control de semáforos. Conectar. ciencia 26, 65–83 (2014).

Artículo ANUNCIOS Google Académico

Arel, I., Liu, C., Urbanik, T. & Kohls, AG Sistema multiagente basado en aprendizaje de refuerzo para el control de señales de tráfico de red. IET Intel. Sistema de transporte 4, 128–135 (2010).

Artículo Google Académico

Nishi, T., Otaki, K., Hayakawa, K. & Yoshimura, T. Control de señales de tráfico basado en el aprendizaje por refuerzo con redes neuronales convolucionales gráficas. En 2018, 21ª Conferencia internacional sobre sistemas de transporte inteligentes (ITSC), 877–883 (IEEE, 2018).

Devailly, F.-X., Larocque, D. & Charlin, L. Ig-rl: aprendizaje de refuerzo gráfico inductivo para el control de señales de tráfico a gran escala. Trans. IEEE. Intel. transporte sist. 23, 7496–7507. https://doi.org/10.1109/TITS.2021.3070835 (2022).

Artículo Google Académico

Abdoos , M. , Mozayani , N. & Bazzan , AL Control jerárquico de señales de tráfico utilizando q-learning con codificación de mosaicos . aplicación Intel. 40, 201–213 (2014).

Artículo Google Académico

Bakker, B., Whiteson, S., Kester, L. & Groen, FC Control de semáforos mediante sistemas de aprendizaje por refuerzo multiagente. En Interactive Collaborative Information Systems, 475–510 (Springer, 2010).

Antonio, G.-P. & Maria-Dolores, C. Aprendizaje de refuerzo profundo multiagente para gestionar vehículos autónomos conectados en las intersecciones del mañana. Trans. IEEE. Veh. Tecnología 71, 7033–7043. https://doi.org/10.1109/TVT.2022.3169907 (2022).

Artículo Google Académico

Zheng, G. et al. Fase de aprendizaje del concurso para el control de semáforos. En Actas de la 28.ª Conferencia Internacional de la ACM sobre Gestión de la Información y el Conocimiento, 1963–1972 (2019).

Chen, C. et al. Hacia las mil luces: aprendizaje de refuerzo profundo descentralizado para el control de señales de tráfico a gran escala. En Actas de la Conferencia AAAI sobre Inteligencia Artificial34, 3414–3421 (2020).

Zang, X. et al. Metalight: aprendizaje de metarrefuerzo basado en valores para el control de señales de tráfico. proc. Conferencia AAAI Artefacto Intel. 34, 1153–1160 (2020).

Google Académico

Dong, S., Wang, P. & Abbas, K. Una encuesta sobre el aprendizaje profundo y sus aplicaciones. computar ciencia Rev. 40, 100379. https://doi.org/10.1016/j.cosrev.2021.100379 (2021).

Artículo MathSciNet MATEMÁTICAS Google Académico

Xia, Y., Dong, S., Peng, T. y Wang, T. Método de detección de tráfico anómalo de red inalámbrica basado en aprendizaje de refuerzo de transferencia profunda. En 2021 17th International Conference on Mobility, Sensing and Networking (MSN), 528–535, https://doi.org/10.1109/MSN53354.2021.00083 (2021).

Dong, S., Xia, Y. & Peng, T. Modelo de detección de tráfico anormal en la red basado en aprendizaje de refuerzo profundo semisupervisado. Trans. IEEE. Neto. serv. Administrar. 18, 4197–4212. https://doi.org/10.1109/TNSM.2021.3120804 (2021).

Artículo Google Académico

Luong, NC et al. Aplicaciones del aprendizaje de refuerzo profundo en comunicaciones y redes: una encuesta. Común IEEE. sobrev. Tutor. 21, 3133–3174. https://doi.org/10.1109/COMST.2019.2916583 (2019).

Artículo Google Académico

Guo, M., Wang, P., Chan, C.-Y. & Askary, S. Un enfoque de aprendizaje por refuerzo para el control inteligente de semáforos en intersecciones urbanas. En 2019 IEEE Intelligent Transportation Systems Conference (ITSC), 4242–4247, https://doi.org/10.1109/ITSC.2019.8917268 (2019).

Kumar, N., Rahman, SS y Dhakad, N. La inferencia difusa permitió el control de semáforos basado en el aprendizaje de refuerzo profundo para el sistema de transporte inteligente. Trans. IEEE. Intel. transporte sist. 22, 4919–4928. https://doi.org/10.1109/TITS.2020.2984033 (2021).

Artículo Google Académico

Kolat, M., Kovari, B., Becsi, T. y Aradi, S. Aprendizaje por refuerzo de múltiples agentes para el control de señales de tráfico: un enfoque cooperativo. Sostenibilidadhttps://doi.org/10.3390/su15043479 (2023).

Artículo Google Académico

Zhu, R. et al. Aprendizaje de refuerzo amplio multiagente para el control inteligente de semáforos. información ciencia 619, 509–525. https://doi.org/10.1016/j.ins.2022.11.062 (2023).

Artículo Google Académico

Du, T., Wang, B. & Hu, L. Control de semáforo de intersección única mediante aprendizaje de refuerzo de múltiples agentes. J. Phys: Conf. Ser. 2449, 012031. https://doi.org/10.1088/1742-6596/2449/1/012031 (2023).

Artículo Google Académico

Qu, Z., Pan, Z., Chen, Y., Wang, X. y Li, H. Un método de control distribuido para redes urbanas mediante el aprendizaje por refuerzo de múltiples agentes basado en el equilibrio nash de estrategia mixta regional. Acceso IEEE 8, 19750–19766 (2020).

Artículo Google Académico

Tan, T. et al. Aprendizaje cooperativo de refuerzo profundo para el control de señales de red de tráfico a gran escala. Trans. IEEE. cibernet. 50, 2687–2700 (2019).

Artículo Google Académico

Rashid, T. et al. Qmix: factorización de función de valor monótono para el aprendizaje por refuerzo multiagente profundo. En Conferencia internacional sobre aprendizaje automático, 4295–4304 (PMLR, 2018).

Wang, T., Cao, J. & Hussain, A. Control adaptativo de semáforos para escenarios a gran escala con aprendizaje de refuerzo multiagente basado en grupos cooperativos. transporte Res. C: Emergente. Tecnología 125, 103046. https://doi.org/10.1016/j.trc.2021.103046 (2021).

Artículo Google Académico

Tan, T., Chu, T., Peng, B. y Wang, J. Control de señales de red de tráfico a gran escala mediante aprendizaje de refuerzo difuso descentralizado. En Actas de la Conferencia de Sistemas Inteligentes SAI (IntelliSys) 2016, 652–662 (Springer, 2018).

Chu, T., Wang, J., Codeca, L. y Li, Z. Aprendizaje de refuerzo profundo multiagente para el control de señales de tráfico a gran escala. Trans. IEEE. Intel. transporte sist. 21, 1086–1095. https://doi.org/10.1109/TITS.2019.2901791 (2020).

Artículo Google Académico

Wang, X., Ke, L., Qiao, Z. y Chai, X. Control de señales de tráfico a gran escala mediante un novedoso aprendizaje de refuerzo multiagente. Trans. IEEE. cibernet. 51, 174–187. https://doi.org/10.1109/TCYB.2020.3015811 (2021).

Artículo Google Académico

Chen, C. et al. Hacia las mil luces: aprendizaje de refuerzo profundo descentralizado para el control de señales de tráfico a gran escala. proc. Conferencia AAAI Artefacto Intel. 34, 3414–3421. https://doi.org/10.1609/aaai.v34i04.5744 (2020).

Artículo Google Académico

Su, H., Zhong, YD, Dey, B. & Chakraborty, A. Emvlight: Un marco de aprendizaje de refuerzo descentralizado para el paso eficiente de vehículos de emergencia. proc. Conferencia AAAI Artefacto Intel. 36, 4593–4601. https://doi.org/10.1609/aaai.v36i4.20383 (2022).

Artículo Google Académico

Wu, T. et al. Aprendizaje por refuerzo profundo multiagente para el control de semáforos urbanos en redes vehiculares. Trans. IEEE. Veh. Tecnología 69, 8243–8256 (2020).

Artículo Google Académico

Gong, Y., Abdel-Aty, M., Cai, Q. y Rahman, MS Control de señal adaptable de nivel de red descentralizado mediante aprendizaje de refuerzo profundo multiagente. transporte Res. Interdiscip. Perspectiva. 1, 100020. https://doi.org/10.1016/j.trip.2019.100020 (2019).

Artículo Google Académico

Krajzewicz, D., Hertkorn, G., Rössel, C. y Wagner, P. Sumo (simulación de movilidad urbana): una simulación de tráfico de código abierto. En Actas del 4.º Simposio sobre simulación y modelado de Oriente Medio (MESM20002), 183–187 (2002).

Descargar referencias

Este trabajo cuenta con el apoyo del proyecto clave del Fondo de Investigación Tecnológica de la Universidad de Mongolia Interior (ZZ201908), el fondo de doctorado del proyecto de investigación de la Universidad Tecnológica de Mongolia Interior (BS2020040), la Fundación Nacional de Ciencias Naturales de China (62062054), el Fondo de Doctorado Autónomo de la Fundación de Ciencias Naturales de Mongolia Interior (2020BS06007), Gastos de investigación científica básica de universidades y colegios en Mongolia Interior (JY20220257).

Facultad de Ciencia y Aplicación de Datos, Universidad Tecnológica de Mongolia Interior, Centro de Investigación de Ingeniería y Tecnología de la Región Autónoma de Mongolia Interior del Servicio de Software Basado en Big Data, Huhhot, 10080, Monglia Interior, China

Dongjiang Liu y Leixiao Li

También puede buscar este autor en PubMed Google Scholar

También puede buscar este autor en PubMed Google Scholar

DL propuso el algoritmo. DL concibió los experimentos, realizó los experimentos y analizó los resultados. DL escribió el manuscrito. Todos los autores revisaron el manuscrito.

Correspondencia a Dongjiang Liu.

Los autores declaran no tener conflictos de intereses.

Springer Nature se mantiene neutral con respecto a los reclamos jurisdiccionales en mapas publicados y afiliaciones institucionales.

Acceso abierto Este artículo tiene una licencia internacional Creative Commons Attribution 4.0, que permite el uso, el intercambio, la adaptación, la distribución y la reproducción en cualquier medio o formato, siempre que se otorgue el crédito correspondiente al autor o autores originales y a la fuente. proporcionar un enlace a la licencia Creative Commons e indicar si se realizaron cambios. Las imágenes u otro material de terceros en este artículo están incluidos en la licencia Creative Commons del artículo, a menos que se indique lo contrario en una línea de crédito al material. Si el material no está incluido en la licencia Creative Commons del artículo y su uso previsto no está permitido por la regulación legal o excede el uso permitido, deberá obtener el permiso directamente del titular de los derechos de autor. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by/4.0/.

Reimpresiones y permisos

Liu, D., Li, L. Un método de control de semáforos basado en un algoritmo de aprendizaje de refuerzo profundo multiagente. Informe científico 13, 9396 (2023). https://doi.org/10.1038/s41598-023-36606-2

Descargar cita

Recibido: 25 febrero 2023

Aceptado: 07 junio 2023

Publicado: 09 junio 2023

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

Cualquier persona con la que compartas el siguiente enlace podrá leer este contenido:

Lo sentimos, un enlace para compartir no está disponible actualmente para este artículo.

Proporcionado por la iniciativa de intercambio de contenido Springer Nature SharedIt

Al enviar un comentario, acepta cumplir con nuestros Términos y Pautas de la comunidad. Si encuentra algo abusivo o que no cumple con nuestros términos o pautas, márquelo como inapropiado.