{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/flow-architecture-and-benchmarking-for","title":"Flow: A Modular Learning Framework for Mixed Autonomy Traffic","arxiv_id":"1710.05465","date":"2017-10-16","proceeding":null,"authors":["Cathy Wu","Aboudy Kreidieh","Kanaad Parvate","Eugene Vinitsky","Alexandre M. Bayen"],"abstract":"The rapid development of autonomous vehicles (AVs) holds vast potential for transportation systems through improved safety, efficiency, and access to mobility. However, the progression of these impacts, as AVs are adopted, is not well understood. Numerous technical challenges arise from the goal of analyzing the partial adoption of autonomy: partial control and observation, multi-vehicle interactions, and the sheer variety of scenarios represented by real-world networks. To shed light into near-term AV impacts, this article studies the suitability of deep reinforcement learning (RL) for overcoming these challenges in a low AV-adoption regime. A modular learning framework is presented, which leverages deep RL to address complex traffic dynamics. Modules are composed to capture common traffic phenomena (stop-and-go traffic jams, lane changing, intersections). Learned control laws are found to improve upon human driving performance, in terms of system-level velocity, by up to 57% with only 4-7% adoption of AVs. Furthermore, in single-lane traffic, a small neural network control law with only local observation is found to eliminate stop-and-go traffic - surpassing all known model-based controllers to achieve near-optimal performance - and generalize to out-of-distribution traffic densities.","url_abs":"https://arxiv.org/abs/1710.05465v4","url_pdf":"https://arxiv.org/pdf/1710.05465v4.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"flow-architecture-and-benchmarking-for","repo_url":"https://github.com/cathywu/flow","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"flow-architecture-and-benchmarking-for","repo_url":"https://github.com/flow-project/flow","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"flow-architecture-and-benchmarking-for","repo_url":"https://github.com/2855239858/CenLight-Traffic-Grid-Signal-Optimization-viaAction-and-State-Decomposition","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"flow-architecture-and-benchmarking-for","repo_url":"https://github.com/DrArryYao/RL-SC","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"flow-architecture-and-benchmarking-for","repo_url":"https://github.com/MuditShivendra/Traffic_Light_Control","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"flow-architecture-and-benchmarking-for","repo_url":"https://github.com/alt113/flow-triangle-scenario","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"flow-architecture-and-benchmarking-for","repo_url":"https://github.com/arryyao/flow-project-flow","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":null},{"paper_slug":"flow-architecture-and-benchmarking-for","repo_url":"https://github.com/berkeleyflow/flow","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"flow-architecture-and-benchmarking-for","repo_url":"https://github.com/cuijiaxun/MITC-Project","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"flow-architecture-and-benchmarking-for","repo_url":"https://github.com/dajiangsuo/EV_mixtedAutonomy","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"flow-architecture-and-benchmarking-for","repo_url":"https://github.com/eugenevinitsky/cdc_bottlenecks","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"flow-architecture-and-benchmarking-for","repo_url":"https://github.com/leehoon7/flow","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"flow-architecture-and-benchmarking-for","repo_url":"https://github.com/parthjaggi/flow","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"flow-architecture-and-benchmarking-for","repo_url":"https://github.com/pengyuan-zhou/Multi-agent-RL-traffic-light-control","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"gone","observed_at":"2026-09-18","how":"tree_404+repo_404"}},{"paper_slug":"flow-architecture-and-benchmarking-for","repo_url":"https://github.com/remusionita/flow_rl","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"flow-architecture-and-benchmarking-for","repo_url":"https://github.com/richardehughes/chnflow","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"autonomous-vehicles","task_name":"Autonomous Vehicles"},{"task_slug":"deep-reinforcement-learning","task_name":"Deep Reinforcement Learning"},{"task_slug":"reinforcement-learning","task_name":"Reinforcement Learning"},{"task_slug":"reinforcement-learning-1","task_name":"Reinforcement Learning (RL)"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1710.05465","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1710.05465"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/leehoon7/flow","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/2855239858/CenLight-Traffic-Grid-Signal-Optimization-viaAction-and-State-Decomposition","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/remusionita/flow_rl","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/eugenevinitsky/cdc_bottlenecks","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/richardehughes/chnflow","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/parthjaggi/flow","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/dajiangsuo/EV_mixtedAutonomy","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/cuijiaxun/MITC-Project","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/berkeleyflow/flow","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/DrArryYao/RL-SC","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/MuditShivendra/Traffic_Light_Control","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/alt113/flow-triangle-scenario","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/cathywu/flow","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/flow-project/flow","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/arryyao/flow-project-flow","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/pengyuan-zhou/Multi-agent-RL-traffic-light-control","reach":{"status":"gone","observed_at":"2026-09-18","how":"tree_404+repo_404"}}],"summary":{"ran_honours":1,"unverified":16},"by_repo_kind":{"official":{"samples":3,"ran":0,"repositories":1},"listed":{"samples":14,"ran":1,"repositories":7}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"f134e49cf4945317","entry":"desired_velocity","repo":"DrArryYao/RL-SC","repo_kind":"listed","path":"flow/core/rewards.py","file_url":"https://github.com/DrArryYao/RL-SC/blob/HEAD/flow/core/rewards.py","link_basis":"plan_row","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f134e49cf4945317"}},{"code_sha256_prefix":"088d6832089ff160","entry":"average_velocity","repo":"cathywu/flow","repo_kind":"official","path":"flow/core/rewards.py","file_url":"https://github.com/cathywu/flow/blob/HEAD/flow/core/rewards.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"088d6832089ff160"}},{"code_sha256_prefix":"bbd1cb2d126986cc","entry":"average_velocity","repo":"alt113/flow-triangle-scenario","repo_kind":"listed","path":"flow/core/rewards.py","file_url":"https://github.com/alt113/flow-triangle-scenario/blob/HEAD/flow/core/rewards.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bbd1cb2d126986cc"}},{"code_sha256_prefix":"c3addc6445eae099","entry":"convert_lanes_to_edges","repo":"parthjaggi/flow","repo_kind":"listed","path":"flow/core/util.py","file_url":"https://github.com/parthjaggi/flow/blob/HEAD/flow/core/util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c3addc6445eae099"}},{"code_sha256_prefix":"5b84585ea4766dd9","entry":"cover_actions","repo":"2855239858/CenLight-Traffic-Grid-Signal-Optimization-viaAction-and-State-Decomposition","repo_kind":"listed","path":"workspace/ryc_workspace/cenlight_runner.py","file_url":"https://github.com/2855239858/CenLight-Traffic-Grid-Signal-Optimization-viaAction-and-State-Decomposition/blob/HEAD/workspace/ryc_workspace/cenlight_runner.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5b84585ea4766dd9"}},{"code_sha256_prefix":"9dec5fb45db938e4","entry":"desired_velocity","repo":"alt113/flow-triangle-scenario","repo_kind":"listed","path":"flow/core/rewards.py","file_url":"https://github.com/alt113/flow-triangle-scenario/blob/HEAD/flow/core/rewards.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9dec5fb45db938e4"}},{"code_sha256_prefix":"451b34b85387cf6c","entry":"desired_velocity","repo":"berkeleyflow/flow","repo_kind":"listed","path":"flow/core/rewards.py","file_url":"https://github.com/berkeleyflow/flow/blob/HEAD/flow/core/rewards.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"451b34b85387cf6c"}},{"code_sha256_prefix":"3f0d8929acbc5b16","entry":"ensure_dir","repo":"cathywu/flow","repo_kind":"official","path":"flow/core/util.py","file_url":"https://github.com/cathywu/flow/blob/HEAD/flow/core/util.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3f0d8929acbc5b16"}},{"code_sha256_prefix":"446130e9b6b678e8","entry":"get_compute_action_rllab","repo":"arryyao/flow-project-flow","repo_kind":"listed","path":"flow/utils/leaderboard/evaluate.py","file_url":"https://github.com/arryyao/flow-project-flow/blob/HEAD/flow/utils/leaderboard/evaluate.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"446130e9b6b678e8"}},{"code_sha256_prefix":"4e43c512f2aac68d","entry":"get_speed_pos_merge","repo":"alt113/flow-triangle-scenario","repo_kind":"listed","path":"triangle-scenario-flow.py","file_url":"https://github.com/alt113/flow-triangle-scenario/blob/HEAD/triangle-scenario-flow.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4e43c512f2aac68d"}},{"code_sha256_prefix":"bd924d20d17e4d73","entry":"import_edge_pos_speed","repo":"alt113/flow-triangle-scenario","repo_kind":"listed","path":"triangle-scenario-flow.py","file_url":"https://github.com/alt113/flow-triangle-scenario/blob/HEAD/triangle-scenario-flow.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bd924d20d17e4d73"}},{"code_sha256_prefix":"1902b78ae8217da0","entry":"max_edge_velocity","repo":"berkeleyflow/flow","repo_kind":"listed","path":"flow/core/rewards.py","file_url":"https://github.com/berkeleyflow/flow/blob/HEAD/flow/core/rewards.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1902b78ae8217da0"}},{"code_sha256_prefix":"d31fcc00ffefc8c3","entry":"reward_density","repo":"berkeleyflow/flow","repo_kind":"listed","path":"flow/core/rewards.py","file_url":"https://github.com/berkeleyflow/flow/blob/HEAD/flow/core/rewards.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d31fcc00ffefc8c3"}},{"code_sha256_prefix":"ab94b5bc29921f00","entry":"rl_forward_progress","repo":"cathywu/flow","repo_kind":"official","path":"flow/core/rewards.py","file_url":"https://github.com/cathywu/flow/blob/HEAD/flow/core/rewards.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ab94b5bc29921f00"}},{"code_sha256_prefix":"be02a74995a19bda","entry":"rl_forward_progress","repo":"alt113/flow-triangle-scenario","repo_kind":"listed","path":"flow/core/rewards.py","file_url":"https://github.com/alt113/flow-triangle-scenario/blob/HEAD/flow/core/rewards.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"be02a74995a19bda"}},{"code_sha256_prefix":"a7b03a583369d0fd","entry":"rllib_logger_creator","repo":"berkeleyflow/flow","repo_kind":"listed","path":"flow/core/util.py","file_url":"https://github.com/berkeleyflow/flow/blob/HEAD/flow/core/util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a7b03a583369d0fd"}},{"code_sha256_prefix":"2abe3792c2b4ee79","entry":"sum_velocity","repo":"cuijiaxun/MITC-Project","repo_kind":"listed","path":"flow/core/rewards.py","file_url":"https://github.com/cuijiaxun/MITC-Project/blob/HEAD/flow/core/rewards.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2abe3792c2b4ee79"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}