{"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/cooperative-open-ended-learning-framework-for","title":"Cooperative Open-ended Learning Framework for Zero-shot Coordination","arxiv_id":"2302.04831","date":"2023-02-09","proceeding":null,"authors":["Yang Li","Shao Zhang","Jichen Sun","Yali Du","Ying Wen","Xinbing Wang","Wei Pan"],"abstract":"Zero-shot coordination in cooperative artificial intelligence (AI) remains a significant challenge, which means effectively coordinating with a wide range of unseen partners. Previous algorithms have attempted to address this challenge by optimizing fixed objectives within a population to improve strategy or behaviour diversity. However, these approaches can result in a loss of learning and an inability to cooperate with certain strategies within the population, known as cooperative incompatibility. To address this issue, we propose the Cooperative Open-ended LEarning (COLE) framework, which constructs open-ended objectives in cooperative games with two players from the perspective of graph theory to assess and identify the cooperative ability of each strategy. We further specify the framework and propose a practical algorithm that leverages knowledge from game theory and graph theory. Furthermore, an analysis of the learning process of the algorithm shows that it can efficiently overcome cooperative incompatibility. The experimental results in the Overcooked game environment demonstrate that our method outperforms current state-of-the-art methods when coordinating with different-level partners. Our demo is available at https://sites.google.com/view/cole-2023.","url_abs":"https://arxiv.org/abs/2302.04831v4","url_pdf":"https://arxiv.org/pdf/2302.04831v4.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":"cooperative-open-ended-learning-framework-for","repo_url":"https://github.com/PKU-Alignment/ProAgent","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"cooperative-open-ended-learning-framework-for","repo_url":"https://github.com/liyang619/cole-platform","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"diversity","task_name":"Diversity"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2302.04831","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2302.04831"}},"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/PKU-Alignment/ProAgent","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/liyang619/cole-platform","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":2,"unverified":8},"by_repo_kind":{"listed":{"samples":10,"ran":2,"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":0,"samples":[{"code_sha256_prefix":"591c3a0919cdc129","entry":"load_dict_from_file","repo":"PKU-Alignment/ProAgent","repo_kind":"listed","path":"lib/overcooked_ai/overcooked_ai_py/utils.py","file_url":"https://github.com/PKU-Alignment/ProAgent/blob/HEAD/lib/overcooked_ai/overcooked_ai_py/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"591c3a0919cdc129"}},{"code_sha256_prefix":"1db1eb104270f970","entry":"load_dict_from_txt","repo":"PKU-Alignment/ProAgent","repo_kind":"listed","path":"lib/overcooked_ai/overcooked_ai_py/utils.py","file_url":"https://github.com/PKU-Alignment/ProAgent/blob/HEAD/lib/overcooked_ai/overcooked_ai_py/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1db1eb104270f970"}},{"code_sha256_prefix":"d68e86e16e480219","entry":"convert_messages_to_prompt","repo":"PKU-Alignment/ProAgent","repo_kind":"listed","path":"src/proagent/utils.py","file_url":"https://github.com/PKU-Alignment/ProAgent/blob/HEAD/src/proagent/utils.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":"d68e86e16e480219"}},{"code_sha256_prefix":"c770dc82622e81c4","entry":"load_pickle","repo":"PKU-Alignment/ProAgent","repo_kind":"listed","path":"lib/overcooked_ai/overcooked_ai_py/utils.py","file_url":"https://github.com/PKU-Alignment/ProAgent/blob/HEAD/lib/overcooked_ai/overcooked_ai_py/utils.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":"c770dc82622e81c4"}},{"code_sha256_prefix":"6d3c2b5e4fba7274","entry":"make_output_format","repo":"PKU-Alignment/ProAgent","repo_kind":"listed","path":"lib/stable-baselines/stable_baselines/logger.py","file_url":"https://github.com/PKU-Alignment/ProAgent/blob/HEAD/lib/stable-baselines/stable_baselines/logger.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":"6d3c2b5e4fba7274"}},{"code_sha256_prefix":"2cc8a7e3737ea737","entry":"profile","repo":"PKU-Alignment/ProAgent","repo_kind":"listed","path":"lib/stable-baselines/stable_baselines/logger.py","file_url":"https://github.com/PKU-Alignment/ProAgent/blob/HEAD/lib/stable-baselines/stable_baselines/logger.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":"2cc8a7e3737ea737"}},{"code_sha256_prefix":"64647496a3527b7b","entry":"read_json","repo":"PKU-Alignment/ProAgent","repo_kind":"listed","path":"lib/stable-baselines/stable_baselines/logger.py","file_url":"https://github.com/PKU-Alignment/ProAgent/blob/HEAD/lib/stable-baselines/stable_baselines/logger.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":"64647496a3527b7b"}},{"code_sha256_prefix":"a3fd9c3a978a7624","entry":"rolling_window","repo":"PKU-Alignment/ProAgent","repo_kind":"listed","path":"lib/stable-baselines/stable_baselines/results_plotter.py","file_url":"https://github.com/PKU-Alignment/ProAgent/blob/HEAD/lib/stable-baselines/stable_baselines/results_plotter.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":"a3fd9c3a978a7624"}},{"code_sha256_prefix":"9cc2d7b8e6215c80","entry":"ts2xy","repo":"PKU-Alignment/ProAgent","repo_kind":"listed","path":"lib/stable-baselines/stable_baselines/results_plotter.py","file_url":"https://github.com/PKU-Alignment/ProAgent/blob/HEAD/lib/stable-baselines/stable_baselines/results_plotter.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":"9cc2d7b8e6215c80"}},{"code_sha256_prefix":"0680d6189aa0a2ff","entry":"window_func","repo":"PKU-Alignment/ProAgent","repo_kind":"listed","path":"lib/stable-baselines/stable_baselines/results_plotter.py","file_url":"https://github.com/PKU-Alignment/ProAgent/blob/HEAD/lib/stable-baselines/stable_baselines/results_plotter.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":"0680d6189aa0a2ff"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}