Pith. sign in

REVIEW 3 major objections 5 minor 30 references

A Hierarchical Deep Reinforcement Learning Framework for Traffic Signal Control with Predictable Cycle Planning

T0 review · 3 major / 5 minor · reviewed 2026-08-05 · deepseek-v4-flash

Pith's one-line read Two-level signal planner cuts travel time in all six test scenarios

desk verdict A sensible hierarchical cycle-allocation idea is undermined by a yellow-time accounting flaw that likely gives DHCP extra green time; needs a controlled re-run before the headline claim can be trusted. read the letter →

arxiv 2509.03118 v1 pith:BHT7SIVK submitted 2025-09-03 cs.LG cs.AIcs.MA

classification cs.LGcs.AIcs.MA MSC 90B2068T07
keywords trafficsignalcontroldeepreinforcementlearninghierarchicalDDPGcycledurationallocationround-robinphasesequenceaveragetraveltimeCityFlow
verification ladder T0 review T1 audit T2 compute T3 formal

The pith

A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.

The reading

The paper proposes a deep reinforcement learning controller for a single intersection that keeps a fixed, round-robin phase order and a fixed 60-second cycle, and instead learns only how to divide the cycle. A high-level agent splits the cycle between north-south and east-west green time; a low-level agent then splits each direction's green time between straight and left-turn movements. Both agents are trained with DDPG, and the controller outputs continuous proportions that are rounded to whole seconds. Tested on Jinan, Hangzhou, and synthetic networks, the method reports the lowest average travel time among the eight controllers in every scenario, with the largest gains over fixed-time control. The intended payoff is predictability for drivers—no unexpected phase jumps—combined with the adaptivity of learned control.

What carries the argument

The mechanism is the nested duration split: given D_total=60 s and D_min=5 s, the high-level action ρ_NS determines D_NS = 2 D_min + ρ_NS (D_total − 4 D_min) and D_EW likewise; the low-level action then fixes D_NS,straight = D_min + ρ_straight (D_NS − 2 D_min) and similarly for the other movement. This keeps the phase sequence fixed and the sum of the four durations exactly D_total, so the output is always a legal, predictable signal cycle. Both agents are off-policy DDPG policies, trained on rewards equal to negative queue length, with low-level parameters shared between directions.

What would settle it

Re-run all methods on Jinan Flow1 with a matched 60-second decision cycle and identical yellow-phase insertion. If DHCP's average travel time no longer beats CoLight and MaxPressure, or gaps shrink below about one second, the superiority claim fails. Reporting standard errors and a paired significance test across random seeds would also settle whether the 1–5 s differences are beyond noise.

Watch

Extended reading notes

Core claim

The central claim is that hierarchical cycle planning—deciding a fixed round-robin phase order and then using a two-level DDPG agent to allocate the fixed total cycle duration, first between directions and then between movements—yields lower average travel times than seven baseline controllers across all six real and synthetic test scenarios while preserving a conventional, predictable signal structure. The method is called Deep Hierarchical Cycle Planner (DHCP). All four phase durations are derived from two continuous actions: one proportion ρ_NS for the north-south direction, and one proportion ρ_straight for each direction. A minimum phase duration D_min=5 s guarantees every movement rece

Load-bearing premise

The reported travel-time advantage over baselines is assumed to come from the hierarchical allocation itself, but baselines decide every 15 seconds while DHCP decides once per 60-second cycle, and the paper does not report baseline tuning or yellow-phase insertion per method.

Editorial extensions

If this is right

  • Phase-choosing DRL agents may be unnecessary for isolated intersections; tuning durations of a fixed cycle can match or beat them.
  • Real-world deployment is eased because the output respects conventional cycle and phase structure, making coordination and driver expectations plausible.
  • The two-level continuous-action structure offers a template for other resource-allocation tasks where a global budget is split among nested categories.
  • Sharing low-level parameters between directions cuts training burden and suggests directional invariance of the low-level split policy.
  • Reported gains over fixed-time control under the same cycle length indicate that the learned duration allocation, not the cycle structure itself, drives performance.

Reading between the lines

Editorial extensions of the paper, not claims the author makes directly.

  • The comparison uses a 60-second decision cycle for DHCP versus 15 seconds for baselines; a fairer test would match cadence to isolate the benefit of hierarchical allocation.
  • Because both agents use simple per-lane queue and wave counts, the method is likely transportable to any four-phase intersection without reteaching—testable via zero-shot transfer across scenarios.
  • Reported advantages over CoLight and MaxPressure are within a few seconds, so practical significance depends on whether the gap persists outside CityFlow or with different yellow-phase settings.
Share X Bluesky LinkedIn Reddit HN

Editorial analysis

A structured set of objections, weighed in public.

Desk editor's note, referee report, and a circularity audit.

Referee Report

3 major / 5 minor

Summary. The paper proposes Deep Hierarchical Cycle Planner (DHCP), a hierarchical DDPG-based traffic signal controller that preserves a fixed 60-second cycle length and a fixed four-phase round-robin order. A high-level agent allocates the cycle between NS and EW directions; a low-level agent splits each direction's allocation between straight and left-turn movements. Experiments in CityFlow on Jinan (three flows), Hangzhou (two flows), and a synthetic network compare DHCP against Fixed Time, SOLT, MaxPressure, DQN, Dueling-DQN, A2C, and CoLight. The central claim is that DHCP achieves the lowest average travel time in every scenario (Table III) and the best learning reward (Fig. 4).

Significance. The fixed-cycle constraint is practically motivated: unlike free 'choose phase' DRL policies, DHCP keeps phase order and cycle length predictable, which matters for driver expectation and coordination. The hierarchical decomposition of a cycle budget is a clean way to keep continuous DRL while satisfying the hard sum constraint, and the external travel-time metric is independent of the reward functions. The paper uses open road-network and flow data and reports standard deviations for the DRL methods. If the comparison is made fair, the idea would be a useful contribution to the TSC literature. At present, however, the yellow-phase accounting and unmatched decision cadence leave the central empirical claim unestablished.

major comments (3)
  1. [IV.A and §III, Eqs. (9)-(14)] Section IV.A states that 'a 3-second yellow phase is inserted whenever a phase change occurs.' In DHCP's fixed round-robin there are four phase changes per cycle, so the executed cycle is 60 s of green plus 12 s of yellow = 72 s, contradicting the statement that the agent 'makes decisions every 60 seconds' and the equations in §III, where green durations sum to D_total = 60 s. If baselines also pay 3 s of yellow whenever they change phase, a 15-s-acting baseline that changes phase at every decision receives 12 s green per 15 s (48 s green/min), while DHCP receives 60 s green per 72 s (50 s green/min); over one hour this is roughly 120 s extra green for DHCP. If, alternatively, yellow is intended to be inside D_total, then Eqs. (9)-(14) over-allocate green by 12 s per cycle. Either reading makes Table III an uncontrolled comparison of green time rather than of signal policy.
  2. [IV.A, IV.B, IV.C] DHCP acts once per 60 s, while baseline models are 'configured to make decisions every 15 seconds' (IV.A). No analysis is provided for the effect of this asymmetry, and no baseline tuning procedure, hyperparameter ranges, or number of seeds are given for SOLT, MaxPressure, Fixed Time, DQN, Dueling-DQN, A2C, or CoLight. The reward curves in Fig. 4 also compare rewards collected at different frequencies; averaging four 15-s baseline rewards does not make the decision horizons or optimization targets equivalent. To support the claim of superiority, the authors need to either match the action cadence where possible and tune all baselines under the same protocol, or explicitly test sensitivity to the decision interval and show the reported advantage is not due to the 60-s vs 15-s asymmetry.
  3. [Table III and IV.C] Table III reports standard deviations for DQN, Dueling-DQN, A2C, CoLight, and DHCP, but Fixed Time, SOLT, and MaxPressure are single numbers. Several of the DHCP advantages are modest (e.g., Jinan Flow3: 280.27 vs 282.72; Hangzhou Flat: 327.30 vs 331.34), and without error bars for the non-DRL methods and a stated number of runs/seeds it is not possible to assess whether the differences are statistical or incidental. Section IV.C uses the word 'significantly', but no significance test is presented. The paper should report means and standard deviations over multiple independent runs for every baseline and include a significance test or at least confidence intervals.
minor comments (5)
  1. [Algorithm 1, line 21] The pseudocode sets ρ'_NS ← (a_h + 1)/2; this should be (a'_h + 1)/2. Otherwise the target state for the high-level agent is computed from the old action, not the next action.
  2. [Section III.C, after Eq. (12)] The text says 'where L^in_EW denotes the set of incoming lanes corresponding to the NS direction'; it should be 'EW direction'.
  3. [Section IV.B] A2C is introduced without a citation. Also, 'Colight' appears in the baseline list while Table III uses 'CoLight'; please standardize.
  4. [Section IV.C] The sentence about fixed-time control 'under the same cycle length' is unclear. Please specify Fixed Time's cycle length and whether yellow time is included in that cycle.
  5. [General] The paper does not mention code release. For an empirical paper of this type, releasing the CityFlow wrapper, environment configuration, and trained models would materially improve reproducibility.

Circularity Check

0 steps flagged · score 0.0 of 10

No significant circularity: the central claim is an empirical benchmark result with independent evaluation metrics.

full rationale

The paper's central assertion is that DHCP achieves the lowest average travel time on six CityFlow scenarios (Table III). This is an empirical result, not a derived prediction. The method's equations (6)-(15) define state representations, continuous action rescaling, and phase-duration arithmetic; they do not define the evaluation metric. The reward functions (negative queue sums) are used for RL training, whereas average travel time is computed by the CityFlow simulator as an external benchmark. The baselines are existing published algorithms (SOLT, MaxPressure, DQN, Dueling-DQN, A2C, CoLight) implemented in the same simulator, so the comparison does not reduce to the paper's own definitions. Self-citations [8], [9] and co-authored [14] appear only as background examples of prior DRL work and are not load-bearing: no uniqueness theorem, ansatz, or fitted parameter is imported from them. The yellow-phase timing issue raised by reviewers (3 s yellow inserted after each phase change, potentially breaking the nominal 60 s cycle) is a potential experimental confound affecting the fairness of Table III, but it is not a circularity in the derivation chain. No equation in the paper is equivalent by construction to another claimed result, and no fitted parameter is renamed as a prediction. Hence no circular step is present.

Assumptions & free parameters 6 free parameters · 6 assumptions · 0 invented entities

The paper introduces no new physical entities, forces, dimensions, or conserved quantities. Its contribution is algorithmic: a hierarchical DDPG formulation. The central claim rests on hand-chosen cycle parameters, DDPG hyperparameters, and a set of domain assumptions about state sufficiency, reward alignment, simulator fidelity, and fair comparison. The free-parameter and axiom counts are moderate for an empirical DRL paper.

free parameters (6)
  • Dtotal = 60 s
    Total cycle length fixed by hand; central to the predictable-cycle claim, not learned.
  • Dmin = 5 s
    Minimum green duration per phase, chosen by hand; constrains all allocations.
  • decision_interval = 60 s
    High and low-level agents act once per cycle; baselines use 15 s, making comparisons asymmetric.
  • exploration_noise_std = 0.1
    Gaussian noise added to actor actions during training; no sensitivity analysis reported.
  • network_sizes = actor 200-200-100, critic 300-200-200
    MLP architecture chosen by hand; no ablation shown.
  • learning_hyperparameters = gamma 0.9, actor LR 1e-4, critic LR 1e-3, batch 128, buffer 100000, soft update 1e-4
    DDPG hyperparameters; no sensitivity analysis or per-scenario tuning reported.
assumptions (6)
  • domain assumption Queue length and wave count on incoming lanes are a sufficient state representation for optimal split decisions.
    Used in Eq. (6), (8), (12); no feature-selection analysis is provided.
  • domain assumption Fixed total cycle and fixed round-robin phase order are required for predictability and real-world deployment.
    Stated in the Introduction and used to derive the DNS/DEW allocation equations.
  • domain assumption Minimizing negative summed queue length at each decision step also minimizes average travel time.
    Rewards in Eq. (7), (11), (15) use queue length, while Table III reports travel time; the link is assumed, not tested.
  • domain assumption CityFlow is a faithful proxy for real traffic behavior, including yellow-phase and clearance dynamics.
    All experiments run in CityFlow; no field validation is provided.
  • domain assumption DDPG converges to a useful policy for both hierarchical agents under the given reward schedule.
    Assumed throughout Algorithm 1; no convergence proof or monotonicity guarantee.
  • domain assumption Yellow phases affect all compared methods identically.
    Section IV.A inserts a 3 s yellow at each phase change, but baseline phase-change counts and cycle lengths are not specified.

how reviews work

0 comments
Cite this review

Pith. "Pith review of A Hierarchical Deep Reinforcement Learning Framework for Traffic Signal Control with Predictable Cycle Planning." pith.science (2026). https://pith.science/paper/BHT7SIVK

@misc{pith2026250903118,
  author       = {Pith},
  title        = {Pith review of: A Hierarchical Deep Reinforcement Learning Framework for Traffic Signal Control with Predictable Cycle Planning},
  year         = {2026},
  howpublished = {\url{https://pith.science/paper/BHT7SIVK}},
  note         = {Machine review of arXiv:2509.03118}
}
read the original abstract

Deep reinforcement learning (DRL) has become a popular approach in traffic signal control (TSC) due to its ability to learn adaptive policies from complex traffic environments. Within DRL-based TSC methods, two primary control paradigms are ``choose phase" and ``switch" strategies. Although the agent in the choose phase paradigm selects the next active phase adaptively, this paradigm may result in unexpected phase sequences for drivers, disrupting their anticipation and potentially compromising safety at intersections. Meanwhile, the switch paradigm allows the agent to decide whether to switch to the next predefined phase or extend the current phase. While this structure maintains a more predictable order, it can lead to unfair and inefficient phase allocations, as certain movements may be extended disproportionately while others are neglected. In this paper, we propose a DRL model, named Deep Hierarchical Cycle Planner (DHCP), to allocate the traffic signal cycle duration hierarchically. A high-level agent first determines the split of the total cycle time between the North-South (NS) and East-West (EW) directions based on the overall traffic state. Then, a low-level agent further divides the allocated duration within each major direction between straight and left-turn movements, enabling more flexible durations for the two movements. We test our model on both real and synthetic road networks, along with multiple sets of real and synthetic traffic flows. Empirical results show our model achieves the best performance over all datasets against baselines.

Figures

Figures reproduced from arXiv: 2509.03118 by the authors.

Figure 1
Figure 1. Illustration of an isolated intersection, phase configuration and [PITH_FULL_IMAGE:figures/full_fig_p002_1.png] view at source ↗
Figure 2
Figure 2. Proposed framework: The high-level agent first retrieves its observation from the environment and then decides the proportion of duration for NS [PITH_FULL_IMAGE:figures/full_fig_p003_2.png] view at source ↗
Figure 3
Figure 3. Road Network for Jinan and Hangzhou. real-world network from Jinan, a real-world network from Hangzhou, and a synthetic network designed for controlled testing. The traffic flow data for the Jinan and Hangzhou networks are collected using camera-based vehicle detection systems, providing realistic and heterogeneous traffic pat￾terns. For the Jinan network, we use three different traffic flow profiles, each represent… view at source ↗
Figures from the paper (1 more)
Figure 4
Figure 4. Figure 4: Average Episode Reward Curve During Training. [PITH_FULL_IMAGE:figures/full_fig_p007_4.png]

Discussion (0). Sign in to comment.

Reference graph

Works this paper leans on

30 extracted references · 23 canonical work pages

  1. [1]

    Investigating the role of green transport, environmental taxes and expenditures in mitigating the transport co2 emissions,

    Z. Hussain, M. Kaleem Khan, and Z. Xia, “Investigating the role of green transport, environmental taxes and expenditures in mitigating the transport co2 emissions,” Transportation Letters, vol. 15, no. 5, pp. 439–449, 2023

  2. [2]

    Environmen- tal generation scheduling considering air pollution control technologies and weather effects,

    Z. Geng, Q. Chen, Q. Xia, D. S. Kirschen, and C. Kang, “Environmen- tal generation scheduling considering air pollution control technologies and weather effects,” IEEE Transactions on Power Systems , vol. 32, no. 1, pp. 127–136, 2016

  3. [3]

    Experiences with adaptive signal control in germany,

    W. Brilon and T. Wietholt, “Experiences with adaptive signal control in germany,” Transportation research record , vol. 2356, no. 1, pp. 9–16, 2013

  4. [4]

    A survey on traffic signal control methods,

    H. Wei, G. Zheng, V . Gayah, and Z. Li, “A survey on traffic signal control methods,” arXiv preprint arXiv:1904.08117 , 2019

  5. [5]

    Deep reinforcement learning for intelligent transportation systems: A survey,

    A. Haydari and Y . Yılmaz, “Deep reinforcement learning for intelligent transportation systems: A survey,” IEEE Transactions on Intelligent Transportation Systems, vol. 23, no. 1, pp. 11–32, 2020

  6. [6]

    Efficient pressure: Improving efficiency for signalized intersections,

    Q. Wu, L. Zhang, J. Shen, L. L ¨u, B. Du, and J. Wu, “Efficient pressure: Improving efficiency for signalized intersections,” arXiv preprint arXiv:2112.02336, 2021

  7. [7]

    Matlit: Mat-based cooperative reinforcement learning for urban traffic signal control,

    B. Liu, K. Su, E. Wang, W. Han, L. Wu, J. Wang, and C. Qiao, “Matlit: Mat-based cooperative reinforcement learning for urban traffic signal control,” IEEE Transactions on Intelligent Transportation Systems, pp. 1–15, 2025

  8. [8]

    Large-scale traffic signal control using constrained network partition and adaptive deep reinforcement learning,

    H. Gu, S. Wang, X. Ma, D. Jia, G. Mao, E. G. Lim, and C. P. R. Wong, “Large-scale traffic signal control using constrained network partition and adaptive deep reinforcement learning,” IEEE Transactions on Intelligent Transportation Systems , vol. 25, no. 7, pp. 7619–7632, 2024

Show all 30 references
  1. [9]

    Communication strategy on macro-and-micro traffic state in cooperative deep reinforcement learning for regional traffic signal control,

    H. Gu, S. Wang, D. Jia, Y . Zhang, Y . Luo, G. Mao, J. Wang, and E. G. Lim, “Communication strategy on macro-and-micro traffic state in cooperative deep reinforcement learning for regional traffic signal control,” IEEE Transactions on Intelligent Transportation Systems, pp. 1–14, 2025

  2. [10]

    Halight: Hierarchical deep reinforcement learning for cooperative arterial traffic signal control with cycle strategy,

    J. Zeng, J. Xin, Y . Cong, J. Zhu, Y . Zhang, W. Jiang, and S. Pu, “Halight: Hierarchical deep reinforcement learning for cooperative arterial traffic signal control with cycle strategy,” in 2022 IEEE 25th International Conference on Intelligent Transportation Systems (ITSC), ...

  3. [11]

    Multi-agent reinforcement learning: Independent vs. cooper- ative agents,

    M. Tan, “Multi-agent reinforcement learning: Independent vs. cooper- ative agents,” in Proceedings of the tenth international conference on machine learning, 1993, pp. 330–337

  4. [12]

    Presslight: Learning max pressure control to coordinate traffic signals in arterial network,

    H. Wei, C. Chen, G. Zheng, K. Wu, V . Gayah, K. Xu, and Z. Li, “Presslight: Learning max pressure control to coordinate traffic signals in arterial network,” in Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining , 2019, pp. 1290–1298

  5. [13]

    Colight: Learning network-level cooper- ation for traffic signal control,

    H. Wei, N. Xu, H. Zhang, G. Zheng, X. Zang, C. Chen, W. Zhang, Y . Zhu, K. Xu, and Z. Li, “Colight: Learning network-level cooper- ation for traffic signal control,” in Proceedings of the 28th ACM In- ternational Conference on Information and Knowledge Management , 2019, pp. 1913–1922

  6. [14]

    Large-scale traffic signal control by a nash deep q-network approach,

    Y . Zhang, S. Wang, X. Ma, W. Yue, and R. Jiang, “Large-scale traffic signal control by a nash deep q-network approach,” in 2023 IEEE 26th International Conference on Intelligent Transportation Systems (ITSC). IEEE, 2023, pp. 4584–4591

  7. [15]

    Hierarchical deep reinforcement learning for continuous action control,

    Z. Yang, K. Merrick, L. Jin, and H. A. Abbass, “Hierarchical deep reinforcement learning for continuous action control,” IEEE transac- tions on neural networks and learning systems , vol. 29, no. 11, pp. 5174–5184, 2018

  8. [16]

    Feudal networks for hierarchical rein- forcement learning,

    A. S. Vezhnevets, S. Osindero, T. Schaul, N. Heess, M. Jaderberg, D. Silver, and K. Kavukcuoglu, “Feudal networks for hierarchical rein- forcement learning,” in International conference on machine learning. PMLR, 2017, pp. 3540–3549

  9. [17]

    Hierarchically and cooperatively learning traffic signal control,

    B. Xu, Y . Wang, Z. Wang, H. Jia, and Z. Lu, “Hierarchically and cooperatively learning traffic signal control,” in Proceedings of the AAAI conference on artificial intelligence , vol. 35, no. 1, 2021, pp. 669–677

  10. [18]

    The scoot on-line traffic signal optimisation technique,

    P. Hunt, D. Robertson, R. Bretherton, and M. C. Royle, “The scoot on-line traffic signal optimisation technique,” Traffic Engineering & Control, vol. 23, no. 4, 1982

  11. [19]

    Intellilight: A reinforcement learning approach for intelligent traffic light control,

    H. Wei, G. Zheng, H. Yao, and Z. Li, “Intellilight: A reinforcement learning approach for intelligent traffic light control,” in Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining , 2018, pp. 2496–2505

  12. [20]

    Coordinated deep reinforcement learners for traffic light control,

    E. Van der Pol and F. A. Oliehoek, “Coordinated deep reinforcement learners for traffic light control,” Proceedings of learning, inference and control of multi-agent systems (at NIPS 2016) , vol. 1, 2016

  13. [21]

    An experimental review of reinforcement learning algorithms for adaptive traffic signal control,

    P. Mannion, J. Duggan, and E. Howley, “An experimental review of reinforcement learning algorithms for adaptive traffic signal control,” Autonomic road transport support systems , pp. 47–66, 2016

  14. [22]

    Continuous control with deep reinforce- ment learning,

    T. P. Lillicrap, J. J. Hunt, A. Pritzel, N. Heess, T. Erez, Y . Tassa, D. Silver, and D. Wierstra, “Continuous control with deep reinforce- ment learning,” arXiv preprint arXiv:1509.02971 , 2015

  15. [23]

    Traffic signal settings,

    F. V . Webster, “Traffic signal settings,” Tech. Rep., 1958

  16. [24]

    Traffic signal timing manual

    P. Koonce and L. Rodegerdts, “Traffic signal timing manual.” United States. Federal Highway Administration, Tech. Rep., 2008

  17. [25]

    Maxband: A versatile program for setting signals on arteries and triangular networks,

    J. D. Little, M. D. Kelson, and N. H. Gartner, “Maxband: A versatile program for setting signals on arteries and triangular networks,” 1981

  18. [26]

    Cityflow: A multi-agent reinforcement learning environment for large scale city traffic scenario,

    H. Zhang, S. Feng, C. Liu, Y . Ding, Y . Zhu, Z. Zhou, W. Zhang, Y . Yu, H. Jin, and Z. Li, “Cityflow: A multi-agent reinforcement learning environment for large scale city traffic scenario,” in The world wide web conference, 2019, pp. 3620–3624

  19. [27]

    Self-organizing traffic lights,

    C. Gershenson, “Self-organizing traffic lights,” arXiv preprint nlin/0411066, 2004

  20. [28]

    Max pressure control of a network of signalized inter- sections,

    P. Varaiya, “Max pressure control of a network of signalized inter- sections,” Transportation Research Part C: Emerging Technologies , vol. 36, pp. 177–195, 2013

  21. [29]

    Human-level control through deep reinforcement learning,

    V . Mnih, K. Kavukcuoglu, D. Silver, A. A. Rusu, J. Veness, M. G. Bellemare, A. Graves, M. Riedmiller, A. K. Fidjeland, G. Ostrovski et al. , “Human-level control through deep reinforcement learning,” nature, vol. 518, no. 7540, pp. 529–533, 2015

  22. [30]

    Dueling network architectures for deep reinforcement learning,

    Z. Wang, T. Schaul, M. Hessel, H. Hasselt, M. Lanctot, and N. Freitas, “Dueling network architectures for deep reinforcement learning,” in International conference on machine learning . PMLR, 2016, pp. 1995–2003

Pith tools

Reviewed August 5, 2026 · model on record in the stance chip above.