shapiq.utils.pair_subset_sizesΒΆ

shapiq.utils.pair_subset_sizes(order, n)[source]ΒΆ

Determines what subset sizes are paired together.

Given an interaction order and the number of players, determines the paired subsets. Paired subsets are subsets of the same size that are paired together moving from the smallest subset paired with the largest subset to the center.

Parameters:
  • order (int) – interaction order.

  • n (int) – number of players.

Return type:

tuple[list[tuple[int, int]], int | None]

Returns:

paired and unpaired subsets. If there is no unpaired subset unpaired_subset is None.

Examples

>>> pair_subset_sizes(order=1, n=5)
([(1, 4), (2, 3)], None)
>>> pair_subset_sizes(order=1, n=6)
([(1, 5), (2, 4)], 3)
>>> pair_subset_sizes(order=2, n=5)
([(2, 3)], None)