Papers
Topics
Authors
Recent
Search
2000 character limit reached

Inverse Top Trading Cycles Enumeration Algorithm (ITEA)

Updated 29 June 2026
  • Inverse Top Trading Cycles Enumeration Algorithm (ITEA) is an algorithmic framework that systematically enumerates all Pareto-optimal allocations in one-sided matching problems by inverting the Top Trading Cycles mapping.
  • ITEA reduces computational redundancy by partitioning the space of initial allocations into equivalence classes and applying dressup and devour routines to recover complete PO preimages.
  • Empirical results demonstrate that ITEA achieves dramatic speed-ups over brute-force methods, enabling comprehensive analysis and secondary optimization in practical matching scenarios.

The Inverse Top Trading Cycles Enumeration Algorithm (ITEA) is an algorithmic framework for efficiently enumerating the complete set of Pareto-optimal (PO) allocations in one-sided matching problems with ordinal preferences. These problems, typified by the house-allocation model, have a set of agents and a set of indivisible objects (such as rooms or houses), where each agent possesses a strict preference ordering over the objects. While the classical Top Trading Cycles (TTC) mechanism yields a PO allocation from any initial endowment, it does not capture the full structure of the Pareto frontier, as many initial endowments can converge to the same PO allocation, and multiple distinct PO allocations may coexist. ITEA addresses the computational and conceptual limitations of brute-force approaches by partitioning the space of initial allocations into equivalence classes defined by the TTC mapping, systematically inverting this mapping to discover all PO allocations with improved efficiency and provable guarantees (Dodda et al., 23 Apr 2026).

1. One-Sided Matching and Pareto-Optimality

One-sided matching (house-allocation) problems involve a tuple H=(N,R,O)\mathcal H = (\mathcal N, \mathcal R, \mathcal O):

  • N={1,…,n}\mathcal N = \{1, \dots, n\}: set of agents.
  • R={r1,…,rn}\mathcal R = \{r_1, \dots, r_n\}: set of indivisible objects.
  • O=(≻i)i∈N\mathcal O = (\succ_i)_{i \in \mathcal N}: agents' strict, ordinal preference profiles over R\mathcal R.

An allocation (matching) is a bijection σ:N↔R\sigma: \mathcal N \leftrightarrow \mathcal R, with A\mathcal A denoting the set of all such bijections (∣A∣=n!|\mathcal A| = n!). A matching σ\sigma is Pareto-optimal if there is no other allocation σ′\sigma' such that all agents weakly prefer their allocation in N={1,…,n}\mathcal N = \{1, \dots, n\}0 and at least one strictly prefers it: N={1,…,n}\mathcal N = \{1, \dots, n\}1 The set of PO allocations is denoted N={1,…,n}\mathcal N = \{1, \dots, n\}2.

2. The Top Trading Cycles Mechanism and Equivalence Classes

For any initial allocation N={1,…,n}\mathcal N = \{1, \dots, n\}3, the TTC algorithm produces a unique PO outcome N={1,…,n}\mathcal N = \{1, \dots, n\}4. However, many initial allocations can be mapped to the same PO allocation; the preimage N={1,…,n}\mathcal N = \{1, \dots, n\}5 is the equivalence class of endowments converging to N={1,…,n}\mathcal N = \{1, \dots, n\}6. This many-to-one mapping implies a non-trivial structure to the Pareto frontier that single TTC runs do not reveal.

3. Algorithmic Structure of ITEA

The brute-force approach enumerates all N={1,…,n}\mathcal N = \{1, \dots, n\}7 initial allocations, applying TTC to each and collecting all unique outputs (N={1,…,n}\mathcal N = \{1, \dots, n\}8 operations, where N={1,…,n}\mathcal N = \{1, \dots, n\}9 is the cost per TTC run). ITEA dramatically reduces redundant computations by:

  • Maintaining a scan set initialized as R={r1,…,rn}\mathcal R = \{r_1, \dots, r_n\}0.
  • Iteratively selecting representatives from unexplored allocations, running TTC to obtain a PO allocation R={r1,…,rn}\mathcal R = \{r_1, \dots, r_n\}1.
  • For each new PO allocation, inverting TTC to find the entire equivalence class R={r1,…,rn}\mathcal R = \{r_1, \dots, r_n\}2 via the dressup and devour routines.
  • Removing all of R={r1,…,rn}\mathcal R = \{r_1, \dots, r_n\}3 from the scan set, ensuring each initial allocation is processed exactly once.

The inversion process leverages a labeling scheme for objects (rooms): each is tagged as unmarked (R={r1,…,rn}\mathcal R = \{r_1, \dots, r_n\}4), circle (R={r1,…,rn}\mathcal R = \{r_1, \dots, r_n\}5), or square (R={r1,…,rn}\mathcal R = \{r_1, \dots, r_n\}6), depending on their role in the reconstruction of initial endowments. Dressup marks each agent’s top choice among non-fixed rooms as circles; devour recursively enumerates all orderings and promotions of circles to squares, systematically reconstructing every initial allocation in the equivalence class.

4. Formal Guarantees: Soundness and Completeness

ITEA is provably sound and complete:

  • Soundness: Every allocation R={r1,…,rn}\mathcal R = \{r_1, \dots, r_n\}7 output in the inverse step for outcome R={r1,…,rn}\mathcal R = \{r_1, \dots, r_n\}8 satisfies R={r1,…,rn}\mathcal R = \{r_1, \dots, r_n\}9. Backward induction through TTC rounds shows that the labeling and recursive permutations in devour correctly reproduce the preimages of O=(≻i)i∈N\mathcal O = (\succ_i)_{i \in \mathcal N}0.
  • Completeness: Every initial endowment O=(≻i)i∈N\mathcal O = (\succ_i)_{i \in \mathcal N}1 with O=(≻i)i∈N\mathcal O = (\succ_i)_{i \in \mathcal N}2 is generated. By reversing the cycles of forward TTC, ITEA reconstructs all such allocations recursively via dressup and devour. These results guarantee the exhaustive and non-redundant enumeration of the entire set of PO allocations.

5. Computational Complexity and Empirical Performance

ITEA's performance depends on the interplay between O=(≻i)i∈N\mathcal O = (\succ_i)_{i \in \mathcal N}3, the full set of allocations, and O=(≻i)i∈N\mathcal O = (\succ_i)_{i \in \mathcal N}4, the number of PO outcomes. Its total time complexity is: O=(≻i)i∈N\mathcal O = (\succ_i)_{i \in \mathcal N}5

  • Forward TTC calls: one per distinct O=(≻i)i∈N\mathcal O = (\succ_i)_{i \in \mathcal N}6, each with cost O=(≻i)i∈N\mathcal O = (\succ_i)_{i \in \mathcal N}7, yielding O=(≻i)i∈N\mathcal O = (\succ_i)_{i \in \mathcal N}8.
  • Inverse enumeration (devour/dressup): processes each of the O=(≻i)i∈N\mathcal O = (\succ_i)_{i \in \mathcal N}9 labeled states in R\mathcal R0 time, for R\mathcal R1 overall. In contrast, brute-force enumeration's complexity is R\mathcal R2. The computational advantage of ITEA increases with smaller R\mathcal R3 compared to R\mathcal R4—typical for random preference profiles, where for R\mathcal R5, experimental results show R\mathcal R6, enabling almost 750-fold reduction in TTC calls. In the worst case, where R\mathcal R7, the savings vanish, and cost matches brute-force.

6. Illustrative Example and Mechanism Interpretation

Consider R\mathcal R8 agents and rooms, with preference orders:

  • R\mathcal R9
  • σ:N↔R\sigma: \mathcal N \leftrightarrow \mathcal R0
  • σ:N↔R\sigma: \mathcal N \leftrightarrow \mathcal R1

All possible σ:N↔R\sigma: \mathcal N \leftrightarrow \mathcal R2 initial allocations are partitioned under TTC into two PO outcomes σ:N↔R\sigma: \mathcal N \leftrightarrow \mathcal R3 and σ:N↔R\sigma: \mathcal N \leftrightarrow \mathcal R4. ITEA runs TTC on a representative σ:N↔R\sigma: \mathcal N \leftrightarrow \mathcal R5 for σ:N↔R\sigma: \mathcal N \leftrightarrow \mathcal R6, then uses dressup and devour to construct all σ:N↔R\sigma: \mathcal N \leftrightarrow \mathcal R7 with σ:N↔R\sigma: \mathcal N \leftrightarrow \mathcal R8, permuting and fixing the assigned rooms in a manner reflecting the cycles eliminated in the forward TTC. After enumerating and removing these, the process repeats for remaining unexplored allocations, ensuring no redundant TTC computations and a systematic recovery of the entire Pareto frontier.

7. Applications and Relevance

ITEA provides a rigorous and computationally tractable method for determining the full Pareto frontier in house-allocation and related one-sided matching settings. By characterizing all PO allocations, the algorithm enables subsequent secondary optimization for criteria such as fairness and welfare, which would be infeasible using only single TTC outcomes. Its performance benefits are especially pronounced in typical, randomly structured preference profiles, which arise in practical applications ranging from resource and facility assignments to distributed pooling systems (Dodda et al., 23 Apr 2026).

Component Role in ITEA Complexity per Use
TTC Computes unique PO allocation σ:N↔R\sigma: \mathcal N \leftrightarrow \mathcal R9 (list-based); A\mathcal A0 (pointer-based)
dressup Marks agents' top eligible rooms A\mathcal A1
devour Recursively reconstructs preimages A\mathcal A2 per call

ITEA thus systematically partitions all A\mathcal A3 initial endowments into disjoint TTC-equivalence classes, running TTC only once per class, and inverting the mechanism to recover every initial allocation in that class. It achieves provable soundness and completeness, factorial worst-case complexity, and typical speed-ups of orders of magnitude, enabling comprehensive Pareto frontier characterizations for secondary optimization and principled analysis in one-sided matching problems (Dodda et al., 23 Apr 2026).

Definition Search Book Streamline Icon: https://streamlinehq.com
References (1)

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to Inverse Top Trading Cycles Enumeration Algorithm (ITEA).