A Graph-Based Control Interface for Traffic Signals on Heterogeneous Road Networks

arXiv cs.LG Papers

Summary

This paper presents a graph-based traffic signal control interface using a shared graph neural network to assign scores to movements, with deterministic phase construction via incidence matrices. Experiments evaluate transfer across synthetic and city road networks, showing feasibility but sensitivity to distribution shifts.

arXiv:2607.21831v1 Announce Type: new Abstract: We present a traffic-signal control interface in which a shared graph neural network assigns scores to individual traffic movements. Each junction converts these scores into its own variable-sized set of legal signal phases using a deterministic incidence matrix. Directed corridor nodes provide traffic context, while movement nodes represent controlled input-to-output paths through junctions. Typed mean aggregation produces one scalar per movement; phase definitions and signal timing remain outside the learned network. This makes graph size and junction-specific action count independent of the learned parameter shapes. PPO experiments evaluate the interface on unseen synthetic grid geometries, altered signal coverage, and five heterogeneous city graphs. The policies retained performance across unseen geometries within the synthetic grid family, while changes in signal coverage exposed sensitivity to a signal-coverage distribution shift. A single trained city-policy instance executed across all five city graphs, with heterogeneous outcomes. These results provide feasibility evidence rather than a general estimate of transfer to arbitrary road networks.
Original Article
View Cached Full Text

Cached at: 07/27/26, 07:42 AM

# A Graph-Based Control Interface for Traffic Signals on Heterogeneous Road Networks
Source: [https://arxiv.org/html/2607.21831](https://arxiv.org/html/2607.21831)
###### Abstract

We present a traffic\-signal control interface in which a shared graph neural network assigns scores to individual traffic movements\. Each junction converts these scores into its own variable\-sized set of legal signal phases using a deterministic incidence matrix\. Directed corridor nodes provide traffic context, while movement nodes represent controlled input\-to\-output paths through junctions\. Typed mean aggregation produces one scalar per movement; phase definitions and signal timing remain outside the learned network\. This makes graph size and junction\-specific action count independent of the learned parameter shapes\. PPO experiments evaluate the interface on unseen synthetic grid geometries, altered signal coverage, and five heterogeneous city graphs\. The policies retained performance across unseen geometries within the synthetic grid family, while changes in signal coverage exposed sensitivity to a signal\-coverage distribution shift\. A single trained city\-policy instance executed across all five city graphs, with heterogeneous outcomes\. These results provide feasibility evidence rather than a general estimate of transfer to arbitrary road networks\.

## 1 Introduction

Traffic\-signal action spaces are local\. A three\-arm junction, a regular four\-arm junction, and a junction with protected turns need not have the same number or meaning of phases\. Consequently, a fixed output called “phase 2” does not have reusable semantics across road networks\. Padding such a head changes its tensor shape but does not give the padded phase indices shared meaning across junctions\.

We present a traffic\-signal control interface in which a shared graph neural network assigns scores to individual traffic movements\. Each junction converts these scores into its own variable\-sized set of legal signal phases using a deterministic incidence matrix\. The central design choice is therefore a narrow boundary: learning prioritizes comparable movement objects, while deterministic code constructs and operates each junction’s valid local choices\.

The resulting system combines a reusable movement\-level graph representation, deterministic construction of junction\-specific action spaces, and a feasibility evaluation across synthetic and city simulations\. Its variable graph and action dimensions are a structural property of the design\. We distinguish a structural property established by construction, implementation validation over heterogeneous graphs, and bounded empirical evidence about learned performance\. Accordingly, variable graph and action dimensions are the primary result, trainability and cross\-scenario execution are secondary validation, and learned–baseline outcomes are exploratory comparisons under unmatched controller timings\. The empirical evaluation is organized around three research questions:

RQ1 — Transfer within the synthetic generator family\.How does the trained policy behave on unseen grid sizes and aspect ratios produced by the same generator?

RQ2 — Distribution shift\.What happens when signal coverage changes?

RQ3 — City feasibility\.Can the same trained policy execute on several heterogeneous city simulations, and how variable are the observed outcomes?

Movement pressure and movement\-structured control have substantial prior lineage\. Max\-pressure methods score compatible stages from constituent flows\[[5](https://arxiv.org/html/2607.21831#bib.bib1)\], while PressLight connects pressure to learned control\[[6](https://arxiv.org/html/2607.21831#bib.bib2)\]\. FRAP learns phase demand and pairwise phase competition from movement features, explicitly structuring the learned phase values around conflict and symmetry\[[7](https://arxiv.org/html/2607.21831#bib.bib3)\]\. TransferLight is the closest architectural comparison: its learned directed hierarchy aggregates lane segments into movement representations, movements into phase representations, and interactions among phases before producing phase energies\[[3](https://arxiv.org/html/2607.21831#bib.bib4)\]\. It also uses weight\-tied decentralized agents, domain\-randomized training networks, and learned movement\-to\-phase semantics\. In contrast, our learned actor operates on a city\-level LaneGroup/Movement context graph and stops at one scalar per movement; phase membership, phase enumeration, incidence summation, and timing remain deterministic\. The narrower contribution is this transparent boundary between shared movement scoring and automatically constructed local action spaces, rather than movement\-based control itself or a broader transfer claim\.

Scope\.This report evaluates an implementation and architectural interface rather than proposing a new reinforcement\-learning algorithm\. The experiments evaluate transfer within the specified simulation families and execution across heterogeneous action spaces\. They do not establish general transfer across arbitrary road networks\.

## 2 Movement\-level control interface

### 2\.1 Intuition and control objects

A*movement*is one legal controlled path from an incoming road corridor to an outgoing corridor; straight travel is a movement as well as a turn\. A*phase*is a compatible set of movements that may receive green together\. The controller chooses one phase per junction, rather than setting individual lamps independently\.

incomingcorridoroutgoingcorridor\(a\) One movements1s\_\{1\}s2s\_\{2\}s3s\_\{3\}\(b\) Score each movementgreentogetherheldred\(c\) Select one phase

Figure 1:The control vocabulary\. The shared model scores movements individually; each junction supplies its own compatible phase sets\. The phase shown is illustrative, not a universal template\.The implementation groups consecutive directed road segments into aLaneGroupwhen an unsignalized continuation is unambiguous\. Opposite directions remain separate because their queues, speeds, and destinations differ\. At a controlled junction, a legal input\-to\-output connection becomes a movement node\. The junction owns its movements and phases but is not itself a GNN node\.

Table 1:Roles in the representation and action interface\.At each decision, features are refreshed from SUMO, the shared GNN emits one score per movement, and a junction\-local incidence matrix converts those scores to phase logits\. An availability mask enforces minimum green; the runtime inserts yellow when an accepted target changes\. Only movement scoring is learned\.

### 2\.2 Typed graph and message\-passing architecture

Each movementmmhas one input LaneGroupi​\(m\)i\(m\)and one output LaneGroupo​\(m\)o\(m\), giving four directed information relations:

Lin→M,Lout→M,M→Lin,M→Lout\.L\_\{\\mathrm\{in\}\}\\\!\\rightarrow M,\\quad L\_\{\\mathrm\{out\}\}\\\!\\rightarrow M,\\quad M\\\!\\rightarrow L\_\{\\mathrm\{in\}\},\\quad M\\\!\\rightarrow L\_\{\\mathrm\{out\}\}\.The output\-to\-movement relation returns downstream storage context to a movement that would feed that corridor\. Unsignalized pass\-through connections are weightedL→LL\\\!\\rightarrow Ledges withwq​l=exp⁡\(−tff/30​s\)w\_\{ql\}=\\exp\(\-t\_\{\\mathrm\{ff\}\}/30\\,\\mathrm\{s\}\)\.

Letρ\\rhodenote ReLU,∥\\\|concatenation, andxl,xmx\_\{l\},x\_\{m\}the LaneGroup and movement feature vectors\. The implementation first creates

hl\(0\)\\displaystyle h\_\{l\}^\{\(0\)\}=ρ​\(EL​xl\),\\displaystyle=\\rho\(E\_\{L\}x\_\{l\}\),\(1\)hm\(0\)\\displaystyle h\_\{m\}^\{\(0\)\}=ρ​\(EM​\[xm​‖hi​\(m\)\(0\)‖​ho​\(m\)\(0\)\]\)\.\\displaystyle=\\rho\\\!\\left\(E\_\{M\}\[x\_\{m\}\\\|h\_\{i\(m\)\}^\{\(0\)\}\\\|h\_\{o\(m\)\}^\{\(0\)\}\]\\right\)\.\(2\)For relationrr, targetvv, and source embeddingszqz\_\{q\}, define the transformed mean

𝒜r\(k\)​\(v;z\)=1max⁡\(1,\|𝒩r​\(v\)\|\)​∑q∈𝒩r​\(v\)wq​v​Wr\(k\)​zq,\\mathcal\{A\}\_\{r\}^\{\(k\)\}\(v;z\)=\\frac\{1\}\{\\max\(1,\|\\mathcal\{N\}\_\{r\}\(v\)\|\)\}\\sum\_\{q\\in\\mathcal\{N\}\_\{r\}\(v\)\}w\_\{qv\}W\_\{r\}^\{\(k\)\}z\_\{q\},wherewq​v=1w\_\{qv\}=1except on unsignalized connector edges\. The incoming and outgoing messages to movementmmare

ain,m\(k\)\\displaystyle a\_\{\\mathrm\{in\},m\}^\{\(k\)\}=𝒜Lin→M\(k\)​\(m;hL\(k\)\),\\displaystyle=\\mathcal\{A\}\_\{L\_\{\\mathrm\{in\}\}\\to M\}^\{\(k\)\}\(m;h\_\{L\}^\{\(k\)\}\),aout,m\(k\)\\displaystyle a\_\{\\mathrm\{out\},m\}^\{\(k\)\}=𝒜Lout→M\(k\)​\(m;hL\(k\)\)\.\\displaystyle=\\mathcal\{A\}\_\{L\_\{\\mathrm\{out\}\}\\to M\}^\{\(k\)\}\(m;h\_\{L\}^\{\(k\)\}\)\.\(3\)One block first updates the movement embedding:

hm\(k\+1\)=ρ​\(UM\(k\)​\[hm\(k\)​‖ain,m\(k\)‖​aout,m\(k\)\]\)\.\\displaystyle h\_\{m\}^\{\(k\+1\)\}=\\rho\\\!\\left\(U\_\{M\}^\{\(k\)\}\[h\_\{m\}^\{\(k\)\}\\\|a\_\{\\mathrm\{in\},m\}^\{\(k\)\}\\\|a\_\{\\mathrm\{out\},m\}^\{\(k\)\}\]\\right\)\.\(4\)It then forms the return messages

bin,l\(k\)\\displaystyle b\_\{\\mathrm\{in\},l\}^\{\(k\)\}=𝒜M→Lin\(k\)​\(l;hM\(k\+1\)\),\\displaystyle=\\mathcal\{A\}\_\{M\\to L\_\{\\mathrm\{in\}\}\}^\{\(k\)\}\(l;h\_\{M\}^\{\(k\+1\)\}\),bout,l\(k\)\\displaystyle b\_\{\\mathrm\{out\},l\}^\{\(k\)\}=𝒜M→Lout\(k\)​\(l;hM\(k\+1\)\),\\displaystyle=\\mathcal\{A\}\_\{M\\to L\_\{\\mathrm\{out\}\}\}^\{\(k\)\}\(l;h\_\{M\}^\{\(k\+1\)\}\),\(5\)cl\(k\)\\displaystyle c\_\{l\}^\{\(k\)\}=𝒜L→L\(k\)​\(l;hL\(k\)\),\\displaystyle=\\mathcal\{A\}\_\{L\\to L\}^\{\(k\)\}\(l;h\_\{L\}^\{\(k\)\}\),\(6\)and updates the LaneGroup embedding:

hl\(k\+1\)=ρ​\(UL\(k\)​\[hl\(k\)​‖\(bin,l\(k\)\+cl\(k\)\)‖​bout,l\(k\)\]\)\.\\displaystyle h\_\{l\}^\{\(k\+1\)\}=\\rho\\\!\\left\(U\_\{L\}^\{\(k\)\}\[h\_\{l\}^\{\(k\)\}\\\|\(b\_\{\\mathrm\{in\},l\}^\{\(k\)\}\+c\_\{l\}^\{\(k\)\}\)\\\|b\_\{\\mathrm\{out\},l\}^\{\(k\)\}\]\\right\)\.\(7\)Every relation has its own linear map, aggregation is a mean rather than attention, and return messages use the just\-updated embeddings from \([4](https://arxiv.org/html/2607.21831#S2.E4)\)\. An empty neighbourhood produces the zero vector\. After two blocks, an MLP maps everyhm\(2\)h\_\{m\}^\{\(2\)\}to one scalarsms\_\{m\}\. Each junction is treated as a parameter\-sharing local agent: the critic mean\-pools that junction’s movement embeddings, returns one value, and its local reward and value sequence produce a separate temporal GAE stream\. For PPO updates, variable\-size state graphs are concatenated as disconnected packed graphs; junctions with matching local movement and phase dimensions are grouped for batched value and incidence operations, and minibatches are budgeted by junction/action samples rather than padded to a universal graph or action size\.

L0L\_\{0\}M0M\_\{0\}L1L\_\{1\}M1M\_\{1\}L2L\_\{2\}neighbour context reachesM1M\_\{1\}in block 2Block 1LaneGroups→\\rightarrowMovements→\\rightarrowLaneGroupsBlock 2repeat using updated context

Figure 2:The typed representation and update order\. With this order, two blocks allow information from one movement to reach another through a shared LaneGroup\.The parameter matrices above are shared over all nodes and edges of a type\. Their shapes depend only on feature and hidden dimensions\. The parameter shapes are therefore independent of graph and action\-space size\.

### 2\.3 Deterministic local action spaces

The build pipeline obtains controlled links and request\-conflict data from SUMOnetconvert\[[1](https://arxiv.org/html/2607.21831#bib.bib6)\]\. Links constrained to activate together form atomic groups; groups with internal SUMO conflicts are rejected\. Two groups are incompatible when SUMO reports a conflict in either direction or different incoming approaches merge into the same outgoing edge\. Bron–Kerbosch enumeration\[[2](https://arxiv.org/html/2607.21831#bib.bib7)\]produces all maximal compatible group sets, each of which becomes a selectable phase\. Here, maximal means that no additional compatible group can be added, not that the phase has maximum size\.

For junctionjj,Aj∈\{0,1\}\|Pj\|×\|Mj\|A\_\{j\}\\in\\\{0,1\\\}^\{\|P\_\{j\}\|\\times\|M\_\{j\}\|\}records whether phaseppenables movementmm\. The local logits are

ℓj=Aj​𝐬j,ℓj,p=∑m∈MjAj,p,m​sm\.\\boldsymbol\{\\ell\}\_\{j\}=A\_\{j\}\\mathbf\{s\}\_\{j\},\\qquad\\ell\_\{j,p\}=\\sum\_\{m\\in M\_\{j\}\}A\_\{j,p,m\}s\_\{m\}\.For example,

Aj=\[11000011\],𝐬j=\[1\.20\.70\.6−0\.4\]𝖳,Aj​𝐬j=\[1\.90\.2\]𝖳\.A\_\{j\}=\\begin\{bmatrix\}1&1&0&0\\\\ 0&0&1&1\\end\{bmatrix\},\\qquad\\mathbf\{s\}\_\{j\}=\\begin\{bmatrix\}1\.2&0\.7&0\.6&\-0\.4\\end\{bmatrix\}^\{\\mathsf\{T\}\},\\qquad A\_\{j\}\\mathbf\{s\}\_\{j\}=\\begin\{bmatrix\}1\.9&0\.2\\end\{bmatrix\}^\{\\mathsf\{T\}\}\.The resulting logits favor the first phase; masking and categorical sampling follow before the runtime applies any signal transition\. A different junction may provide a6×116\\times 11matrix without changing the scorer\.

SUMO controlledlinks and conflictsatomic activationgroupsmaximal compatiblesetslocal incidencematrixAjA\_\{j\}offline, deterministic constructionGNN Movementscores𝐬j\\mathbf\{s\}\_\{j\}×\\timesAjA\_\{j\}==phase logitsℓj=Aj​𝐬j\\boldsymbol\{\\ell\}\_\{j\}=A\_\{j\}\\mathbf\{s\}\_\{j\}availabilitymasksample oneavailable phaseonline, once per five\-second decision

Figure 3:Offline phase construction and online action selection\. The fixed incidence matrix changes with each junction; the learned scorer does not\.Sum aggregation intentionally restricts the policy class: a phase logit is the additive utility of its enabled movements, so the actor cannot directly represent arbitrary within\-phase interactions\. Phases sharing movements also have correlated logits, and when scores are positive a larger phase can receive a higher logit simply because it has more terms\. The restriction keeps the learned/local interface transparent, but neither its phase\-size effect nor alternatives such as normalized or learned phase aggregation were evaluated separately\.

## 3 Experimental design and reproducibility

### 3\.1 Training protocol and local reward

PPO\[[4](https://arxiv.org/html/2607.21831#bib.bib5)\]optimizes the complete policy\. All reported studies use two message\-passing blocks,5​s5\\,\\mathrm\{s\}decisions, immediate3​s3\\,\\mathrm\{s\}yellow on a change, one decision of minimum green, four PPO epochs, 200 decisions per rollout, and entropy coefficient0\.0010\.001\. Rollout counts are allocated to approximately balance junction/action samples across differently sized training graphs\.

The code assigns one reward to each junctionjjper decision intervalΔ=5​s\\Delta=5\\,\\mathrm\{s\}\. Qualitatively, the local reward encourages vehicles to move through and leave the incoming approaches while penalizing deceleration and queues\. LetIjI\_\{j\}be its unique incoming lanes,Dj=∑l∈IjDlD\_\{j\}=\\sum\_\{l\\in I\_\{j\}\}D\_\{l\}their total length,nln\_\{l\}the vehicle count,v¯l\\bar\{v\}\_\{l\}mean speed,vlmaxv\_\{l\}^\{\\max\}speed limit, andVj​\(t\)V\_\{j\}\(t\)the set of vehicle IDs on those lanes\. Withfl​\(t\)=clip⁡\(v¯l​\(t\)/vlmax,0,1\)f\_\{l\}\(t\)=\\operatorname\{clip\}\(\\bar\{v\}\_\{l\}\(t\)/v\_\{l\}^\{\\max\},0,1\), the implemented terms are:

Table 2:Exact local reward terms for the reported runs\. Values are sampled at decision boundaries\.The first braking sample is zero because no preceding snapshot exists\. The per\-junction reward is

rj=clip\[−1,1\]⁡\(pj\+10​dj−10​bj−0\.02​qj\)\.r\_\{j\}=\\operatorname\{clip\}\_\{\[\-1,1\]\}\\\!\\left\(p\_\{j\}\+10d\_\{j\}\-10b\_\{j\}\-0\.02q\_\{j\}\\right\)\.Global delay, completed\-network flow, direct throughput, phase switching, and teleport terms have zero weight in these runs\. Because the terms have different units and are manually weighted, the final reward is a dimensionless optimization objective\. It is a local surrogate, not a guarantee of improvement in network\-level throughput, completion, or wait density: for example, discharge from one junction can move vehicles into a congested downstream region\.

### 3\.2 Evaluation metrics

Every episode records per\-seed metrics before arithmetic means are formed\. For an episode ofTTsimulated seconds, letCCbe trips with a SUMOtripinfoarrival after warm\-up andDDthe initial post\-warm\-up population plus subsequent departures\.

Table 3:Primary evaluation metrics and aggregation\.Wait density uses all non\-internal network lanes at every simulated second and exposes queues left at the horizon\. Grid results separate three policy\-training seeds from six held\-out traffic seeds\.

### 3\.3 Baseline protocol and study matrix

All policies receive the same saved SUMO network, routes, initial\-occupancy range, warm\-up, episode seed, conflict\-derived phase set, minimum\-green rule, and yellow transition\. The learned and uniform\-random policies choose every5​s5\\,\\mathrm\{s\}; fixed time cycles through phase order every10​s10\\,\\mathrm\{s\}; max pressure and queue recompute a target every10​s10\\,\\mathrm\{s\}\. This mismatch is a timing confound: the comparisons evaluate the recorded controller implementations and do not isolate learning or policy architecture from control frequency\. Max pressure observes the instantaneous halting counts in the downstream detector regions of the movement’s input and output LaneGroups and scoresninhalt−nouthaltn^\{\\mathrm\{halt\}\}\_\{\\mathrm\{in\}\}\-n^\{\\mathrm\{halt\}\}\_\{\\mathrm\{out\}\}; queue observes the input detector count only\. Both sum movement scores through the sameAjA\_\{j\}and retain the current phase on a tie\. Fixed time and uniform random use no traffic observation\. The10​s10\\,\\mathrm\{s\}durations and all other baseline parameters were fixed in the experiment configurations; the records contain no baseline\-tuning study\. Max pressure is the reference for RQ1 and RQ2\. For RQ3, city\-specific comparisons also report the highest\-throughput non\-learned baseline: max pressure in Karlsruhe, queue in Mannheim, and fixed time in Stuttgart, Heidelberg, and Freiburg\.

- •RQ1:three mixed\-grid training seeds, trained on five square or rectangular geometries whose longest axis is five; final evaluation on ten geometries at demands0\.6,0\.7,0\.80\.6,0\.7,0\.8, including6×66\\times 6, with six held\-out traffic seeds\.
- •RQ2:a full\-coverage\-trained6×66\\times 6policy evaluated after removing signals, plus one separate training seed exposed to five50%50\\%\-coverage4×44\\times 4layouts and evaluated on held\-out25%25\\%–100%100\\%layouts\.
- •RQ3:one city policy\-training seed with rollouts from Karlsruhe, Mannheim, Heidelberg, and Freiburg\. Stuttgart contributed no training rollouts\. Although periodic Stuttgart evaluations were available, the reported iteration\-60 checkpoint was the fixed terminal checkpoint rather than one selected using Stuttgart performance\. It was evaluated for1200​s1200\\,\\mathrm\{s\}at demand scale 1\.0 on three traffic seeds in all five cities\.

All reported comparisons use libsumo/sumolib 1\.27\.1 as resolved byuv\.lock\.

Sampled execution is primary because it corresponds to the stochastic policy optimized during PPO training\. Greedy execution performed worse in the city evaluation\. The sampled results therefore do not imply equivalent performance under deterministic argmax execution\. Deployment under deterministic action selection would require separate validation\.

## 4 Structural property and empirical results

![Refer to caption](https://arxiv.org/html/2607.21831v1/x1.png)Figure 4:Observed feasibility results\. Left: sampled6×66\\times 6performance by demand\. Right: iteration\-60 city outcomes; each city is normalized by its own highest\-throughput non\-learned baseline, so baseline identities differ across cities\.Structural property — variable graph and action dimensions\.Equations \([4](https://arxiv.org/html/2607.21831#S2.E4)\)–\([7](https://arxiv.org/html/2607.21831#S2.E7)\) use shared parameter shapes and return one scalar for every movement presented to them\. Every junction may independently provideAjA\_\{j\}with its own numbers of rows and columns; phase construction is outside the GNN\. This establishes variable graph and action dimensions by construction\. Execution on graphs ranging from 41 to 84 controlled junctions and phase\-count ranges of 2–12 validates that the implementation supports the stated structural range\.

All learned–baseline comparisons below inherit the decision\-interval confound described in Section 3: they compare the recorded implementations, not learning at a matched control frequency\.

RQ1 — transfer within the synthetic generator family\.On the unseen\-size6×66\\times 6condition, sampled control had higher throughput and completion than max pressure at all three demands; completion differences were3\.5,6\.6,10\.63\.5,6\.6,10\.6percentage points\. Full means and separate trained\-policy and traffic\-seed dispersion summaries are reported in Appendix B\. Orientation\-swapped rectangular grids produced closely matched throughput and completion\. These findings are consistent with size and aspect\-ratio reuse within the matched generator\.

RQ2 — distribution shift\.The full\-coverage\-trained policy’s throughput and completion deteriorated relative to max pressure at50%50\\%and25%25\\%signal coverage, despite the graph remaining structurally executable\. In the separate4×44\\times 4study, sampled throughput differences from max pressure ranged from\+5\.7\+5\.7to−108\.0\-108\.0vehicles/hour across coverage conditions, with uncertainty especially wide at100%100\\%; Appendix B gives the paired intervals\. The result distinguishes architectural compatibility from robustness and is consistent with sensitivity to the controller\-distribution shift\.

RQ3 — city feasibility\.The city evaluation reports one policy\-training run rather than an estimate across independent training runs\. The policy executed on Karlsruhe, Mannheim, Heidelberg, and Freiburg, all represented in rollout training, and on rollout\-held\-out Stuttgart\. Stuttgart therefore provides the only city\-level test of generalization to a network absent from rollout training in this experiment; the other four results primarily demonstrate shared\-parameter execution across heterogeneous training domains\. Outcomes varied: sampled control had higher throughput and completion than every baseline in Karlsruhe and Stuttgart, trailed queue in Mannheim, was close to fixed time in Heidelberg, and traded higher throughput and completion for higher wait density relative to fixed time in Freiburg\. Figure[4](https://arxiv.org/html/2607.21831#S4.F4)b uses the strongest non\-learned throughput baseline separately for each city\.

## 5 Limitations and conclusion

Limitations\.The experiments evaluate the complete implementation and do not isolate individual architectural choices\. They therefore do not determine the separate contributions of typed relations, two message\-passing blocks, or sum\-based movement\-to\-phase aggregation; the latter also introduces an unevaluated phase\-size bias\. Because only maximal compatible movement sets are enumerated, a compatible strict subset is unavailable whenever another compatible atomic group can be added\. This is a deliberate restriction of the selectable policy space and may prevent a controller from withholding green from an otherwise compatible movement\. Phase enumeration was inexpensive for the evaluated junctions, which produced at most 12 phases, but maximal\-compatible\-set enumeration can scale poorly for substantially more complex conflict graphs\.

The evaluated networks belong to bounded synthetic and city simulation families rather than arbitrary topology\. The coverage study shows sensitivity to the controller distribution, and the city study’s one policy\-training seed and three traffic seeds per city do not estimate variation across independent training runs\.

The generated phase sets inherit the assumptions and fidelity of the SUMO network and implemented conflict rules; they are action sets accepted by the implemented construction, not formally verified real\-world signal plans\. Sampled execution outperformed greedy execution in the city study, so the stochastic results do not establish an equally effective deterministic controller\.

Conclusion\.The implemented interface separates reusable learned scoring from local signal structure: a shared typed GNN emits one scalar per movement, while deterministic incidence matrices translate those scores into heterogeneous phase spaces\. The experiments add bounded feasibility evidence within synthetic and city simulation families, while the coverage and greedy\-execution results show that executable structure alone does not ensure empirical robustness\.

## References

- \[1\]P\. Alvarez Lopez, M\. Behrisch, L\. Bieker\-Walz, J\. Erdmann, Y\. Flötteröd, R\. Hilbrich, L\. Lücken, J\. Rummel, P\. Wagner, and E\. Wießner\(2018\)Microscopic traffic simulation using SUMO\.In2018 21st International Conference on Intelligent Transportation Systems,pp\. 2575–2582\.External Links:[Document](https://dx.doi.org/10.1109/ITSC.2018.8569938)Cited by:[§2\.3](https://arxiv.org/html/2607.21831#S2.SS3.p1.1)\.
- \[2\]C\. Bron and J\. Kerbosch\(1973\)Algorithm 457: finding all cliques of an undirected graph\.Communications of the ACM16\(9\),pp\. 575–577\.External Links:[Document](https://dx.doi.org/10.1145/362342.362367)Cited by:[§2\.3](https://arxiv.org/html/2607.21831#S2.SS3.p1.1)\.
- \[3\]J\. Schmidt, F\. Dreyer, S\. A\. Hashimi, and S\. Stober\(2024\)TransferLight: zero\-shot traffic signal control on any road\-network\.arXiv preprint arXiv:2412\.09719\.External Links:[Document](https://dx.doi.org/10.48550/arXiv.2412.09719)Cited by:[§1](https://arxiv.org/html/2607.21831#S1.p4.1)\.
- \[4\]J\. Schulman, F\. Wolski, P\. Dhariwal, A\. Radford, and O\. Klimov\(2017\)Proximal policy optimization algorithms\.arXiv preprint arXiv:1707\.06347\.External Links:[Document](https://dx.doi.org/10.48550/arXiv.1707.06347)Cited by:[§3\.1](https://arxiv.org/html/2607.21831#S3.SS1.p1.3)\.
- \[5\]P\. Varaiya\(2013\)Max pressure control of a network of signalized intersections\.Transportation Research Part C: Emerging Technologies36,pp\. 177–195\.External Links:[Document](https://dx.doi.org/10.1016/j.trc.2013.08.014)Cited by:[§1](https://arxiv.org/html/2607.21831#S1.p4.1)\.
- \[6\]H\. Wei, C\. Chen, G\. Zheng, K\. Wu, V\. Gayah, K\. Xu, and Z\. Li\(2019\)PressLight: learning max pressure control to coordinate traffic signals in arterial network\.InProceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining,pp\. 1290–1298\.External Links:[Document](https://dx.doi.org/10.1145/3292500.3330949)Cited by:[§1](https://arxiv.org/html/2607.21831#S1.p4.1)\.
- \[7\]G\. Zheng, Y\. Xiong, X\. Zang, J\. Feng, H\. Wei, H\. Zhang, Y\. Li, K\. Xu, and Z\. Li\(2019\)Learning phase competition for traffic signal control\.InProceedings of the 28th ACM International Conference on Information and Knowledge Management,pp\. 1963–1972\.External Links:[Document](https://dx.doi.org/10.1145/3357384.3357900)Cited by:[§1](https://arxiv.org/html/2607.21831#S1.p4.1)\.

## Appendix AImplementation and scenario details

#### Artifact statement\.

Code, committed scenarios, and instructions are available at[repository snapshotea47985](https://github.com/BertilBraun/GNN-Traffic-Signal-Control/tree/ea47985);uv\.lockresolves libsumo and sumolib 1\.27\.1\. The reported protocols useconfigs/training/grid\_shape\_generalization\_mixed\_2hop\_gate\_30\.yaml, plus the following files underconfigs/training/:

- •grid\_signal\_coverage\_6x6\_evaluation\.yaml;
- •grid\_coverage\_generalization\_4x4\_train50\_2hop\_30\.yamlandgrid\_coverage\_generalization\_4x4\_evaluation\.yaml;
- •city\_stuttgart\_visible\_validation\_local\_reward\_2hop\_60\.yaml\.

Evaluation seeds are recorded in those configurations and the linked result documentation\.scripts/analyze\_grid\_generalization\_results\.pyregenerates grid summaries, andscripts/plot\_technical\_report\_results\.pyregenerates Figure[4](https://arxiv.org/html/2607.21831#S4.F4)from saved CSVs\. The reported trained checkpoints and raw evaluation summaries are preserved in a separate experiment archive, are not part of the Git repository, and are available from the author\.

Table 4:Anchored training and control settings\.Table 5:Structural diversity of the city scenarios\. Phase range is the minimum–maximum number of selectable phases per policy\-controlled junction\.

## Appendix BDetailed evaluation

Table 6:Full\-coverage6×66\\times 6means and distinct SD sources\. Learned means average three trained\-policy means, each formed over six traffic seeds; their SD is between trained policies\. Max\-pressure mean and SD are across six traffic seeds\. The SD columns are not directly comparable stability estimates\.Within each trained policy, traffic\-seed SDs ranged from121121to168168vehicles/hour for throughput,0\.40\.4to2\.02\.0percentage points for completion, and0\.0070\.007to0\.024​s/m0\.024\\,\\mathrm\{s/m\}for wait density across the three demands\. Thus the small between\-policy SDs in Table[6](https://arxiv.org/html/2607.21831#A2.T6)should not be read as episode\-level variability\.

Table 7:Iteration\-60 city means±\\pmtraffic\-seed SD over three seeds\. The baseline has the highest mean throughput among non\-learned policies in that city\. Wait density is in seconds per metre; these SDs do not include trained\-policy variability\.#### Sampled versus greedy\.

For the unweighted mean across cities, greedy execution achieved3182\.63182\.6vehicles/hour,61\.89%61\.89\\%completion, and0\.980​s/m0\.980\\,\\mathrm\{s/m\}wait density, compared with3345\.63345\.6,64\.93%64\.93\\%, and0\.613​s/m0\.613\\,\\mathrm\{s/m\}for sampled execution\.

#### Coverage study\.

The50%50\\%\-coverage training study used five training layouts and three held\-out traffic seeds on each of five evaluation layouts at25%25\\%,50%50\\%, and75%75\\%coverage; the100%100\\%condition used one layout and the same three seeds\. Each paired observational unit is one evaluation layout–traffic\-seed combination:n=15n=15at each partial\-coverage condition andn=3n=3at100%100\\%coverage\. For sampled execution, PPO−\-max\-pressure throughput differences at25%25\\%,50%50\\%,75%75\\%, and100%100\\%coverage were\+5\.7\+5\.7,−28\.9\-28\.9,−104\.3\-104\.3, and−108\.0\-108\.0vehicles/hour; completion differences were\+0\.24\+0\.24,−0\.66\-0\.66,−2\.99\-2\.99, and−3\.14\-3\.14percentage points\. Paired 95% Student\-ttinterval half\-widths for throughput were52\.5,54\.1,41\.3,345\.252\.5,54\.1,41\.3,345\.2vehicles/hour, respectively; the100%100\\%condition consequently has a very wide interval\.

## Appendix CConcrete graph example

![Refer to caption](https://arxiv.org/html/2607.21831v1/x2.png)Figure 5:Complete3×33\\times 3synthetic road layout represented as the controller graph\. LaneGroup nodes follow directed corridors; Movement nodes encode legal input\-to\-output paths at signalized junctions\. Cyan and amber edges are the typed LaneGroup\-to\-Movement and Movement\-to\-LaneGroup relations, while green edges propagate LaneGroup context through unsignalized junctions\. Junction markers provide spatial context only and are not GNN nodes\. Positions are generated from the same embedded graph data used by the interactive HTML visualization\.

Similar Articles

hia-gat: A Heterogeneous Interaction-Aware Graph Attention Network For Frame-Level Traffic Conflict Risk Prediction On Freeways

arXiv cs.LG

This paper proposes HIA-GAT, a dual-stream heterogeneous graph attention network that integrates longitudinal and lateral vehicle interactions with a conflict-type-aware gating mechanism for frame-level traffic conflict risk prediction on freeways. Experiments on NGSIM datasets show improved risk-ranking performance, particularly for lateral conflicts, and provide interpretable per-vehicle conflict attribution.

Explainable Reinforcement Learning for Adaptive Traffic Signal Control

arXiv cs.AI

This paper proposes an explainable entity-centric reinforcement learning framework for adaptive traffic signal control, using a dual-stage attention network with multi-head cross-attention and self-attention to provide interpretable affinity matrices, while integrating deterministic action masking in PPO for safety compliance.