LiteEFG: An Efficient Python Library for Solving Extensive-form Games
Mingyang Liu, Gabriele Farina, Asuman Ozdaglar
TL;DR
LiteEFG addresses the computational bottlenecks of solving multiplayer extensive-form games by combining a lightweight Python API with a high-performance C++ backend. It lets users express CFR update rules as computation graphs that are replicated across information sets, while automatically handling aggregation over imperfect-information structures. The framework supports standard CFR variants and provides training, evaluation, debugging, and benchmarking tools, along with compatibility with OpenSpiel. Empirically, LiteEFG delivers substantial speedups (approximately 100x) over OpenSpiel for tabular games, enabling faster experimentation and broader accessibility for EFG research.
Abstract
LiteEFG is an efficient library with easy-to-use Python bindings, which can solve multiplayer extensive-form games (EFGs). LiteEFG enables the user to express computation graphs in Python to define updates on the game tree structure. The graph is then executed by the C++ backend, leading to significant speedups compared to running the algorithm in Python. Moreover, in LiteEFG, the user needs to only specify the computation graph of the update rule in a decision node of the game, and LiteEFG will automatically distribute the update rule to each decision node and handle the structure of the imperfect-information game.
