Sobre el proyecto

LightZero es un toolkit de algoritmos de código abierto de OpenDILab que combina la búsqueda de árbol de Monte Carlo (MCTS) con el aprendizaje por refuerzo profundo en un único marco basado en PyTorch. Fue presentado como artículo Spotlight en la pista de Datasets y Benchmarks de NeurIPS 2023 y se posiciona como un benchmark unificado para MCTS en escenarios generales de decisión secuencial. El proyecto enfatiza tres propiedades: ser ligero, eficiente y fácil de entender. Integra múltiples familias de algoritmos MCTS para que los problemas de toma de decisiones con diferentes atributos puedan manejarse dentro de un solo marco. Para la eficiencia computacional, utiliza computación heterogénea mixta para las partes más costosas en tiempo de MCTS, con implementaciones de árbol tanto en Python (ptree) como en C++ (ctree). La documentación incluye diagramas del marco algorítmico, gráficos de llamadas a funciones y diagramas de estructura de red para ayudar a los usuarios a localizar código crítico y comparar algoritmos bajo un paradigma compartido. Los algoritmos implementados incluyen AlphaZero, MuZero, Sampled MuZero, Stochastic MuZero, EfficientZero, Sampled EfficientZero, Gumbel MuZero, ReZero y UniZero. Los entornos soportados abarcan juegos de tablero (TicTacToe, Gomoku, Connect4), 2048, tareas de control clásico (CartPole, Pendulum, LunarLander, BipedalWalker), Atari, DeepMind Control, MuJoCo, MiniGrid, Bsuite, Memory, SumToThree y MetaDrive. Una tabla de compatibilidad en el README marca qué combinaciones de algoritmo-entorno están terminadas y probadas, cuáles están en progreso y cuáles no son compatibles. El marco está organizado en torno a tres módulos centrales: Model (estructura de red y propagación hacia adelante), Policy (procesos de aprendizaje, recolección y evaluación) y MCTS (estructura del árbol de búsqueda y su interacción con la política). La instalación se realiza clonando el repositorio y ejecutando pip install -e ., con soporte actualmente limitado a Linux y macOS; también se proporciona un Dockerfile basado en Ubuntu 20.04 con Python 3.8. Los ejemplos de inicio rápido entrenan MuZero en CartPole, Pong y TicTacToe, y UniZero en Pong. Se documenta un pipeline experimental de entrenamiento segmentado asíncrono basado en Ray para Atari, con el README reportando una comparación en la misma ventana contra una línea base síncrona. Se publican benchmarks para AlphaZero y MuZero en juegos de tablero, para variantes de MuZero en títulos de Atari como Pong, Qbert y MsPacman, para Sampled EfficientZero con representaciones de política factorizada y gaussiana en tareas de control continuo, para Gumbel MuZero bajo diferentes presupuestos de simulación, y para Stochastic MuZero en 2048 con niveles de azar variables. El repositorio también mantiene una sección Awesome-MCTS que recopila artículos fundamentales y recientes sobre AlphaGo, MuZero, análisis de MCTS y aplicaciones, además de tutoriales sobre personalización de entornos y algoritmos, archivos de configuración, registro y visualización del paisaje de pérdidas.