{"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/effective-and-stable-role-based-multi-agent","title":"Effective and Stable Role-Based Multi-Agent Collaboration by Structural Information Principles","arxiv_id":"2304.00755","date":"2023-04-03","proceeding":null,"authors":["Xianghua Zeng","Hao Peng","Angsheng Li"],"abstract":"Role-based learning is a promising approach to improving the performance of Multi-Agent Reinforcement Learning (MARL). Nevertheless, without manual assistance, current role-based methods cannot guarantee stably discovering a set of roles to effectively decompose a complex task, as they assume either a predefined role structure or practical experience for selecting hyperparameters. In this article, we propose a mathematical Structural Information principles-based Role Discovery method, namely SIRD, and then present a SIRD optimizing MARL framework, namely SR-MARL, for multi-agent collaboration. The SIRD transforms role discovery into a hierarchical action space clustering. Specifically, the SIRD consists of structuralization, sparsification, and optimization modules, where an optimal encoding tree is generated to perform abstracting to discover roles. The SIRD is agnostic to specific MARL algorithms and flexibly integrated with various value function factorization approaches. Empirical evaluations on the StarCraft II micromanagement benchmark demonstrate that, compared with state-of-the-art MARL algorithms, the SR-MARL framework improves the average test win rate by 0.17%, 6.08%, and 3.24%, and reduces the deviation by 16.67%, 30.80%, and 66.30%, under easy, hard, and super hard scenarios.","url_abs":"https://arxiv.org/abs/2304.00755v1","url_pdf":"https://arxiv.org/pdf/2304.00755v1.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":"effective-and-stable-role-based-multi-agent","repo_url":"https://github.com/ringbdstack/sr-marl","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"multi-agent-reinforcement-learning","task_name":"Multi-agent Reinforcement Learning"},{"task_slug":"starcraft","task_name":"Starcraft"},{"task_slug":"starcraft-ii","task_name":"Starcraft II"}],"methods":[{"method_slug":"test","method_name":"Test"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2304.00755","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2304.00755"}},"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/ringbdstack/sr-marl","reach":{"status":"ok"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/RingBDStack/SR-MARL","reach":{"status":"ok"}}],"summary":{"ran":4,"ran_draft_wrong":2,"ran_honours":1,"unverified":4},"by_repo_kind":{"official":{"samples":11,"ran":7,"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":11,"samples":[{"code_sha256_prefix":"d28c75bf14356f6b","entry":"Edge","repo":"RingBDStack/SR-MARL","repo_kind":"official","path":"src/clusters/structural_entropy.py","file_url":"https://github.com/RingBDStack/SR-MARL/blob/HEAD/src/clusters/structural_entropy.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":"d28c75bf14356f6b"}},{"code_sha256_prefix":"9298b6a191127299","entry":"Graph","repo":"RingBDStack/SR-MARL","repo_kind":"official","path":"src/clusters/structural_entropy.py","file_url":"https://github.com/RingBDStack/SR-MARL/blob/HEAD/src/clusters/structural_entropy.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":"9298b6a191127299"}},{"code_sha256_prefix":"96b0a038e526a111","entry":"TreeNode","repo":"RingBDStack/SR-MARL","repo_kind":"official","path":"src/clusters/structural_entropy.py","file_url":"https://github.com/RingBDStack/SR-MARL/blob/HEAD/src/clusters/structural_entropy.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":"96b0a038e526a111"}},{"code_sha256_prefix":"41d287a2ac6d6cd5","entry":"TwoID","repo":"RingBDStack/SR-MARL","repo_kind":"official","path":"src/clusters/structural_entropy.py","file_url":"https://github.com/RingBDStack/SR-MARL/blob/HEAD/src/clusters/structural_entropy.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":"41d287a2ac6d6cd5"}},{"code_sha256_prefix":"bb1a5a3343993a03","entry":"aggregate","repo":"RingBDStack/SR-MARL","repo_kind":"official","path":"src/clusters/structural_entropy.py","file_url":"https://github.com/RingBDStack/SR-MARL/blob/HEAD/src/clusters/structural_entropy.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bb1a5a3343993a03"}},{"code_sha256_prefix":"ee74e91d8826a58e","entry":"compute_structural_entropy_of_node","repo":"RingBDStack/SR-MARL","repo_kind":"official","path":"src/clusters/structural_entropy.py","file_url":"https://github.com/RingBDStack/SR-MARL/blob/HEAD/src/clusters/structural_entropy.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ee74e91d8826a58e"}},{"code_sha256_prefix":"b2ecb77a5503235a","entry":"decode_two_dimension_tree","repo":"RingBDStack/SR-MARL","repo_kind":"official","path":"src/clusters/structural_entropy.py","file_url":"https://github.com/RingBDStack/SR-MARL/blob/HEAD/src/clusters/structural_entropy.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":"b2ecb77a5503235a"}},{"code_sha256_prefix":"9cb5f38e7ad2d3b9","entry":"BuildGraph","repo":"RingBDStack/SR-MARL","repo_kind":"official","path":"src/clusters/structural_entropy.py","file_url":"https://github.com/RingBDStack/SR-MARL/blob/HEAD/src/clusters/structural_entropy.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":"9cb5f38e7ad2d3b9"}},{"code_sha256_prefix":"38b67d149f9d6019","entry":"HighDimensionalStructureEntropyAlgorithm","repo":"RingBDStack/SR-MARL","repo_kind":"official","path":"src/clusters/structural_entropy.py","file_url":"https://github.com/RingBDStack/SR-MARL/blob/HEAD/src/clusters/structural_entropy.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":"38b67d149f9d6019"}},{"code_sha256_prefix":"bef2bbe09a7febd8","entry":"PriorityTree","repo":"RingBDStack/SR-MARL","repo_kind":"official","path":"src/clusters/structural_entropy.py","file_url":"https://github.com/RingBDStack/SR-MARL/blob/HEAD/src/clusters/structural_entropy.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":"bef2bbe09a7febd8"}},{"code_sha256_prefix":"d74234302e8f3794","entry":"se_cluster","repo":"RingBDStack/SR-MARL","repo_kind":"official","path":"src/clusters/structural_entropy.py","file_url":"https://github.com/RingBDStack/SR-MARL/blob/HEAD/src/clusters/structural_entropy.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":"d74234302e8f3794"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}