AI Agent在智慧城市中的交通调度应用:构建自主协作的未来出行系统

关键词

AI Agent | 多智能体系统 | 交通信号控制 | 路径规划 | 车路协同 | 强化学习 | 智慧城市交通

摘要

随着全球城市化进程的加速,交通拥堵、能源浪费、安全隐患已成为现代城市发展的核心“城市病”。传统交通调度依赖静态规则或集中式算法,无法实时响应复杂多变的交通流(极端天气、突发事故、大型活动、自动驾驶与人工驾驶混行等)。AI Agent(智能体)作为一种具有感知、推理、决策、学习和协作能力的自主实体,为智慧城市交通调度提供了全新的解决方案。

本文将从智慧城市交通调度的“痛点”入手,系统解析单智能体多智能体协作系统(MAS)、强化学习型智能体混合式交通调度架构等核心概念,对比不同调度方案的核心属性;通过Mermaid流程图、ER实体关系图、交互关系图直观展示系统的工作机制与实体关联;建立基于马尔可夫决策过程(MDP)和部分可观测马尔可夫决策过程(POMDP)的数学模型;提供完整的基于Python的DQN单智能体交通信号控制代码、基于PettingZoo的MAPPO多智能体协作路径规划代码;详细介绍一个车-路-云-边协同的混合AI Agent交通调度示范项目,涵盖环境搭建、功能设计、架构设计、接口设计、核心实现;最后总结最佳实践,梳理技术发展的历史脉络,展望未来(包括完全自动驾驶混行下的调度、量子计算赋能的协作优化、隐私增强型AI Agent)的机遇与挑战。

全文约15万字,适合AI技术爱好者、交通工程师、智慧城市从业者、强化学习研究者阅读,既有基础概念的通俗讲解,又有工程实践的深度指导。


1. 背景介绍:城市交通的“生死时速”

核心概念

城市病 | 静态规则调度 | 集中式交通管理 | 交通流复杂性

问题背景

1.1.1 全球城市化的“交通枷锁”

近30年来,全球城市化率从1990年的43%飙升至2023年的56%(联合国数据),预计到2050年将达到68%。在中国,城市化率已突破66%,北京、上海、广州、深圳等超一线城市的核心区早晚高峰车速常年低于15km/h——比骑自行车还慢!

交通拥堵带来的损失触目惊心:

  • 经济损失:根据INRIX 2024全球交通拥堵报告,北京、上海、重庆每年因交通拥堵造成的人均经济损失分别为12,800元、11,900元、10,500元;
  • 能源浪费:中国城市交通能耗占全社会总能耗的约20%,其中拥堵导致的怠速油耗占比超过30%;
  • 环境污染:怠速状态下汽车尾气的CO、NOx排放量是正常行驶的5-10倍,是城市雾霾的主要成因之一;
  • 安全隐患:拥堵路段的事故发生率是畅通路段的3-5倍,2023年中国因交通拥堵间接引发的交通事故占比超过22%(公安部交通管理局数据)。
1.1.2 传统交通调度的“失效边界”

传统交通调度主要分为两类:

  1. 静态规则调度:根据历史交通数据预设固定的信号周期、绿信比(绿灯时间占信号周期的比例)、相位差(相邻路口绿灯启动的时间差),例如北京二环内部分路口采用“潮汐绿波带”“平峰单点定时”“高峰干线协调”规则,但规则一旦设定,除非人工干预,否则不会变化;
  2. 集中式优化调度:将城市交通网络视为一个整体,用数学规划(如线性规划、非线性规划、整数规划)或元启发式算法(如遗传算法、粒子群算法、模拟退火算法)求解全局最优解,例如新加坡的Electronic Road Pricing(ERP)系统升级前的某些路段采用集中式优化,但这种方法存在“计算爆炸”“实时性差”“单点故障风险高”三大致命缺陷:
    • 计算爆炸:城市交通网络包含成千上万个路口、数百万辆车,全局优化的变量数量呈指数级增长,即使是超级计算机也无法在毫秒级(交通调度的决策周期通常为50ms-1s)内求解;
    • 实时性差:集中式优化需要收集全网络的交通数据,处理时间长,无法应对突发事故、极端天气等“黑天鹅”事件;
    • 单点故障风险高:一旦中央服务器故障,整个交通调度系统就会瘫痪。
1.1.3 新型交通场景的“倒逼变革”

随着技术的发展,新型交通场景不断涌现,对交通调度提出了更高的要求:

  1. 自动驾驶与人工驾驶混行:预计到2030年,中国L2-L4级自动驾驶车辆的渗透率将达到30%-50%(德勤中国预测),自动驾驶车辆的行为模式与人工驾驶车辆完全不同(自动驾驶车辆更守规则、响应更快、更安全),传统调度规则无法适应这种“异构交通流”;
  2. 共享出行爆发:网约车、共享单车、共享汽车、共享巴士等共享出行模式已成为城市交通的重要组成部分,共享出行的需求具有“时空集中性”(早晚高峰、商圈、医院、学校等区域),传统调度无法优化共享资源的分配;
  3. 极端天气与突发事故增多:受全球气候变化影响,极端暴雨、暴雪、台风等天气频发;城市道路上的施工、事故、大型活动等突发情况也越来越多,传统调度的响应速度太慢。

问题描述

如何构建一个自主、协作、实时、鲁棒、可扩展的交通调度系统,解决以下问题:

  1. 实时响应复杂多变的交通流:在毫秒级内做出决策,应对突发事故、极端天气等“黑天鹅”事件;
  2. 优化异构交通流的协同:协调自动驾驶与人工驾驶、共享出行与私人出行、机动车与非机动车、行人之间的关系;
  3. 实现全局最优与局部最优的平衡:避免“次优陷阱”(例如某个路口绿灯时间过长,虽然该路口拥堵缓解,但相邻路口拥堵加剧);
  4. 降低单点故障风险:系统具有“容错性”,即使某个节点故障,也不会影响整个系统的运行;
  5. 保护用户隐私:不收集或最少收集用户的个人信息(如出行轨迹、身份信息)。

问题解决

AI Agent与多智能体系统(MAS) 是解决上述问题的最佳方案:

  1. 自主决策:每个AI Agent(如交通路口智能体、自动驾驶车辆智能体、共享单车调度智能体)都具有感知、推理、决策、学习能力,无需中央服务器干预即可自主工作;
  2. 协作优化:AI Agent之间可以通过通信、协商、博弈等方式进行协作,实现全局最优与局部最优的平衡;
  3. 实时响应:单个AI Agent的决策周期为毫秒级,多个AI Agent的协作周期为秒级;
  4. 鲁棒性强:系统具有“分布式架构”,即使某个AI Agent故障,也不会影响其他Agent的运行;
  5. 可扩展性好:系统可以轻松添加新的AI Agent(如新增路口、新增共享出行模式)。

目标读者

  1. AI技术爱好者:了解AI Agent与多智能体系统的基础概念、工作原理、实现方法;
  2. 交通工程师:了解如何将AI技术应用于交通调度,解决实际问题;
  3. 智慧城市从业者:了解如何构建车-路-云-边协同的混合AI Agent交通调度系统;
  4. 强化学习研究者:了解强化学习在交通调度中的应用场景、算法选择、优化方法;
  5. 政策制定者:了解AI Agent交通调度的技术优势、发展趋势、政策建议。

2. 核心概念解析:从“单一工具”到“协作生态”

核心概念

单智能体(Single Agent) | 多智能体系统(Multi-Agent System, MAS) | 强化学习型智能体(RL Agent) | 感知层智能体 | 决策层智能体 | 执行层智能体 | 车-路-云-边协同 | 马尔可夫决策过程(MDP) | 部分可观测马尔可夫决策过程(POMDP)

2.1 什么是AI Agent?

2.1.1 生活化比喻:从“闹钟”到“私人管家”

我们先从生活中的例子来理解AI Agent:

  • 普通闹钟:只能按照预设的时间响铃,没有感知、推理、决策、学习能力——这不是AI Agent
  • 智能闹钟(如小米手环、Apple Watch的闹钟):可以感知用户的睡眠状态(通过心率、加速度传感器),推理出用户的最佳唤醒时间(在浅睡眠阶段唤醒),但只能响铃,没有协作能力——这是一个简单的单感知单决策单执行的弱AI Agent
  • 私人管家(如电影《钢铁侠》中的贾维斯):可以感知用户的所有需求(通过语音、图像、文本、生理信号等多模态感知),推理出最佳解决方案(例如用户说“我饿了”,贾维斯会考虑用户的口味、过敏史、当前位置、附近餐厅的评分、等待时间、优惠信息等,推荐最合适的餐厅),可以执行多个任务(例如预约餐厅、导航、订餐、甚至控制智能家居),可以与其他智能体协作(例如与餐厅的智能收银台、智能家居的智能门锁协作),可以学习用户的习惯(例如用户喜欢吃辣,下次会优先推荐辣的餐厅)——这是一个强AI Agent,也是我们未来想要实现的目标。
2.1.2 学术定义:AI Agent的“五大能力”

根据Russell和Norvig在《人工智能:一种现代的方法》(第4版)中的定义,AI Agent是一个能够通过传感器感知环境,通过执行器作用于环境的自主实体。一个完整的AI Agent应具备以下“五大能力”:

  1. 感知能力:通过传感器(如摄像头、雷达、激光雷达、地磁线圈、GPS、5G/V2X通信模块等)收集环境信息;
  2. 推理能力:对感知到的信息进行分析、处理、推理,形成对环境的认知;
  3. 决策能力:根据认知和目标,选择最优的行动方案;
  4. 学习能力:通过与环境的交互,不断优化自己的感知、推理、决策能力;
  5. 协作能力:与其他AI Agent或人类进行通信、协商、博弈,实现共同的目标。
2.1.3 AI Agent的“结构模型”

AI Agent的结构模型主要分为四类:

  1. 简单反射型Agent:只根据当前的感知信息做出决策,没有记忆(例如普通扫地机器人,只根据前方是否有障碍物决定左转、右转或后退);
  2. 基于模型的反射型Agent:有内部模型(记忆),可以根据历史感知信息和当前感知信息做出决策(例如升级版扫地机器人,可以记住已经扫过的区域,避免重复清扫);
  3. 基于目标的Agent:有明确的目标,可以根据目标选择行动方案(例如导航机器人,目标是从A点到B点,会选择最短路径或最快路径);
  4. 基于效用的Agent:有一个效用函数(Utility Function),可以评估每个行动方案的“好坏程度”,选择效用最高的行动方案(例如共享出行调度Agent,目标是最大化公司利润、最小化用户等待时间、最小化车辆空驶率,会根据这三个目标的权重计算每个行动方案的效用,选择效用最高的方案)。

在智慧城市交通调度中,我们主要使用基于效用的多智能体强化学习型Agent——因为交通调度需要同时考虑多个目标,需要与其他Agent协作,需要不断学习优化。

2.2 什么是多智能体系统(MAS)?

2.2.1 生活化比喻:从“独奏家”到“交响乐团”

我们继续用生活中的例子来理解多智能体系统:

  • 独奏家:只有一个人(单智能体),可以演奏出美妙的音乐,但无法演奏出交响乐;
  • 交响乐团:有多个乐手(多智能体),每个乐手负责不同的乐器(不同的任务),每个乐手都有自己的乐谱(自己的目标),但需要听从指挥(或者通过协作),才能演奏出和谐的交响乐——这就是一个多智能体系统
2.2.2 学术定义:MAS的“五大特征”

根据Wooldridge和Jennings在《Intelligent Agents: Theory and Practice》中的定义,多智能体系统是由多个自主的AI Agent组成的集合,这些Agent通过通信、协商、博弈等方式进行交互,共同解决单个Agent无法解决的复杂问题。一个完整的MAS应具备以下“五大特征”:

  1. 自主性:每个Agent都可以自主决策,不受其他Agent或中央服务器的完全控制;
  2. 分布性:Agent可以分布在不同的物理位置(例如交通路口智能体分布在各个路口,自动驾驶车辆智能体分布在各个车辆上);
  3. 交互性:Agent之间可以通过通信协议(如V2X、MQTT、CoAP等)进行交互;
  4. 协作性:Agent之间可以通过协作实现共同的目标(例如交通路口智能体之间协作,实现干线绿波带;自动驾驶车辆智能体之间协作,实现编队行驶);
  5. 异构性:Agent可以具有不同的感知能力、推理能力、决策能力、学习能力、目标(例如交通路口智能体的目标是最小化路口延误,自动驾驶车辆智能体的目标是最小化自身的行驶时间和能耗)。
2.2.3 MAS的“协作模式”

MAS的协作模式主要分为三类:

  1. 完全协作模式(Fully Cooperative):所有Agent的目标完全一致,例如一群蚂蚁搬家,所有蚂蚁的目标都是把食物搬到蚁穴;
  2. 完全竞争模式(Fully Competitive):所有Agent的目标完全相反,例如国际象棋,一方赢意味着另一方输;
  3. 混合协作-竞争模式(Mixed Cooperative-Competitive):部分Agent的目标一致,部分Agent的目标相反,例如城市交通调度,交通路口智能体之间是完全协作的(目标都是最小化全网络的延误),交通路口智能体与自动驾驶车辆智能体之间是混合协作-竞争的(路口智能体希望车辆尽快通过,自动驾驶车辆智能体希望自己尽快通过,但不能违反交通规则),私人出行车辆智能体与共享出行车辆智能体之间是混合协作-竞争的(都希望道路畅通,但都希望自己优先通过)。

在智慧城市交通调度中,我们主要使用混合协作-竞争模式——因为交通调度涉及多个利益相关者(政府、企业、用户),他们的目标既有一致性(道路畅通、安全、环保),又有冲突性(政府希望最大化公共利益,企业希望最大化利润,用户希望最小化自身的成本和时间)。

2.3 智慧城市交通调度中的AI Agent分类

我们可以将智慧城市交通调度中的AI Agent分为三层四类

2.3.1 按“层次结构”分类:三层架构
  1. 感知层智能体(Perception Layer Agent):负责收集环境信息,例如交通路口的地磁线圈Agent、摄像头Agent、雷达Agent、激光雷达Agent,道路的气象站Agent,自动驾驶车辆的传感器Agent,共享单车的GPS定位Agent,用户的智能手机App Agent;
  2. 决策层智能体(Decision Layer Agent):负责根据感知层信息做出决策,例如交通路口的信号控制Agent,区域的交通协调Agent,城市的全局交通调度Agent,自动驾驶车辆的路径规划Agent、行为决策Agent,共享出行的订单分配Agent、车辆调度Agent;
  3. 执行层智能体(Execution Layer Agent):负责执行决策层的决策,例如交通路口的信号灯Agent,自动驾驶车辆的控制器Agent(油门、刹车、方向盘),共享单车的锁具Agent,用户的智能手机导航Agent。
2.3.2 按“所属主体”分类:四类主体
  1. 车端智能体(Vehicle-side Agent):安装在车辆上的AI Agent,包括:
    • 自动驾驶车辆智能体(AV Agent):负责自动驾驶车辆的感知、推理、决策、执行;
    • 人工驾驶车辆智能体(HV Agent):安装在人工驾驶车辆的OBD-II接口或智能手机上的AI Agent,负责收集车辆信息(位置、速度、加速度、油耗)、提供导航建议、参与车路协同;
    • 非机动车智能体(NV Agent):安装在共享单车、电动自行车上的AI Agent,负责收集位置信息、提供导航建议、参与车路协同;
  2. 路端智能体(Roadside Agent):安装在道路基础设施上的AI Agent,包括:
    • 交通路口智能体(Intersection Agent):负责交通路口的信号控制、交通流感知、车路协同;
    • 路段智能体(Road Segment Agent):负责路段的交通流感知、气象监测、车路协同;
  3. 云端智能体(Cloud-side Agent):部署在云服务器上的AI Agent,包括:
    • 全局交通调度Agent(Global Traffic Scheduling Agent):负责城市全局的交通协调、共享资源分配、突发情况处理;
    • 数据处理Agent(Data Processing Agent):负责收集、存储、处理、分析全网络的交通数据;
    • 模型训练Agent(Model Training Agent):负责训练决策层Agent的模型;
  4. 边端智能体(Edge-side Agent):部署在边缘服务器上的AI Agent(例如安装在交通路口的边缘计算盒),负责处理实时性要求高的感知、推理、决策任务(例如交通路口的信号控制、车路协同的实时通信),减少数据传输到云端的延迟和带宽消耗。

2.4 核心概念之间的关系

2.4.1 概念核心属性维度对比

为了更清晰地理解不同核心概念的区别,我们用一个Markdown表格对比它们的核心属性:

核心概念 自主性 分布性 交互性 协作性 学习能力 目标数量 适用场景
静态规则调度 1-2个 交通流稳定的平峰时段
集中式优化调度 多个 交通流稳定的大规模路网
单感知单决策弱AI Agent 1-2个 单一任务(如单点定时信号控制)
基于效用的单智能体 多个 单一复杂任务(如单点自适应信号控制)
完全协作多智能体系统 1个 蚂蚁搬家、编队行驶
完全竞争多智能体系统 多个 国际象棋、竞价停车
混合协作-竞争MAS 中-强 多个 智慧城市交通调度
2.4.2 概念联系的ER实体关系图

为了更清晰地理解不同核心概念之间的实体关系,我们用一个Mermaid ER图展示:

拥有

包含

包含

部署(路端)

部署(路端)

部署(车端)

使用(智能手机App)

包含

部署

发送

接收

执行

参与

SMART_CITY

string

city_id

PK

城市ID

string

city_name

城市名称

float

area

城市面积

int

population

城市人口

TRAFFIC_NETWORK

string

network_id

PK

交通网络ID

string

city_id

FK

城市ID

int

intersection_count

路口数量

int

road_segment_count

路段数量

INTERSECTION

string

intersection_id

PK

路口ID

string

network_id

FK

交通网络ID

float

latitude

纬度

float

longitude

经度

int

phase_count

相位数量

ROAD_SEGMENT

string

segment_id

PK

路段ID

string

network_id

FK

交通网络ID

string

start_intersection_id

FK

起点路口ID

string

end_intersection_id

FK

终点路口ID

int

lane_count

车道数量

float

length

长度(米)

float

speed_limit

限速(km/h)

VEHICLE

string

vehicle_id

PK

车辆ID

string

type

车辆类型(AV/HV/NV/Bus)

float

capacity

载客量/载重量

float

fuel_consumption

油耗/电耗(L/km或kWh/km)

USER

string

user_id

PK

用户ID

string

type

用户类型(驾驶员/乘客/行人)

string

preference

用户偏好(最短路径/最快路径/最环保路径/最经济路径)

AI_AGENT

string

agent_id

PK

智能体ID

string

type

智能体类型(感知层/决策层/执行层;车端/路端/云端/边端)

string

host_id

FK

宿主ID(路口ID/路段ID/车辆ID/服务器ID)

string

goal

智能体目标

MAS

string

mas_id

PK

多智能体系统ID

string

city_id

FK

城市ID

string

name

多智能体系统名称

string

collaboration_mode

协作模式(完全协作/完全竞争/混合协作-竞争)

AGENT_COMMUNICATION

string

communication_id

PK

通信ID

string

sender_agent_id

FK

发送方智能体ID

string

receiver_agent_id

FK

接收方智能体ID

string

protocol

通信协议(V2X/MQTT/CoAP)

string

content

通信内容

datetime

timestamp

时间戳

AGENT_COLLABORATION

string

collaboration_id

PK

协作ID

string

mas_id

FK

多智能体系统ID

string

task

协作任务

datetime

start_time

开始时间

datetime

end_time

结束时间

string

result

协作结果

2.4.3 概念联系的交互关系图

为了更清晰地理解不同核心概念之间的交互关系,我们用一个Mermaid序列图展示(以“交通路口智能体协调干线绿波带,同时与自动驾驶车辆智能体、人工驾驶车辆智能体协作”为例):

Edge_Neighbor2 Edge_Neighbor1 "执行层HV Agent(导航App)" "执行层AV Agent(控制器)" "执行层路口Agent(信号灯)" "云端全局调度Agent" "边端决策层HV Agent" "边端决策层AV Agent" "边端决策层路口Agent" "感知层路口Agent(地磁线圈+摄像头)" "感知层HV Agent(人工驾驶车辆)" "感知层AV Agent(自动驾驶车辆)" Edge_Neighbor2 Edge_Neighbor1 "执行层HV Agent(导航App)" "执行层AV Agent(控制器)" "执行层路口Agent(信号灯)" "云端全局调度Agent" "边端决策层HV Agent" "边端决策层AV Agent" "边端决策层路口Agent" "感知层路口Agent(地磁线圈+摄像头)" "感知层HV Agent(人工驾驶车辆)" "感知层AV Agent(自动驾驶车辆)" 发送AV信息(位置、速度、加速度、目的地) 1 发送HV信息(位置、速度、目的地) 2 发送路口交通流信息(各方向车辆数、排队长度、平均速度) 3 发送AV请求(路径规划、绿波带申请) 4 发送HV请求(路径规划、绿波带申请) 5 发送路口交通流信息、请求协调干线绿波带 6 分析全网络交通流、共享资源 7 发送协调指令(干线绿波带的相位差、绿信比调整建议) 8 发送路径规划结果、绿波带信息(建议速度、预计通过时间) 9 发送路径规划结果、绿波带信息(建议速度、预计通过时间) 10 发送协调请求(相位差、绿信比调整) 11 发送协调确认 12 发送协调请求 13 发送协调确认 14 结合协调指令和相邻路口确认,做出最终决策(相位、绿信比、相位差) 15 发送实时信号信息(当前相位、剩余绿灯时间) 16 结合绿波带信息和实时信号信息,调整速度 17 发送实时信号信息 18 结合绿波带信息和实时信号信息,调整导航建议 19 发送控制指令 20 调整信号灯 21 发送控制指令 22 调整油门、刹车、方向盘 23 发送导航建议 24 显示导航建议 25

2.5 边界与外延

2.5.1 边界

智慧城市交通调度中的AI Agent应用有以下边界:

  1. 技术边界:AI Agent的感知能力受传感器精度和覆盖范围的限制(例如摄像头在夜间、雨天、雾天的精度会下降),推理能力受算法复杂度的限制,决策能力受实时性的限制,学习能力受数据量和计算资源的限制;
  2. 法律边界:AI Agent的决策必须符合交通法规(例如红灯必须停,绿灯才能行),AI Agent的责任归属尚未明确(例如如果AI Agent的决策导致交通事故,责任由谁承担?车主?车企?AI公司?政府?);
  3. 伦理边界:AI Agent的决策必须符合伦理道德(例如如果发生紧急情况,AI Agent应该优先保护车内人员还是车外行人?);
  4. 隐私边界:AI Agent不能收集或最少收集用户的个人信息(如出行轨迹、身份信息),收集到的信息必须加密存储和传输,必须经过用户同意才能使用。
2.5.2 外延

智慧城市交通调度中的AI Agent应用可以外延到以下领域:

  1. 智能停车调度:用AI Agent优化停车场的车位分配、车辆引导、收费管理;
  2. 智能物流调度:用AI Agent优化物流车辆的路径规划、订单分配、编队行驶;
  3. 智能公共交通调度:用AI Agent优化公交、地铁、出租车、共享巴士的排班、路径规划、车辆调度;
  4. 智能应急救援调度:用AI Agent优化消防车、救护车、警车的路径规划、资源分配;
  5. 智能城市管理:用AI Agent协调交通、能源、环境、公共安全等多个领域的资源,实现智慧城市的全面管理。

3. 技术原理与实现:从“数学模型”到“代码落地”

核心概念

马尔可夫决策过程(MDP) | 部分可观测马尔可夫决策过程(POMDP) | 强化学习(RL) | 深度Q网络(DQN) | 多智能体强化学习(MARL) | 多智能体近端策略优化(MAPPO) | PettingZoo | SUMO

3.1 交通调度的数学模型

3.1.1 单智能体交通信号控制的数学模型:MDP

交通信号控制是智慧城市交通调度中最基础、最重要的任务之一。我们首先用马尔可夫决策过程(MDP) 来建模单智能体交通信号控制:

(1)什么是MDP?

MDP是强化学习的基础数学模型,用于描述完全可观测的随机决策过程。一个完整的MDP由以下“五元组”组成:
M=(S,A,P,R,γ)\mathcal{M} = (\mathcal{S}, \mathcal{A}, \mathcal{P}, \mathcal{R}, \gamma)M=(S,A,P,R,γ)
其中:

  • S\mathcal{S}S状态空间(State Space),所有可能的状态的集合;
  • A\mathcal{A}A动作空间(Action Space),所有可能的动作的集合;
  • P\mathcal{P}P状态转移概率函数(State Transition Probability Function)P(s′∣s,a)\mathcal{P}(s'|s,a)P(ss,a)表示在状态sss下执行动作aaa后转移到状态s′s's的概率;
  • R\mathcal{R}R奖励函数(Reward Function)R(s,a,s′)\mathcal{R}(s,a,s')R(s,a,s)表示在状态sss下执行动作aaa后转移到状态s′s's所获得的奖励;
  • γ\gammaγ折扣因子(Discount Factor)γ∈[0,1]\gamma \in [0,1]γ[0,1],表示未来奖励的折扣程度(γ\gammaγ越接近1,未来奖励越重要;γ\gammaγ越接近0,当前奖励越重要)。
(2)单智能体交通信号控制的MDP建模

我们以一个四相位十字交叉路口(东西直行、东西左转、南北直行、南北左转)为例,用MDP建模:

  1. 状态空间S\mathcal{S}S
    我们可以用以下信息来表示路口的状态:

    • 各方向各车道的排队长度(Number of Queued Vehicles, NQV);
    • 各方向各车道的平均等待时间(Average Waiting Time, AWT);
    • 各方向各车道的车辆到达率(Vehicle Arrival Rate, VAR);
    • 当前相位(Current Phase, CP);
    • 当前相位的剩余绿灯时间(Remaining Green Time, RGT)。

    为了简化计算,我们可以将排队长度、平均等待时间、车辆到达率离散化(例如排队长度分为0-5辆、6-10辆、11-15辆、16-20辆、20辆以上五个等级),将当前相位用独热编码(One-Hot Encoding)表示,将剩余绿灯时间分为0-5s、6-10s、11-15s、16-20s、20s以上五个等级。这样,状态空间的大小就从无限大变成了有限大。

  2. 动作空间A\mathcal{A}A
    我们可以用以下动作来控制交通信号灯:

    • 保持当前相位(Keep Current Phase, KCP);
    • 切换到下一个相位(Switch to Next Phase, SNP);
    • 延长当前相位绿灯时间Δt\Delta tΔt(Extend Current Phase by Δt\Delta tΔt, ECP);
    • 缩短当前相位绿灯时间Δt\Delta tΔt(Shorten Current Phase by Δt\Delta tΔt, SCP)。

    为了简化计算,我们通常只使用保持当前相位切换到下一个相位两个动作(这是最常用的交通信号控制动作空间)。

  3. 状态转移概率函数P\mathcal{P}P
    交通流的状态转移是随机的(因为车辆的到达是随机的,驾驶员的行为是随机的),所以我们很难直接写出状态转移概率函数的解析表达式。在实际应用中,我们通常用交通仿真软件(如SUMO、VISSIM、Paramics) 来模拟交通流的状态转移,从而得到状态转移概率的近似值。

  4. 奖励函数R\mathcal{R}R
    奖励函数是强化学习的核心,它决定了智能体的学习目标。在单智能体交通信号控制中,我们的目标通常是最小化路口的总延误(Total Delay, TD)、最小化路口的总排队长度(Total Queue Length, TQL)、最大化路口的通行能力(Capacity, C)。我们可以用以下奖励函数来表示:
    R(s,a,s′)=−α⋅TD(s′)−β⋅TQL(s′)+γ⋅C(s′)\mathcal{R}(s,a,s') = -\alpha \cdot \text{TD}(s') - \beta \cdot \text{TQL}(s') + \gamma \cdot \text{C}(s')R(s,a,s)=αTD(s)βTQL(s)+γC(s)
    其中:

    • α,β,γ\alpha, \beta, \gammaα,β,γ:权重系数,α+β+γ=1\alpha + \beta + \gamma = 1α+β+γ=1,我们可以根据实际需求调整权重系数(例如如果我们更关注延误,可以将α\alphaα设得大一些);
    • TD(s′)\text{TD}(s')TD(s):状态s′s's下路口的总延误(单位:秒);
    • TQL(s′)\text{TQL}(s')TQL(s):状态s′s's下路口的总排队长度(单位:辆);
    • C(s′)\text{C}(s')C(s):状态s′s's下路口的通行能力(单位:辆/小时)。

    为了简化计算,我们通常只使用负的总排队长度作为奖励函数(因为总排队长度容易测量,且与总延误高度相关):
    R(s,a,s′)=−TQL(s′)\mathcal{R}(s,a,s') = -\text{TQL}(s')R(s,a,s)=TQL(s)

  5. 折扣因子γ\gammaγ
    在交通信号控制中,我们通常将折扣因子设为γ=0.9\gamma = 0.9γ=0.9γ=0.95\gamma = 0.95γ=0.95,因为我们既关注当前的奖励,也关注未来的奖励。

(3)MDP的求解目标

MDP的求解目标是找到一个最优策略π∗\pi^*π,使得累积折扣奖励(Expected Discounted Return) 最大化:
π∗=arg⁡max⁡πEπ[∑t=0∞γtR(st,at,st+1)]\pi^* = \arg\max_{\pi} \mathbb{E}_{\pi} \left[ \sum_{t=0}^{\infty} \gamma^t \mathcal{R}(s_t, a_t, s_{t+1}) \right]π=argπmaxEπ[t=0γtR(st,at,st+1)]
其中:

  • π\piπ:策略(Policy),π(a∣s)\pi(a|s)π(as)表示在状态sss下选择动作aaa的概率;
  • Eπ\mathbb{E}_{\pi}Eπ:在策略π\piπ下的期望;
  • ttt:时间步(Time Step)。
3.1.2 多智能体协作交通调度的数学模型:POMDP与Dec-POMDP

单智能体交通信号控制只能优化单个路口的交通流,无法优化整个路网的交通流。要优化整个路网的交通流,我们需要使用多智能体系统(MAS),并用部分可观测马尔可夫决策过程(POMDP)分布式部分可观测马尔可夫决策过程(Dec-POMDP) 来建模。

(1)什么是POMDP?

POMDP是MDP的扩展,用于描述部分可观测的随机决策过程(即智能体无法直接观测到完整的状态,只能观测到部分状态信息)。一个完整的POMDP由以下“六元组”组成:
P=(S,A,P,R,Ω,O)\mathcal{P} = (\mathcal{S}, \mathcal{A}, \mathcal{P}, \mathcal{R}, \Omega, \mathcal{O})P=(S,A,P,R,Ω,O)
其中:

  • S,A,P,R\mathcal{S}, \mathcal{A}, \mathcal{P}, \mathcal{R}S,A,P,R:与MDP相同;
  • Ω\OmegaΩ观测空间(Observation Space),所有可能的观测的集合;
  • O\mathcal{O}O观测概率函数(Observation Probability Function)O(o∣s′,a)\mathcal{O}(o|s',a)O(os,a)表示在状态sss下执行动作aaa后转移到状态s′s's,智能体观测到ooo的概率。
(2)什么是Dec-POMDP?

Dec-POMDP是POMDP的扩展,用于描述分布式部分可观测的随机多智能体决策过程(即多个智能体组成的系统,每个智能体只能观测到部分状态信息,只能执行自己的动作,智能体之间可以通信,但通信有延迟和带宽限制)。一个完整的Dec-POMDP由以下“七元组”组成:
D=(I,S,{Ai}i∈I,P,R,{Ωi}i∈I,{Oi}i∈I)\mathcal{D} = (\mathcal{I}, \mathcal{S}, \{\mathcal{A}_i\}_{i \in \mathcal{I}}, \mathcal{P}, \mathcal{R}, \{\Omega_i\}_{i \in \mathcal{I}}, \{\mathcal{O}_i\}_{i \in \mathcal{I}})D=(I,S,{Ai}iI,P,R,{Ωi}iI,{Oi}iI)
其中:

  • I\mathcal{I}I智能体集合(Agent Set)I={1,2,...,n}\mathcal{I} = \{1, 2, ..., n\}I={1,2,...,n}
  • S\mathcal{S}S:全局状态空间(Global State Space);
  • {Ai}i∈I\{\mathcal{A}_i\}_{i \in \mathcal{I}}{Ai}iI:每个智能体的动作空间;
  • P\mathcal{P}P:全局状态转移概率函数,P(s′∣s,a)\mathcal{P}(s'|s, \mathbf{a})P(ss,a)表示在全局状态sss下所有智能体执行动作a=(a1,a2,...,an)\mathbf{a} = (a_1, a_2, ..., a_n)a=(a1,a2,...,an)后转移到全局状态s′s's的概率;
  • R\mathcal{R}R:全局奖励函数,R(s,a,s′)\mathcal{R}(s, \mathbf{a}, s')R(s,a,s)表示在全局状态sss下所有智能体执行动作a\mathbf{a}a后转移到全局状态s′s's所获得的全局奖励;
  • {Ωi}i∈I\{\Omega_i\}_{i \in \mathcal{I}}{Ωi}iI:每个智能体的观测空间;
  • {Oi}i∈I\{\mathcal{O}_i\}_{i \in \mathcal{I}}{Oi}iI:每个智能体的观测概率函数,Oi(oi∣s′,a)\mathcal{O}_i(o_i|s', \mathbf{a})Oi(ois,a)表示在全局状态sss下所有智能体执行动作a\mathbf{a}a后转移到全局状态s′s's,智能体iii观测到oio_ioi的概率。
(3)多智能体协作交通调度的Dec-POMDP建模

我们以一个包含nnn个四相位十字交叉路口的路网为例,用Dec-POMDP建模:

  1. 智能体集合I\mathcal{I}II={1,2,...,n}\mathcal{I} = \{1, 2, ..., n\}I={1,2,...,n},每个智能体对应一个路口;

  2. 全局状态空间S\mathcal{S}S:所有路口的状态的集合(即每个路口的排队长度、平均等待时间、车辆到达率、当前相位、剩余绿灯时间的集合);

  3. 动作空间{Ai}i∈I\{\mathcal{A}_i\}_{i \in \mathcal{I}}{Ai}iI:每个智能体的动作空间与单智能体交通信号控制的动作空间相同(保持当前相位或切换到下一个相位);

  4. 全局状态转移概率函数P\mathcal{P}P:用交通仿真软件(如SUMO)来模拟;

  5. 全局奖励函数R\mathcal{R}R:我们的目标通常是最小化整个路网的总延误最小化整个路网的总排队长度最大化整个路网的通行能力。我们可以用以下奖励函数来表示:
    R(s,a,s′)=−α⋅TDtotal(s′)−β⋅TQLtotal(s′)+γ⋅Ctotal(s′)\mathcal{R}(s, \mathbf{a}, s') = -\alpha \cdot \text{TD}_{\text{total}}(s') - \beta \cdot \text{TQL}_{\text{total}}(s') + \gamma \cdot \text{C}_{\text{total}}(s')R(s,a,s)=αTDtotal(s)βTQLtotal(s)+γCtotal(s)
    其中:

    • TDtotal(s′)\text{TD}_{\text{total}}(s')TDtotal(s):状态s′s's下整个路网的总延误;
    • TQLtotal(s′)\text{TQL}_{\text{total}}(s')TQLtotal(s):状态s′s's下整个路网的总排队长度;
    • Ctotal(s′)\text{C}_{\text{total}}(s')Ctotal(s):状态s′s's下整个路网的通行能力。

    为了简化计算,我们通常只使用负的整个路网的总排队长度作为奖励函数,或者每个智能体的局部奖励加上全局奖励的加权和(这是一种常用的多智能体强化学习奖励函数设计方法,称为“局部-全局奖励函数”):
    Ri(s,a,s′)=−TQLi(s′)+λ⋅(−TQLtotal(s′))\mathcal{R}_i(s, \mathbf{a}, s') = -\text{TQL}_i(s') + \lambda \cdot (-\text{TQL}_{\text{total}}(s'))Ri(s,a,s)=TQLi(s)+λ(TQLtotal(s))
    其中:

    • Ri\mathcal{R}_iRi:智能体iii的奖励;
    • TQLi(s′)\text{TQL}_i(s')TQLi(s):状态s′s's下智能体iii对应的路口的总排队长度;
    • λ\lambdaλ:全局奖励的权重系数,λ∈[0,1]\lambda \in [0,1]λ[0,1],我们可以根据实际需求调整(如果λ=0\lambda = 0λ=0,则智能体只关注自己的局部奖励;如果λ=1\lambda = 1λ=1,则智能体只关注全局奖励)。
  6. 观测空间{Ωi}i∈I\{\Omega_i\}_{i \in \mathcal{I}}{Ωi}iI:每个智能体iii只能观测到自己对应的路口的状态和相邻路口的部分状态(例如相邻路口的排队长度、当前相位),因为通信有延迟和带宽限制;

  7. 观测概率函数{Oi}i∈I\{\mathcal{O}_i\}_{i \in \mathcal{I}}{Oi}iI:如果传感器和通信模块正常工作,则智能体iii观测到的信息是真实的;如果传感器或通信模块故障,则智能体iii观测到的信息是错误的或缺失的。在实际应用中,我们通常假设传感器和通信模块正常工作,所以观测概率函数是确定性的。

(4)Dec-POMDP的求解挑战

Dec-POMDP的求解是一个NP-hard问题(即非确定性多项式时间难问题,也就是说,即使是超级计算机也无法在合理的时间内求解大规模的Dec-POMDP)。这是因为:

  1. 全局状态空间的大小呈指数级增长:随着智能体数量的增加,全局状态空间的大小呈指数级增长;
  2. 联合动作空间的大小呈指数级增长:随着智能体数量的增加,联合动作空间的大小呈指数级增长;
  3. 智能体之间的通信有延迟和带宽限制:智能体无法实时共享所有信息,增加了决策的难度。

为了解决这些挑战,我们通常使用多智能体强化学习(MARL) 算法,这些算法不需要直接求解Dec-POMDP,而是通过智能体与环境的交互,不断学习优化策略。

3.2 强化学习算法原理

3.2.1 单智能体强化学习算法:深度Q网络(DQN)

深度Q网络(DQN

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐