{"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/weakly-coupled-deep-q-networks","title":"Weakly Coupled Deep Q-Networks","arxiv_id":"2310.18803","date":"2023-10-28","proceeding":"NeurIPS 2023 11","authors":[],"abstract":"We propose weakly coupled deep Q-networks (WCDQN), a novel deep reinforcement learning algorithm that enhances performance in a class of structured problems called weakly coupled Markov decision processes (WCMDP). WCMDPs consist of multiple independent subproblems connected by an action space constraint, which is a structural property that frequently emerges in practice. Despite this appealing structure, WCMDPs quickly become intractable as the number of subproblems grows. WCDQN employs a single network to train multiple DQN \"subagents\", one for each subproblem, and then combine their solutions to establish an upper bound on the optimal action value. This guides the main DQN agent towards optimality. We show that the tabular version, weakly coupled Q-learning (WCQL), converges almost surely to the optimal action value. Numerical experiments show faster convergence compared to DQN and related techniques in settings with as many as 10 subproblems, $3^{10}$ total actions, and a continuous state space.","url_abs":"https://arxiv.org/abs/2310.18803v1","url_pdf":"https://arxiv.org/pdf/2310.18803v1.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":[],"tasks":[{"task_slug":"deep-reinforcement-learning","task_name":"Deep Reinforcement Learning"},{"task_slug":"q-learning","task_name":"Q-Learning"}],"methods":[{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"dqn","method_name":"DQN"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"q-learning","method_name":"Q-Learning"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2310.18803","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2310.18803"}},"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":"deterministic:regex_extraction","url":"https://github.com/ibrahim-elshar/WCDQN_NeurIPS","reach":null}],"summary":{"ran":2,"ran_draft_wrong":2,"ran_honours":1,"unverified":5},"by_repo_kind":{"found_in_text":{"samples":10,"ran":5,"repositories":1}},"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":10,"samples":[{"code_sha256_prefix":"1c1c0cd257ab6271","entry":"Buffer","repo":"ibrahim-elshar/WCDQN_NeurIPS","repo_kind":"found_in_text","path":"src/Inv_control/WCDQN.py","file_url":"https://github.com/ibrahim-elshar/WCDQN_NeurIPS/blob/HEAD/src/Inv_control/WCDQN.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1c1c0cd257ab6271"}},{"code_sha256_prefix":"0a34c84d33066fee","entry":"ReplayBuffer","repo":"ibrahim-elshar/WCDQN_NeurIPS","repo_kind":"found_in_text","path":"src/Inv_control/WCDQN.py","file_url":"https://github.com/ibrahim-elshar/WCDQN_NeurIPS/blob/HEAD/src/Inv_control/WCDQN.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0a34c84d33066fee"}},{"code_sha256_prefix":"bfad2212c91f2e40","entry":"average_rewards","repo":"ibrahim-elshar/WCDQN_NeurIPS","repo_kind":"found_in_text","path":"src/Inv_control/WCDQN.py","file_url":"https://github.com/ibrahim-elshar/WCDQN_NeurIPS/blob/HEAD/src/Inv_control/WCDQN.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bfad2212c91f2e40"}},{"code_sha256_prefix":"6594af525a0795e1","entry":"extract_rewards_from_logfile","repo":"ibrahim-elshar/WCDQN_NeurIPS","repo_kind":"found_in_text","path":"src/Inv_control/WCDQN.py","file_url":"https://github.com/ibrahim-elshar/WCDQN_NeurIPS/blob/HEAD/src/Inv_control/WCDQN.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6594af525a0795e1"}},{"code_sha256_prefix":"855737a21f25f46c","entry":"setup_logger","repo":"ibrahim-elshar/WCDQN_NeurIPS","repo_kind":"found_in_text","path":"src/Inv_control/WCDQN.py","file_url":"https://github.com/ibrahim-elshar/WCDQN_NeurIPS/blob/HEAD/src/Inv_control/WCDQN.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"855737a21f25f46c"}},{"code_sha256_prefix":"7f4eee504f02bf73","entry":"BaseAgent","repo":"ibrahim-elshar/WCDQN_NeurIPS","repo_kind":"found_in_text","path":"src/Inv_control/WCDQN.py","file_url":"https://github.com/ibrahim-elshar/WCDQN_NeurIPS/blob/HEAD/src/Inv_control/WCDQN.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7f4eee504f02bf73"}},{"code_sha256_prefix":"10469ffead06c867","entry":"DQN","repo":"ibrahim-elshar/WCDQN_NeurIPS","repo_kind":"found_in_text","path":"src/Inv_control/WCDQN.py","file_url":"https://github.com/ibrahim-elshar/WCDQN_NeurIPS/blob/HEAD/src/Inv_control/WCDQN.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"10469ffead06c867"}},{"code_sha256_prefix":"19137150e1814247","entry":"Network","repo":"ibrahim-elshar/WCDQN_NeurIPS","repo_kind":"found_in_text","path":"src/Inv_control/WCDQN.py","file_url":"https://github.com/ibrahim-elshar/WCDQN_NeurIPS/blob/HEAD/src/Inv_control/WCDQN.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"19137150e1814247"}},{"code_sha256_prefix":"b9b37008c249ac44","entry":"WCDQN","repo":"ibrahim-elshar/WCDQN_NeurIPS","repo_kind":"found_in_text","path":"src/Inv_control/WCDQN.py","file_url":"https://github.com/ibrahim-elshar/WCDQN_NeurIPS/blob/HEAD/src/Inv_control/WCDQN.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b9b37008c249ac44"}},{"code_sha256_prefix":"b7d66014ebd70e13","entry":"plot_rewards","repo":"ibrahim-elshar/WCDQN_NeurIPS","repo_kind":"found_in_text","path":"src/Inv_control/WCDQN.py","file_url":"https://github.com/ibrahim-elshar/WCDQN_NeurIPS/blob/HEAD/src/Inv_control/WCDQN.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b7d66014ebd70e13"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}