Connectivity in the presence of an opponent
Zihui Liang, Bakh Khoussainov, Toru Takisaka, Mingyu Xiao
TL;DR
This work studies connectivity in Müller games by reducing connectivity solving to incremental SCC maintenance (ISCCM) through a derivative sequence, enabling two efficient ISCCM-based algorithms with parameterized runtimes that outperform naive bounds. It also delivers a rigorous, self-contained correctness proof for Horn's polynomial-time algorithm for explicitly given Müller games, showing how the connectivity subroutine underpins the broader solver. The two algorithms achieve favorable time complexities in sparse and dense regimes and, when combined with Horn-like reductions, substantially improve practical solvability of Müller games in model checking. Overall, the paper advances both theoretical understanding and algorithmic practicality for solving connectivity and Müller games, with direct implications for verification and synthesis pipelines.
Abstract
The paper introduces two player connectivity games played on finite bipartite graphs. Algorithms that solve these connectivity games can be used as subroutines for solving Müller games. Müller games constitute a well established class of games in model checking and verification. In connectivity games, the objective of one of the players is to visit every node of the game graph infinitely often. The first contribution of this paper is our proof that solving connectivity games can be reduced to the incremental strongly connected component maintenance (ISCCM) problem, an important problem in graph algorithms and data structures. The second contribution is that we non-trivially adapt two known algorithms for the ISCCM problem to provide two efficient algorithms that solve the connectivity games problem. Finally, based on the techniques developed, we recast Horn's polynomial time algorithm that solves explicitly given Müller games and provide an alternative proof of its correctness. Our algorithms are more efficient than that of Horn's algorithm. Our solution for connectivity games is used as a subroutine in the algorithm.
