[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-google-deepmind--open_spiel":3,"tool-google-deepmind--open_spiel":64},[4,17,27,35,48,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,43,44,45,15,46,26,13,47],"数据工具","视频","插件","其他","音频",{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":10,"last_commit_at":54,"category_tags":55,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,46],{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},2181,"OpenHands","OpenHands\u002FOpenHands","OpenHands 是一个专注于 AI 驱动开发的开源平台，旨在让智能体（Agent）像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点，通过自动化流程显著提升开发速度。\n\n无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员，还是需要快速原型验证的技术团队，都能从中受益。OpenHands 提供了灵活多样的使用方式：既可以通过命令行（CLI）或本地图形界面在个人电脑上轻松上手，体验类似 Devin 的流畅交互；也能利用其强大的 Python SDK 自定义智能体逻辑，甚至在云端大规模部署上千个智能体并行工作。\n\n其核心技术亮点在于模块化的软件智能体 SDK，这不仅构成了平台的引擎，还支持高度可组合的开发模式。此外，OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩，证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能，支持与 Slack、Jira 等工具集成，并提供细粒度的权限管理，适合从个人开发者到大型企业的各类用户场景。",70612,"2026-04-05T11:12:22",[26,15,13,45],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":79,"owner_email":79,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":117,"forks":118,"last_commit_at":119,"license":120,"difficulty_score":121,"env_os":122,"env_gpu":122,"env_ram":122,"env_deps":123,"category_tags":129,"github_topics":130,"view_count":23,"oss_zip_url":79,"oss_zip_packed_at":79,"status":16,"created_at":136,"updated_at":137,"faqs":138,"releases":173},2334,"google-deepmind\u002Fopen_spiel","open_spiel","OpenSpiel is a collection of environments and algorithms for research in general reinforcement learning and search\u002Fplanning in games.","OpenSpiel 是由 DeepMind 开源的游戏强化学习与搜索规划研究框架。它致力于解决游戏 AI 开发中环境多样、算法复现难以及评估标准不统一的痛点，为研究人员提供了一个标准化的实验平台。\n\n该框架主要面向人工智能领域的研究人员、算法工程师及高校师生，特别适合需要探索多智能体交互、博弈策略或验证新算法的用户。OpenSpiel 的核心亮点在于其极高的通用性：它不仅支持从零和博弈到合作博弈、从完全信息到非完全信息、从回合制到同时行动等数十种不同类型的游戏环境，还内置了包括反事实后悔最小化（CFR）在内的多种经典算法实现及学习动态分析工具。\n\n在技术实现上，OpenSpiel 采用 C++ 构建高性能核心引擎以确保运行效率，同时提供友好的 Python 接口方便快速原型开发与实验。无论是研究扑克等不完全信息博弈，还是模拟网格世界中的社会困境，OpenSpiel 都能让开发者专注于算法逻辑本身，而无需重复造轮子构建基础环境，是进入游戏 AI 研究领域的理想起点。","\n\u003C!-- disableFinding(IMAGE_ALT_TEXT_INACCESSIBLE) -->\n\u003C!-- disableFinding(HEADING_REPEAT_H1) -->\n\u003C!-- disableFinding(SNIPPET_INVALID_LANGUAGE) -->\n\u003C!-- disableFinding(\"github\") -->\n\u003C!-- disableFinding(LINK_CL_HEAD) -->\n\n# OpenSpiel: A Framework for Reinforcement Learning in Games\n\n[![Documentation Status](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgoogle-deepmind_open_spiel_readme_13d664e1afd7.png)](https:\u002F\u002Fopenspiel.readthedocs.io\u002Fen\u002Flatest\u002F?badge=latest)\n![build_and_test](https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fopen_spiel\u002Fworkflows\u002Fbuild_and_test\u002Fbadge.svg)\n[![Python 3.11](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.11-blue.svg)](https:\u002F\u002Fwww.python.org)\n\nOpenSpiel is a collection of environments and algorithms for research in general\nreinforcement learning and search\u002Fplanning in games. OpenSpiel supports n-player\n(single- and multi- agent) zero-sum, cooperative and general-sum, one-shot and\nsequential, strictly turn-taking and simultaneous-move, perfect and imperfect\ninformation games, as well as traditional multiagent environments such as\n(partially- and fully- observable) grid worlds and social dilemmas. OpenSpiel\nalso includes tools to analyze learning dynamics and other common evaluation\nmetrics. Games are represented as procedural extensive-form games, with some\nnatural extensions. The core API and games are implemented in C++ and exposed to\nPython. Algorithms and tools are written both in C++ and Python.\n\nTo try OpenSpiel in Google Colaboratory, please refer to `open_spiel\u002Fcolabs` subdirectory or start [here](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fdeepmind\u002Fopen_spiel\u002Fblob\u002Fmaster\u002Fopen_spiel\u002Fcolabs\u002Finstall_open_spiel.ipynb).\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgoogle-deepmind_open_spiel_readme_a45c99daf713.png\" alt=\"OpenSpiel visual asset\">\n\u003C\u002Fp>\n\n# Index\n\nPlease choose among the following options:\n\n*   [Installing OpenSpiel](docs\u002Finstall.md)\n*   [Introduction to OpenSpiel](docs\u002Fintro.md)\n*   [API Overview and First Example](docs\u002Fconcepts.md)\n*   [API Reference](docs\u002Fapi_reference.md)\n*   [Overview of Implemented Games](docs\u002Fgames.md)\n*   [Overview of Implemented Algorithms](docs\u002Falgorithms.md)\n*   [Developer Guide](docs\u002Fdeveloper_guide.md)\n*   [Using OpenSpiel as a C++ Library](docs\u002Flibrary.md)\n*   [Guidelines and Contributing](docs\u002Fcontributing.md)\n*   [Authors](docs\u002Fauthors.md)\n\nFor a longer introduction to the core concepts, formalisms, and terminology,\nincluding an overview of the algorithms and some results, please see\n[OpenSpiel: A Framework for Reinforcement Learning in Games](https:\u002F\u002Farxiv.org\u002Fabs\u002F1908.09453).\n\nFor an overview of OpenSpiel and example uses of the core API, please check out\nour tutorials:\n\n*   [Motivation, Core API, Brief Intro to Replictor Dynamics and Imperfect\n    Information Games](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=8NCPqtPwlFQ) by Marc\n    Lanctot.\n    [(slides)](http:\u002F\u002Fmlanctot.info\u002Ffiles\u002FOpenSpiel_Tutorial_KU_Leuven_2022.pdf)\n    [(colab)](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fdeepmind\u002Fopen_spiel\u002Fblob\u002Fmaster\u002Fopen_spiel\u002Fcolabs\u002FOpenSpielTutorial.ipynb)\n*   [Motivation, Core API, Implementing CFR and REINFORCE on Kuhn poker, Leduc\n    poker, and Goofspiel](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=o6JNHoGUXCo) by Edward\n    Lockhart.\n    [(slides)](http:\u002F\u002Fmlanctot.info\u002Ffiles\u002Fopen_spiel_tutorial-mar2021-comarl.pdf)\n    [(colab)](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fdeepmind\u002Fopen_spiel\u002Fblob\u002Fmaster\u002Fopen_spiel\u002Fcolabs\u002FCFR_and_REINFORCE.ipynb)\n\nIf you use OpenSpiel in your research, please cite the paper using the following\nBibTeX:\n\n```bibtex\n@article{LanctotEtAl2019OpenSpiel,\n  title     = {{OpenSpiel}: A Framework for Reinforcement Learning in Games},\n  author    = {Marc Lanctot and Edward Lockhart and Jean-Baptiste Lespiau and\n               Vinicius Zambaldi and Satyaki Upadhyay and Julien P\\'{e}rolat and\n               Sriram Srinivasan and Finbarr Timbers and Karl Tuyls and\n               Shayegan Omidshafiei and Daniel Hennes and Dustin Morrill and\n               Paul Muller and Timo Ewalds and Ryan Faulkner and J\\'{a}nos Kram\\'{a}r\n               and Bart De Vylder and Brennan Saeta and James Bradbury and David Ding\n               and Sebastian Borgeaud and Matthew Lai and Julian Schrittwieser and\n               Thomas Anthony and Edward Hughes and Ivo Danihelka and Jonah Ryan-Davis},\n  year      = {2019},\n  eprint    = {1908.09453},\n  archivePrefix = {arXiv},\n  primaryClass = {cs.LG},\n  journal   = {CoRR},\n  volume    = {abs\u002F1908.09453},\n  url       = {http:\u002F\u002Farxiv.org\u002Fabs\u002F1908.09453},\n}\n```\n\n## Versioning\n\nWe use [Semantic Versioning](https:\u002F\u002Fsemver.org\u002F).\n\n","\u003C!-- disableFinding(IMAGE_ALT_TEXT_INACCESSIBLE) -->\n\u003C!-- disableFinding(HEADING_REPEAT_H1) -->\n\u003C!-- disableFinding(SNIPPET_INVALID_LANGUAGE) -->\n\u003C!-- disableFinding(\"github\") -->\n\u003C!-- disableFinding(LINK_CL_HEAD) -->\n\n# OpenSpiel：用于游戏强化学习的框架\n\n[![文档状态](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgoogle-deepmind_open_spiel_readme_13d664e1afd7.png)](https:\u002F\u002Fopenspiel.readthedocs.io\u002Fen\u002Flatest\u002F?badge=latest)\n![构建与测试](https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fopen_spiel\u002Fworkflows\u002Fbuild_and_test\u002Fbadge.svg)\n[![Python 3.11](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.11-blue.svg)](https:\u002F\u002Fwww.python.org)\n\nOpenSpiel 是一个用于通用强化学习以及游戏中搜索和规划研究的环境与算法集合。OpenSpiel 支持多玩家（单智能体和多智能体）的零和、合作和一般和博弈，支持一次性博弈和序列博弈，支持严格轮流行动和同时行动，支持完美信息和不完美信息博弈，同时也支持传统的多智能体环境，例如（部分可观测和完全可观测）网格世界和社会困境。OpenSpiel 还包含用于分析学习动态和其他常见评估指标的工具。游戏被表示为程序化的扩展形式博弈，并进行了一些自然扩展。核心 API 和游戏使用 C++ 实现，并暴露给 Python 使用。算法和工具则同时用 C++ 和 Python 编写。\n\n如需在 Google Colaboratory 中试用 OpenSpiel，请参阅 `open_spiel\u002Fcolabs` 子目录，或从 [这里](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fdeepmind\u002Fopen_spiel\u002Fblob\u002Fmaster\u002Fopen_spiel\u002Fcolabs\u002Finstall_open_spiel.ipynb) 开始。\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgoogle-deepmind_open_spiel_readme_a45c99daf713.png\" alt=\"OpenSpiel 视觉素材\">\n\u003C\u002Fp>\n\n# 目录\n\n请从以下选项中选择：\n\n*   [安装 OpenSpiel](docs\u002Finstall.md)\n*   [OpenSpiel 简介](docs\u002Fintro.md)\n*   [API 概览及第一个示例](docs\u002Fconcepts.md)\n*   [API 参考](docs\u002Fapi_reference.md)\n*   [已实现游戏概览](docs\u002Fgames.md)\n*   [已实现算法概览](docs\u002Falgorithms.md)\n*   [开发者指南](docs\u002Fdeveloper_guide.md)\n*   [将 OpenSpiel 作为 C++ 库使用](docs\u002Flibrary.md)\n*   [指南与贡献](docs\u002Fcontributing.md)\n*   [作者](docs\u002Fauthors.md)\n\n如需更深入地了解核心概念、形式化方法和术语，包括对算法和部分结果的概述，请参阅 [OpenSpiel：用于游戏强化学习的框架](https:\u002F\u002Farxiv.org\u002Fabs\u002F1908.09453)。\n\n如需了解 OpenSpiel 的概览及核心 API 的使用示例，请查看我们的教程：\n\n*   [动机、核心 API、复制者动力学简介以及不完美信息博弈](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=8NCPqtPwlFQ)——Marc Lanctot 主讲。\n    [(幻灯片)](http:\u002F\u002Fmlanctot.info\u002Ffiles\u002FOpenSpiel_Tutorial_KU_Leuven_2022.pdf)\n    [(Colab)](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fdeepmind\u002Fopen_spiel\u002Fblob\u002Fmaster\u002Fopen_spiel\u002Fcolabs\u002FOpenSpielTutorial.ipynb)\n*   [动机、核心 API、在库恩扑克、勒杜克扑克和 Goofspiel 上实现 CFR 和 REINFORCE](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=o6JNHoGUXCo)——Edward Lockhart 主讲。\n    [(幻灯片)](http:\u002F\u002Fmlanctot.info\u002Ffiles\u002Fopen_spiel_tutorial-mar2021-comarl.pdf)\n    [(Colab)](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fdeepmind\u002Fopen_spiel\u002Fblob\u002Fmaster\u002Fopen_spiel\u002Fcolabs\u002FCFR_and_REINFORCE.ipynb)\n\n如果您在研究中使用了 OpenSpiel，请使用以下 BibTeX 格式引用该论文：\n\n```bibtex\n@article{LanctotEtAl2019OpenSpiel,\n  title     = {{OpenSpiel}: A Framework for Reinforcement Learning in Games},\n  author    = {Marc Lanctot and Edward Lockhart and Jean-Baptiste Lespiau and\n               Vinicius Zambaldi and Satyaki Upadhyay and Julien P\\'{e}rolat and\n               Sriram Srinivasan and Finbarr Timbers and Karl Tuyls and\n               Shayegan Omidshafiei and Daniel Hennes and Dustin Morrill and\n               Paul Muller and Timo Ewalds and Ryan Faulkner and J\\'{a}nos Kram\\'{a}r\n               and Bart De Vylder and Brennan Saeta and James Bradbury and David Ding\n               and Sebastian Borgeaud and Matthew Lai and Julian Schrittwieser and\n               Thomas Anthony and Edward Hughes and Ivo Danihelka and Jonah Ryan-Davis},\n  year      = {2019},\n  eprint    = {1908.09453},\n  archivePrefix = {arXiv},\n  primaryClass = {cs.LG},\n  journal   = {CoRR},\n  volume    = {abs\u002F1908.09453},\n  url       = {http:\u002F\u002Farxiv.org\u002Fabs\u002F1908.09453},\n}\n```\n\n## 版本控制\n\n我们采用 [语义版本控制](https:\u002F\u002Fsemver.org\u002F)。","# OpenSpiel 快速上手指南\n\nOpenSpiel 是由 DeepMind 开源的游戏强化学习与搜索规划框架。它支持多种游戏类型（包括零和、合作、完全\u002F不完全信息等），核心由 C++ 实现并提供 Python 接口，适用于多智能体强化学习研究。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：Linux (推荐 Ubuntu) 或 macOS。Windows 用户建议使用 WSL2 或 Docker。\n*   **Python 版本**：Python 3.11 (官方推荐)，兼容 3.8+。\n*   **编译器**：C++17 兼容的编译器 (如 `g++` 或 `clang++`)。\n*   **构建工具**：`bazel` (主要构建系统) 或 `cmake`。\n*   **依赖库**：`git`, `python3-dev`, `virtualenv` (可选但推荐)。\n\n> **提示**：国内开发者若遇到 `bazel` 下载缓慢问题，可配置 `.bazelrc` 使用国内镜像源，或直接使用预编译的 Python Wheel 包（推荐新手）。\n\n## 安装步骤\n\n### 方法一：通过 PyPI 安装（推荐，最快上手）\n\n如果您仅需使用 Python API 进行算法实验，这是最简单的方式。\n\n```bash\n# 创建并激活虚拟环境（推荐）\npython3 -m venv openspiel_env\nsource openspiel_env\u002Fbin\u002Factivate\n\n# 升级 pip\npip install --upgrade pip\n\n# 安装 OpenSpiel\npip install open-spiel\n```\n\n### 方法二：从源码编译（适合需要修改核心代码或 C++ 开发的用戶）\n\n```bash\n# 1. 克隆仓库\ngit clone https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fopen_spiel.git\ncd open_spiel\n\n# 2. 安装 Python 依赖\npip3 install --user -r requirements.txt\n\n# 3. 构建项目 (使用 bazel)\n# 注意：首次运行会自动下载 bazel，国内网络可能需要代理或配置镜像\n.\u002Finstall.sh\n\n# 4. 设置环境变量\nexport PYTHONPATH=$(pwd)\u002Fopen_spiel:$PYTHONPATH\n```\n\n> **验证安装**：在 Python 中运行 `import pyspiel`，若无报错则安装成功。\n\n## 基本使用\n\n以下示例展示如何加载一个内置游戏（井字棋 Tic-Tac-Toe），初始化环境并执行随机步。\n\n```python\nimport pyspiel\n\n# 1. 加载游戏\ngame = pyspiel.load_game(\"tic_tac_toe\")\n\n# 2. 初始化游戏状态\nstate = game.new_initial_state()\n\n# 3. 游戏循环\nwhile not state.is_terminal():\n    # 获取当前合法动作\n    legal_actions = state.legal_actions()\n    \n    # 简单策略：随机选择一个动作\n    action = legal_actions[0] # 实际使用中可替换为 AI 策略\n    \n    # 执行动作\n    state.apply_action(action)\n    \n    # 打印当前状态字符串表示\n    print(state.to_string())\n\n# 4. 输出结果\nprint(\"Game over.\")\nprint(\"Returns:\", state.returns())\n```\n\n### 进阶提示\n*   **更多游戏**：使用 `pyspiel.get_available_games()` 查看所有支持的游戏列表。\n*   **Colab 体验**：无需本地安装，可直接在 Google Colab 中运行官方提供的 [安装与教程 Notebook](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fdeepmind\u002Fopen_spiel\u002Fblob\u002Fmaster\u002Fopen_spiel\u002Fcolabs\u002Finstall_open_spiel.ipynb)。\n*   **文档查阅**：详细 API 参考请参阅 [官方文档](https:\u002F\u002Fopenspiel.readthedocs.io\u002F)。","某高校强化学习实验室的研究团队正致力于开发一种能在不完全信息扑克游戏中超越人类水平的多智能体算法。\n\n### 没有 open_spiel 时\n- **环境搭建繁琐**：研究人员需手动编写 Kuhn 扑克或 Leduc 扑克的规则逻辑、状态转移及奖励函数，极易引入隐蔽的 Bug 导致实验结果不可复现。\n- **算法对比困难**：不同基线算法（如 CFR、REINFORCE）的代码风格迥异且接口不统一，切换游戏场景时需要大量重构代码，严重拖慢迭代速度。\n- **评估指标缺失**：缺乏标准化的工具来量化策略收敛性或计算纳什均衡差距，团队只能自行设计评估脚本，难以与学术界现有成果进行公平对标。\n- **扩展性受限**：一旦想从双人零和博弈扩展到多人一般和博弈或非完美信息网格世界，底层架构往往需要推倒重来。\n\n### 使用 open_spiel 后\n- **即插即用环境**：直接调用 open_spiel 内置的数十种标准游戏环境（包括各种扑克变体和社交困境），无需关心底层规则实现，确保实验基准准确无误。\n- **统一算法接口**：利用 open_spiel 提供的标准化 API，轻松在同一框架下部署并对比 CFR、DQN 等多种算法，快速验证新想法在不同游戏类型中的泛化能力。\n- **专业分析工具**：直接使用 open_spiel 集成的分析模块计算 exploitability（可被利用度）和学习动态曲线，获得社区公认的权威评估数据。\n- **灵活场景支持**：借助其强大的 C++ 核心与 Python 绑定，无缝切换从完全信息到不完全信息、从回合制到同时行动的各种复杂博弈场景，极大拓展了研究边界。\n\nopen_spiel 通过提供统一、标准且丰富的游戏环境与算法库，将研究人员从重复的基建工作中解放出来，使其能专注于核心策略的创新与验证。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgoogle-deepmind_open_spiel_a45c99da.png","google-deepmind","Google DeepMind","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fgoogle-deepmind_06b1dd17.png","",null,"https:\u002F\u002Fwww.deepmind.com\u002F","https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind",[83,87,91,95,99,103,107,110,113],{"name":84,"color":85,"percentage":86},"C++","#f34b7d",56.3,{"name":88,"color":89,"percentage":90},"Python","#3572A5",39.5,{"name":92,"color":93,"percentage":94},"Jupyter Notebook","#DA5B0B",2.4,{"name":96,"color":97,"percentage":98},"CMake","#DA3434",0.8,{"name":100,"color":101,"percentage":102},"Shell","#89e051",0.5,{"name":104,"color":105,"percentage":106},"Rust","#dea584",0.2,{"name":108,"color":109,"percentage":106},"Go","#00ADD8",{"name":111,"color":112,"percentage":106},"Julia","#a270ba",{"name":114,"color":115,"percentage":116},"C","#555555",0.1,5108,1113,"2026-04-03T00:28:40","Apache-2.0",4,"未说明",{"notes":124,"python":125,"dependencies":126},"核心 API 和游戏使用 C++ 实现并暴露给 Python 调用，算法和工具同时使用 C++ 和 Python 编写。支持在 Google Colab 中运行。具体安装步骤需参考文档中的安装指南（docs\u002Finstall.md）。","3.11",[127,128],"C++ (核心 API 和游戏实现)","Python (算法和工具实现)",[15],[131,132,133,134,135],"games","reinforcement-learning","multiagent","cpp","python","2026-03-27T02:49:30.150509","2026-04-06T05:17:40.403933",[139,144,149,154,159,164,169],{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},10722,"如何在没有 sudo 权限的集群上解决 CMake 找不到 CMAKE_ROOT 的错误？","该错误通常是因为 CMake 的模块目录未正确添加到环境变量中。解决方法是将 CMake 的共享目录路径（例如 `path\u002Fto\u002Fenv\u002Fminiconda3\u002Fshare\u002Fcmake-3.5`）添加到 `.bashrc` 文件中，然后重新加载配置。具体步骤是：1. 找到 CMake 的安装路径；2. 执行 `echo 'export CMAKE_ROOT=\u002Fyour\u002Fpath\u002Fto\u002Fshare\u002Fcmake-3.x' >> ~\u002F.bashrc`；3. 运行 `source ~\u002F.bashrc` 使更改生效。","https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Fopen_spiel\u002Fissues\u002F436",{"id":145,"question_zh":146,"answer_zh":147,"source_url":148},10723,"OpenSpiel 是否支持在包含随机节点（如掷骰子）的游戏（如双陆棋）中使用 AlphaZero 或 MCTS 算法？","是的，支持。对于包含随机节点（Chance Nodes，如掷骰子）的游戏，不需要将每个具体的骰子结果存储为树中的独立节点，但必须保留随机节点本身以跟踪平均价值和访问次数。这是因为上方的决策节点需要估计通向该随机节点的状态 - 动作值 (s, a)。OpenSpiel 中的 MCTS 实现已经正确处理了这一点：在随机节点处的选择策略必须符合该节点的概率分布。","https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Fopen_spiel\u002Fissues\u002F774",{"id":150,"question_zh":151,"answer_zh":152,"source_url":153},10724,"如何解决在 TensorFlow 源码目录中使用 Bazel 构建 OpenSpiel 时出现的 absl 链接错误？","当将 OpenSpiel 放入 TensorFlow 文件夹并使用 TensorFlow 的 WORKSPACE 进行构建时，可能会遇到 absl 库的链接错误（undefined reference）。一个已知的解决方法是尝试删除 TensorFlow 源码文件夹中的 `.bazelrc` 文件，这有时能让 Bazel 构建通过。此外，也可以参考相关的 PR（如 #307）获取针对 TensorflowCC 的构建说明，或者检查是否有更新的 PR 合并了修复方案。","https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Fopen_spiel\u002Fissues\u002F172",{"id":155,"question_zh":156,"answer_zh":157,"source_url":158},10725,"如何修复 NFSP 算法训练时的崩溃问题？","如果遇到 NFSP（Neural Fictitious Self-Play）算法在训练过程中崩溃的问题，可以尝试调整学习率。有用户反馈，将学习率缩小 100 倍（即乘以 0.01）后，崩溃问题得到了解决。","https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Fopen_spiel\u002Fissues\u002F522",{"id":160,"question_zh":161,"answer_zh":162,"source_url":163},10726,"在使用 Docker 构建 OpenSpiel 时，如果因个别测试失败导致容器构建中断，该如何处理？","Docker 构建过程中如果因为极少数测试（例如 151 个测试中只有 1 个失败）失败而导致 `ctest` 命令报错并中断构建，且该失败不影响核心功能使用，可以选择在 Dockerfile 中暂时移除或注释掉运行测试的命令部分（即跳过 `ctest` 步骤），从而成功创建 Docker 容器。这通常是因为测试环境差异导致的偶发失败，而非代码逻辑错误。","https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Fopen_spiel\u002Fissues\u002F156",{"id":165,"question_zh":166,"answer_zh":167,"source_url":168},10727,"OpenSpiel 中是否计划或已经实现了 ARMAC 算法？","是的，ARMAC 算法已经被实现并合并到 OpenSpiel 项目中。用户可以查看 Pull Request #706 获取具体的实现代码。该实现最初由社区贡献者提交，经过维护者审核后并入主分支。","https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Fopen_spiel\u002Fissues\u002F441",{"id":170,"question_zh":171,"answer_zh":172,"source_url":158},10728,"如何在 OpenSpiel 中让人类玩家与训练好的 AI 代理进行对战？","虽然具体的命令行交互脚本可能因版本而异，但通常可以通过加载训练好的模型策略，并在游戏循环中将人类输入映射到合法动作来实现人机对战。如果在特定脚本（如 `policy_gradient.py` 或评估脚本）中未直接提供此功能，可以参考项目中的 `human_vs_agent` 相关示例或修改现有的 play 脚本，将其中一个玩家的动作来源替换为标准输入（stdin）读取。",[174,179,183,187,191,196,200,204,209,213,217,221,226,231,236,241,246,251,256,261],{"id":175,"version":176,"summary_zh":177,"released_at":178},71336,"v1.6.12","This is a staging release in preparation for OpenSpiel 2.0 and in conjunction with the [Kaggle Game Area](https:\u002F\u002Fwww.kaggle.com\u002Fgame-arena).\r\n\r\nA full changelog (from 1.6 -> 2.0) will be made available in the OpenSpiel 2.0 release.\r\n\r\n# Acknowledgments\r\n\r\nThanks to Google DeepMind for continued support of development and maintenance of OpenSpiel.\r\n\r\nThanks to all of our contributors:\r\n\r\n- Core Team: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fopen_spiel\u002Fblob\u002Fmaster\u002Fdocs\u002Fauthors.md\r\n- All Contributors: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fopen_spiel\u002Fgraphs\u002Fcontributors\r\n\r\nSpecial thanks to the Kaggle Game Arena team and to other internal projects for help in developing ongoing design improvements to the core API.\r\n","2026-03-16T15:05:14",{"id":180,"version":181,"summary_zh":177,"released_at":182},71337,"v1.6.11","2026-01-05T13:10:17",{"id":184,"version":185,"summary_zh":177,"released_at":186},71338,"v1.6.10","2025-12-15T16:59:19",{"id":188,"version":189,"summary_zh":177,"released_at":190},71339,"v1.6.9","2025-10-31T20:10:32",{"id":192,"version":193,"summary_zh":194,"released_at":195},71340,"v1.6.8","This is a staging release in preparation for OpenSpiel 2.0 and in conjunction with the [Kaggle Game Area](https:\u002F\u002Fwww.kaggle.com\u002Fgame-arena).\r\n\r\nA full changelog (from 1.6 -> 2.0) will be made available in the OpenSpiel 2.0 release.\r\n\r\n# Acknowledgments\r\n\r\nThanks to Google DeepMind for continued support of development and maintenance of OpenSpiel.\r\n\r\nThanks to all of our contributors:\r\n\r\n- Core Team: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fopen_spiel\u002Fblob\u002Fmaster\u002Fdocs\u002Fauthors.md\r\n- All Contributors: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fopen_spiel\u002Fgraphs\u002Fcontributors\r\n\r\nSpecial thanks to the Kaggle Game Arena team and to other internal projects for help in developing ongoing design improvements to the core API.","2025-10-20T16:26:18",{"id":197,"version":198,"summary_zh":177,"released_at":199},71341,"v1.6.7","2025-10-17T16:28:11",{"id":201,"version":202,"summary_zh":194,"released_at":203},71342,"v1.6.5","2025-10-16T09:44:12",{"id":205,"version":206,"summary_zh":207,"released_at":208},71343,"v1.6.4","This is a staging release in preparation for OpenSpiel 2.0 and in conjunction with the [Kaggle Game Area](https:\u002F\u002Fwww.kaggle.com\u002Fgame-arena).\r\n\r\nNotable change from 1.6.3 -> 1.6.4: drop support for Python 3.9.\r\n\r\nA full changelog (from 1.6 -> 2.0) will be made available in the OpenSpiel 2.0 release.\r\n\r\n# Acknowledgments\r\n\r\nThanks to Google DeepMind for continued support of development and maintenance of OpenSpiel.\r\n\r\nThanks to all of our contributors:\r\n\r\n- Core Team: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fopen_spiel\u002Fblob\u002Fmaster\u002Fdocs\u002Fauthors.md\r\n- All Contributors: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fopen_spiel\u002Fgraphs\u002Fcontributors\r\n\r\nSpecial thanks to the Kaggle Game Arena team and to other internal projects for help in developing ongoing design improvements to the core API.","2025-10-10T19:26:18",{"id":210,"version":211,"summary_zh":194,"released_at":212},71344,"v1.6.3","2025-10-03T19:46:55",{"id":214,"version":215,"summary_zh":177,"released_at":216},71345,"v1.6.2","2025-10-02T11:55:06",{"id":218,"version":219,"summary_zh":194,"released_at":220},71346,"v1.6.1","2025-08-15T19:04:35",{"id":222,"version":223,"summary_zh":224,"released_at":225},71347,"v1.6","This release adds new games, bug fixes, and process + support changes.\r\n\r\nDetails coming soon!\r\n\r\n## Support and Process changes\r\n\r\n- Mark TF algoithms as unmaintained\r\n- Mark Go API as unmaintained\r\n- Mark Rust API as unmaintained\r\n- Remove R-NaD\r\n- Upgrade version of pybind11 and use master branch (post-merge of smart-holder branch into master)\r\n- Add support for Python 3.13\r\n\r\n## Games\r\n\r\n- German Whist\r\n- Einstein Wurfelt Nicht\r\n- (m, n, k)-Game\r\n- Hive\r\n- Cribbage\r\n- Abrupt PTTT\r\n\r\n## Algorithms\r\n\r\n- EFR (Morrill et al. 2021, Efficient Deviation Types and Learning for Hindsight Ratonality in Extensive-Games)\r\n- PopRL and IMPALA for repeated RPS (Lanctot et al. 2023, Population-based Evaluation in Repeated Rock-Paper-Scissors as a Benchmark for Multiagent Reinforcement Learning)\r\n- SCO (Lanctot et al. '25, Soft Condorcet Optimization for Ranking of General Agents)\r\n- Asynchronous MCTS (Schultz et al. Mastering Board Games by External and Internal Planning with Language Models)\r\n\r\n## Improvements and other additions\r\n\r\n- Update Deep CFR to implement Policy\r\n- UCI bot: run matches more quickly, canonical path, concurrency fixes\r\n- Add StepVerbose to the Bot class\r\n- Chess: expose IsRepetitionDraw\r\n- Spades updates\r\n- Expose NewInitialState(const std::string& str) to python\r\n- Expose TurnBasedSimultaneousState and internal simultaneous game state to Python\r\n- Breakthrough serialization: add player's turn info\r\n- Add GetRandomCategoricalPolicy\r\n- Rand-psAR action translation in Poker\r\n- Blackjack: add ResampleFromInfoState\r\n- Add is_concrete field to GameType to separate concrete games from game wrappers\u002Ftransforms\r\n- Core API: allow rewards to be returned at chance nodes\r\n- StatCounter and sliding window averager for helpful compiling of results\r\n\r\n### Fixes\r\n\r\n- Big\u002Ftypo to IS-MCTS to work with perfect information games\r\n- DQN target for illegal actions\r\n- Chess960: castling logic\r\n- Chess960: move to action\r\n- Information set strings in PTTT\r\n- AlphaZero: chance nodes, tensors with low dimension, json output\r\n- Blackjack: information state tensor, observation tensor\r\n- Max game length of TTT variants\r\n- Exploitability usage example in sequence-form LP\r\n\r\n### Documentation\r\n\r\n- Replace flat list of games with a table\r\n- Improve Windows compatibility\r\n- Add a link to OpenSpiel visual graph\r\n- Add missing references to mean field games\r\n\r\n# Acknowledgments\r\n\r\nThanks to Google DeepMind for continued support of development and maintenance of OpenSpiel.\r\n\r\nThanks to all of our contributors:\r\n\r\n- Core Team: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fopen_spiel\u002Fblob\u002Fmaster\u002Fdocs\u002Fauthors.md\r\n- All Contributors: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fopen_spiel\u002Fgraphs\u002Fcontributors","2025-05-30T17:49:17",{"id":227,"version":228,"summary_zh":229,"released_at":230},71348,"v1.5","This release adds new games, bug fixes, and process + support changes.\r\n\r\n## Support and Process changes\r\n\r\n- Add Python 3.12 support\r\n- Add Ubuntu 24.04, macos-13, and macos-14 to CI tests\r\n- Remove Python 3.8 support\r\n- Remove use of nox and noxfile.py\r\n- Remove several things that we unused: HIGC, Ludii, eigen\r\n- Remove C++ AlphaZero based on TF (LibTorch C++ implementation still available)\r\n- Remove macos-12 and Ubuntu 20.04 from CI test\r\n- Remove unfinished implementation of Yacht\r\n\r\n## Games\r\n\r\n- Coalitional games from (Gemp et al., [Approximating the Core via Iterative Coalition Sampling](https:\u002F\u002Farxiv.org\u002Fabs\u002F2402.03928))\r\n- Middle-Eastern Dominoes (python)\r\n- Spades\r\n- Team Dominoes (python)\r\n- Twixt\r\n\r\n## Algorithms\r\n\r\n- CFR (JAX implementation)\r\n- Core Lagrangian from (Gemp et al., [Approximating the Core via Iterative Coalition Sampling](https:\u002F\u002Farxiv.org\u002Fabs\u002F2402.03928))\r\n- Core via Linear Programming (Yan & Procaccia, [If You Like Shapley, then You'll Love the Core](https:\u002F\u002Fojs.aaai.org\u002Findex.php\u002FAAAI\u002Farticle\u002Fview\u002F16721))\r\n- EFR from (Morrill et al. [Efficient Deviation Types and Learning for Hindsight Rationality in Extensive-Form Games](https:\u002F\u002Farxiv.org\u002Fabs\u002F2102.06973))\r\n- max^n (Luckhardt, C. Irani, K., An algorithmic solution of N-person game)\r\n- Mean-Field PSRO (by Muller et al. [Learning Equilibria in Mean-Field Games: Introducing Mean-Field PSRO](https:\u002F\u002Farxiv.org\u002Fabs\u002F2111.08350))\r\n- MF-PPO (Algumaei et al, [Regularization of the policy updates for stabilizing Mean Field Games](https:\u002F\u002Farxiv.org\u002Fabs\u002F2304.01547))\r\n- PIMC search (Long et al. 2010, Understanding the Success of Perfect Information Monte Carlo Sampling in Game Tree Search)\r\n- SGD in adidas_solvers, from (Gemp et al., [Approximating Nash Equilibria in Normal-Form Games via Stochastic Optimization](https:\u002F\u002Farxiv.org\u002Fabs\u002F2310.06689))\r\n- Voting-as-Evaluation (VasE) voting methods from (Lanctot et al., [Evaluating Agents using Social Choice Theory](https:\u002F\u002Farxiv.org\u002Fabs\u002F2312.03121))\r\n\r\n## Examples\r\n\r\n- Add example of applying VasE to Chatbot Arena\r\n\r\n## Improvements and other additions\r\n\r\n- Several additions for chat game python game\r\n- Add prisoner's dilemma to the docs\r\n- Add a warning when loading games with known issues\r\n- Add Colab example for how to use OpenSpiel with mean field games\r\n- Add parser for [PrefLib](https:\u002F\u002Fpreflib.simonrey.fr\u002F) data files\r\n- Add missing API methods in Julia API\r\n\r\n### Fixes\r\n\r\n- Fix cards display in Dou Dizhu\r\n- Fix dqn.cc build error\r\n- Fix mean logit calculation in NeuRD loss for R-NaD\r\n- Fix example.py to support games with simultaneous moves\r\n- Fix trade_comm's: expose observer's trade proposal if one was made\r\n- Fix numpy incompatibility change for PSRO's joint to marginal probability function\r\n- Fix bridge observation tensor\r\n- Fix chess state serialization\r\n- Several fixes to universal poker (serialization, betting abstraction, observation tensors)\r\n- Fix float tolerance in OOS test\r\n- Normalize GTP responses to lower case\r\n- Fix deprecated use of mask in LibTorch C++ DQN to PyTorch 2.0\r\n- Fix bug in loading of PyTorch DQN checkpoints\r\n- Convert Quoridor movement actions IDs to be relative to the state\r\n\r\nSeveral other miscellaneous fixes and improvements.\r\n\r\n# Acknowledgments\r\n\r\nThanks to Google DeepMind for continued support of development and maintenance of OpenSpiel.\r\n\r\nThanks to all of our contributors:\r\n\r\n- Core Team: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fopen_spiel\u002Fblob\u002Fmaster\u002Fdocs\u002Fauthors.md\r\n- All Contributors: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fopen_spiel\u002Fgraphs\u002Fcontributors\r\n","2024-06-01T10:54:04",{"id":232,"version":233,"summary_zh":234,"released_at":235},71349,"v1.4","This release adds new games, bug fixes, and process + support changes.\r\n\r\n## Support and Process changes\r\n\r\n- Added (partial) Python 3.12 support: building & testing of wheels only (also distributed on PyPI)\r\n- Added building and availability of Apple Silicon (`arm64`) binary wheels on PyPI\r\n- Removed support fpr Python 3.7 due to EOL June 2023\r\n- Upgraded versions of supported extra packages (JAX, PyTorch, TF, etc.)\r\n- Added `ml-collections` as a required dependency\r\n\r\n## Games\r\n\r\n- Added Dots & Boxes\r\n- Added Chat Game (python)\r\n- Added MFG crowd avoidance game\r\n- Added MFG periodic aversion game\r\n- Modify Predator-Prey MFG to take in initial values\r\n- (Not yet complete) Add partial implementation of Yacht\r\n\r\n## Algorithms\r\n\r\n- Removed PyTorch NFSP (see https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Fopen_spiel\u002Fissues\u002F1008)\r\n- Remove unnecessary policy reload in outcome sampling MCCFR (see #1115)\r\n- Rewrite Stackelberg equilbrium solver using cvxpy (see #1123)\r\n\r\n## Examples\r\n\r\n- Training TD n-tuple networks on 2048\r\n\r\n## Improvements and other additions\r\n\r\n- Added a `build_state_from_history_string` helper function for debugging\r\n- GAMUT generator: expand the set of games provided by the wrapper\r\n- Add exclude list in game simulation tests for games that are partially complete\r\n- Refactored all games into individual directories\r\n- Changed 2048 to exclude moves that don't change the board from legal actions\r\n- Introduced number of tricks and change order of information in bridge observations (see #1118)\r\n- Added missing functions for C++-wrapped TabularPolicy to pybind11\r\n- Added missing functions to (CorrDevBuilder and C(C)E*Dist) to pybind11\r\n- Added more examples to help debug game implementations\r\n\r\n### Fixes\r\n\r\n- Backgammon: added the dice to the end of the observation vector\r\n- Fixed uses of functions deprecated in NumPy 1.25\r\n- Fixed float comparisons in playthroughs to default to 6 decimal places\r\n- Fixed bug in entropy schedule in R-NaD (see #1076)\r\n- Fixed bug in rho value (see #968)\r\n- Fixed to actions of game definition of Liar's poker (see #1127)\r\n- Fixed castling bug in chess (see #1125)\r\n- Corrected include statements for efg_game (causing C++ DQN to not build)\r\n\r\nSeveral other miscellaneous fixes and improvements.\r\n\r\n# Acknowledgments\r\n\r\nThanks to Google DeepMind for continued support of development and maintenance of OpenSpiel.\r\n\r\nThanks to all of our contributors:\r\n\r\n- Core Team: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fopen_spiel\u002Fblob\u002Fmaster\u002Fdocs\u002Fauthors.md\r\n- All Contributors: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fopen_spiel\u002Fgraphs\u002Fcontributors\r\n","2023-11-16T10:20:07",{"id":237,"version":238,"summary_zh":239,"released_at":240},71350,"v1.3","This release adds several games and algorithms, improvements, bug fixes, and documentation updates.\r\n\r\n## Support and Process changes\r\n\r\n- Added Python 3.11 support\r\n- Added Roshambo bot population to wheels\r\n- Removed Python 3.6 support\r\n- Upgraded versions of supported extra packages (OR-Tools, abseil, Jax, TF, Pytorch, etc.)\r\n\r\n## Games\r\n\r\n- Bach or Stravisnky matrix game\r\n- Block Dominoes (python)\r\n- Crazy Eights\r\n- Dhu Dizhu\r\n- Liar's poker (python)\r\n- MAEDN (Mensch Ärgere Dich Nicht)\r\n- Nine Men's morris\r\n\r\n### Game Transforms\r\n\r\n- Add Noisy utility to leaves game transform\r\n- Add Zero-sum game transform\r\n\r\n### Other environments\r\n\r\n- Atari Learning Environment (ALE)\r\n\r\n## Algorithms\r\n\r\n- Boltzmann Policy Iteration (for mean-field games)\r\n- Correlated Q-learning\r\n- Information State MCTS, Cowling et al. '12 (Python)\r\n- LOLA and LOLA-DiCE (Foerster, Chen, Al-Shedivat, et al. '18) and Opponent Shaping (JAX)\r\n- MIP Nash solver (Sandholm, Gilpin, and Conitzer '05)\r\n- Proximal Policy Optimization (PPO); adapted from CleanRL. Supports single-agent use case, tested on ALE.\r\n- Regret-matching (Hart & Mas-Colell '00) for normal-form games and as a PSROv2 meta-solver\r\n- Regularized Nash Dynamics (R-NaD), Perolat & de Vylder et. al '22, Mastering the Game of Stratego with Model-Free Multiagent Reinforcement Learning\r\n\r\n## Bots\r\n\r\n- Simple heuristic Gin Rummy bot\r\n- Roshambo bot population (see python\u002Fexamples\u002Froshambo_bot_population.py)\r\n\r\n## Examples\r\n\r\n- Opponent shaping on iterated matrix games example\r\n- Roshambo population example\r\n- Using Nash bargaining solution for negotiation example\r\n\r\n## Improvements and other additions\r\n\r\n- Add `Bot::Clone()` method for cloning bots\r\n- Avoid relying on C++ exceptions for playthrough tests\r\n- Add support Agent-vs-Task case in Nash averaging\r\n- Add scoring variants to the game Oh Hell\r\n- Add eligibility traces in C++ Q-learning and SARSA\r\n- Allow creation of per-player random policies\r\n- Support simultaneous move games in policy aggregator and exploitability\r\n- Support UCIBot via pybind11\r\n- Add single_tensor observer for all games\r\n- Add used_indices for non-marginal solvers in PSROv2\r\n- Add Flat Dirichlet random policy sampling\r\n- Add several options to bargaining game: probabilistic ending, max turns, discounted utilities\r\n- Add lambda returns support to JAX policy gradient\r\n- Several improvements to Gambit EFG parser \u002F support\r\n- Add support for softmax policies in fictitious play\r\n- Add temperature parameter to fixed point MFG algorithms\r\n- Add information state tensor to battleship\r\n- Add option to tabular BR to return maximum entropy BR\r\n\r\n### Fixes\r\n\r\n- Fix UCIBot compilation in Windows\r\n- Misc fixes to Nash averaging\r\n- RNaD: fix MLP torso in final layer\r\n- Dark hex observation (max length)\r\n- Fix max game length in abstracted poker games \r\n- Fix legal moves in some ACPC(poker) game cases\r\n- Fix joint policy aggregator\r\n- Fix non-uniform chance outcome sampling in Deep CFR (TF2 & Pytorch)\r\n- Fix randomization bug in alpha_zero_torch\r\n\r\nSeveral other miscellaneous fixes and improvements.\r\n\r\n## Known issues\r\n\r\nThere are a few known issues that will be fixed in the coming months. \r\n\r\n- Collision with pybind11 and version in C++ LibTorch AlphaZero. See #966.\r\n- PyTorch NFSP convergence issue. See #1008. \r\n\r\n# Acknowledgments\r\n\r\nThanks to Google DeepMind for continued support of development and maintenance of OpenSpiel.\r\n\r\nThanks to all of our contributors:\r\n\r\n- Core Team: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fopen_spiel\u002Fblob\u002Fmaster\u002Fdocs\u002Fauthors.md\r\n- All Contributors: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fopen_spiel\u002Fgraphs\u002Fcontributors\r\n","2023-05-30T18:49:45",{"id":242,"version":243,"summary_zh":244,"released_at":245},71351,"v1.2","This release adds several games and algorithms, improvements, bug fixes, and documentation updates.\r\n\r\n## Support and Process changes\r\n\r\n- Upgrade support for newer versions of dependencies\r\n- Add dependency to pybind11_abseil\r\n\r\n## Games\r\n\r\n- 2048\r\n- Checkers\r\n- Dynamic routing game\r\n- Euchre\r\n- Mancala\r\n- Nim\r\n- Phantom Go\r\n\r\n## Algorithms\r\n\r\n- Asymmetric Q-learning\r\n- Magnetic Mirror Descent (MMD)\r\n- NeuRD (PyTorch)\r\n- Policy gradients (JAX)\r\n- Sample-based NeuRD loss (PyTorch)\r\n- Stackelberg solver\r\n- WoLF-PHC\r\n\r\n## Improvements and other additions\r\n\r\n- Blackjack: add observation tensor\r\n- C++ DQN: in-memory target net, saving + loading of model\r\n- Core API reference\r\n- Remove hard-coded inclusion of Hanabi and ACPC in setup.py\r\n\r\n### Fixes\r\n\r\n- Colored Trails: fix max utility\r\n- MCTS handling of chance nodes: properly handle them not just at the root \r\n- Nash averaging optimization fix\r\n- Othello: fix the max game length\r\n- Policy aggregator, surface copy -> deep copy\r\n- pybind11: change game references to shared pointers\r\n\r\nSeveral other miscellaneous fixes and improvements.\r\n\r\n# Acknowledgments\r\n\r\nThanks to DeepMind for continued support of development and maintenance of OpenSpiel.\r\n\r\nThanks to all of our contributors:\r\n\r\n- Core Team: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fopen_spiel\u002Fblob\u002Fmaster\u002Fdocs\u002Fauthors.md\r\n- All Contributors: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fopen_spiel\u002Fgraphs\u002Fcontributors\r\n","2022-08-21T23:05:25",{"id":247,"version":248,"summary_zh":249,"released_at":250},71352,"v1.1.1","This release adds several algorithms and games, and several process changes.\r\n\r\n## Support, APIs, and Process changes\r\n\r\n- Removed support for Python 3.6\r\n- Added support for Python 3.10\r\n- Upgrade support for newer versions of dependencies\r\n- Rust API: add support for loading bots\r\n- CI tests: added MacOS-11, MacOS-12, and Ubuntu 22.04. Removed CI tests for Ubuntu 18.04.\r\n\r\n## Games\r\n\r\n- Colored Trails\r\n- Dynamic Routing Game: added Sioux Falls network \r\n- Mancala (Kalah)\r\n- Multi-issue Bargaining\r\n- Repeated game transform: add info state strings & tensors, utility sum, finite recall\r\n- Sheriff: add info state tensor\r\n\r\n## Algorithms\r\n\r\n- Boltzmann DQN\r\n- Boltzmann Q-learning\r\n- Correlated Q-learning (Greenwald & Hall)\r\n- Deep average network for FP (mean-field games)\r\n- Nash averaging (Balduzzi et al.)\r\n- Nash Q-learning (Hu & Wellman)\r\n\r\n## Improvements and other additions\r\n\r\n- Example: support mean-field games\r\n- File wrapper: expose to Python and add WriteContents\r\n- Nash bargaining score example\r\n\r\n### Fixes\r\n\r\n- VR-MCCFR with nonzero baselines\r\n- PyTorch policy gradient clipping\r\n- Promote pawn to queen in RBC\r\n- PyTorch and LibTorch DQN: fix for illegal moves\r\n\r\nMany other fixes to docs and code quality.\r\n\r\n# Acknowledgments\r\n\r\nThanks to DeepMind for continued support of development and maintenance of OpenSpiel.\r\n\r\nThanks to all of our contributors:\r\n\r\n- Core Team: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fopen_spiel\u002Fblob\u002Fmaster\u002Fdocs\u002Fauthors.md\r\n- All Contributors: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fopen_spiel\u002Fgraphs\u002Fcontributors\r\n","2022-05-28T17:09:43",{"id":252,"version":253,"summary_zh":254,"released_at":255},71353,"v1.1.0","This release adds some major functionality: new games, new algorithm, several fixes and new features.\r\n\r\n## Support and APIs\r\n\r\n- Windows: native build via Microsoft Visual Studio (experimental)\r\n- Rust API\r\n\r\n## Games\r\n\r\n- Amazons\r\n- Morpion Solitaire\r\n- Gridworld pathfinding (single-agent and multiagent)\r\n- Linear-Quadratic games (mean-field game)\r\n- Pig: Piglet variant added\r\n- Quoridor: 3-player and 4-player support added\r\n- Utlimate Tic-Tac-Toe\r\n\r\n## Algorithms\r\n\r\n- AlphaZero support for games with chance nodes (Python and C++)\r\n- ADIDAS approximate Nash equilibrium solver by [Gemp et al. '21](https:\u002F\u002Farxiv.org\u002Fabs\u002F2106.01285)\r\n- Boltzmann DQN\r\n- Deep Online Mirror Descent (for mean-field games)\r\n- Expectiminimax (C++)\r\n\r\n## Mean-field Games\r\n\r\n- Deep Online Mirror Descent\r\n- Best response value function (instead of only exact)\r\n- Allow specifying learning rate in fictitious play\r\n- Routing game experiment data\r\n- Softmax policy\r\n\r\n## Bots\r\n\r\n- WBridge5 external bot\r\n- Roshambo bots: expose to Python\r\n\r\n## Fixes\r\n\r\n- Chess SAN notation\r\n- `get_all_states`: support added for games with loops\r\n- Hex and DarkHex bug fixes for even-sized boards\r\n- MCTS sampling from the prior when 0-1 visits specified (Python and C++)\r\n- Pig: 2D observation tensor, `ActionString`, `MaxChanceNodesInHistory`\r\n- Stones n' Gems serialization fix\r\n\r\n## Miscellaneous\r\n\r\n- Added `SpielFatalErrorWithStateInfo` debug helper\r\n- Refactored policies computed by RL into a shared `JointRLAgentPolicy` \r\n- Custom info state resampling function for IS-MCTS\r\n- Hidden Information Games Competition tournament code: make optional dependency\r\n- Upgrade versions of abseil and OR-Tools and versions in python extra deps\r\n- Python dependency on scipy\r\n- Poker chump policies\r\n\r\n# Acknowledgments\r\n\r\nThanks to DeepMind for continued support of development and maintenance of OpenSpiel.\r\n\r\nThanks to all of our contributors:\r\n\r\n- Core Team: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fopen_spiel\u002Fblob\u002Fmaster\u002Fdocs\u002Fauthors.md\r\n- All Contributors: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fopen_spiel\u002Fgraphs\u002Fcontributors\r\n\r\n","2022-02-28T10:02:16",{"id":257,"version":258,"summary_zh":259,"released_at":260},71354,"v1.0.2","This is a minor release: mainly for bug fixes, and also some new functionality and updates to core functionality.\r\n\r\n\r\n## New games and modifications\r\n\r\n- Dynamic routing game: change to explicit stochastic (Python MFG), or deterministic (Python)\r\n- New garnet game (randomized MDPs) for mean-field games (C++)\r\n\r\n## New algorithms and other functionality\r\n\r\n- Restricted Nash Response  (C++), Johanson et al. '08\r\n- Update mean-field game algorithms to use value functions\r\n- Enable Python best response to work for simultaneous-move games\r\n\r\n## Bug fixes\r\n\r\n- Allow observation tensors for turn-based simultaneous move games\r\n- Fixes to HIGC tournament code, add synchronous mode, explicit calls to bots\r\n- Fix game type in built-in observer \r\n- Fix information type for iterated prisoner's dilemma\r\n- Fix to wheels CI testing: always use python3\r\n\r\n## Misc\r\n\r\n- Add missing algorithms and games to algorithms page\r\n- Add patch to our version of absl to compile with newer compilers (Ubuntu 21.10)\r\n- Add python games to API test (now fully supported alongside all C++ games)\r\n- Enable noisy_policy to work for simultaneous move games\r\n- Added Common Loop Utils (CLU) to python extra deps\r\n\r\n# Acknowledgments\r\n\r\nThanks to DeepMind for continued support of development and maintenance of OpenSpiel.\r\n\r\nThanks to all of our contributors:\r\n\r\n- Core Team: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fopen_spiel\u002Fblob\u002Fmaster\u002Fdocs\u002Fauthors.md\r\n- All Contributors: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fopen_spiel\u002Fgraphs\u002Fcontributors\r\n\r\n","2021-10-27T20:35:33",{"id":262,"version":263,"summary_zh":264,"released_at":265},71355,"v1.0.1","This is a minor release: mainly for bug fixes, and also some new functionality and updates to core functionality.\r\n\r\n\r\n## New game\r\n\r\n- Dynamic routing (python game and its mean-field limit game)\r\n\r\n## New functionality\r\n\r\n- Allow TabularBestResponseMDP to be computed for a specific player\r\n- Add Hidden Information Game Competition (HIGC) tournament code \r\n- Add expected game score for simultaneous move games\r\n\r\n## Bug fixes\r\n\r\n- Fix to blackjack to use standard policy for dealer\r\n- Several fixes to Reconnaissance Blind Chess (see #695 #696 and #697)\r\n- Update dependency to newer version of Hanabi\r\n- Fix imperfect recall state string in Phantom Tic-Tac-Toe and Dark Hex\r\n- Fix noisy policy (see https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fopen_spiel\u002Fcommit\u002F2703b208068169fb45ebc5bee25dafc0bcb76cfc)\r\n- Fix UndoAction for a number of games, add test for it (also remove UndoAction from some games)\r\n\r\n# Acknowledgments\r\n\r\nThanks to DeepMind for continued support of development and maintenance of OpenSpiel.\r\n\r\nThanks to all of our contributors:\r\n\r\n- Core Team: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fopen_spiel\u002Fblob\u002Fmaster\u002Fdocs\u002Fauthors.md\r\n- All Contributors: https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fopen_spiel\u002Fgraphs\u002Fcontributors\r\n\r\n","2021-09-20T15:37:17"]