  Despite the many recent practical and theoretical breakthroughs in
computational game theory, equilibrium finding in extensive-form team games
remains a significant challenge. While NP-hard in the worst case, there are
provably efficient algorithms for certain families of team game. In particular,
if the game has common external information, also known as A-loss recall --
informally, actions played by non-team members (i.e., the opposing team or
nature) are either unknown to the entire team, or common knowledge within the
team -- then polynomial-time algorithms exist (Kaneko & Kline 1995). In this
paper, we devise a completely new algorithm for solving team games. It uses a
tree decomposition of the constraint system representing each team's strategy
to reduce the number and degree of constraints required for correctness
(tightness of the mathematical program). Our approach has the bags of the tree
decomposition correspond to team-public states. Our algorithm reduces the
problem of solving team games to a linear program with at most $O(NW^{w+1})$
nonzero entries in the constraint matrix, where $N$ is the size of the game
tree, $w$ is a parameter that depends on the amount of uncommon external
information, and $W$ is the treewidth of the tree decomposition. In
public-action games, our program size is bounded by the tighter $2^{O(nt)}N$
for teams of $n$ players with $t$ types each. Our algorithm is based on a new
way to write a custom, concise tree decomposition, and its fast run time does
not assume that the decomposition has small treewidth. Since our algorithm
describes the polytope of correlated strategies directly, we get equilibrium
finding in correlated strategies for free -- instead of, say, having to run a
double oracle algorithm. We show via experiments on a standard suite of games
that our algorithm achieves state-of-the-art performance on all benchmark game
classes except one.
