tsdive.switchback.design_size
¶
design_size(k: int) -> tuple[int, bool, float]
(balanced assignments, enumerated, smallest attainable two-sided p) of K blocks.
An assignment and its complement give the same |T|, so an enumerated design reaches 2 / C(K, K/2) at best; a sampled one reaches 1 / 1001.
Examples:
>>> from tsdive.switchback import design_size
>>> design_size(6)
(20, True, 0.1)
>>> n, enumerated, min_p = design_size(24)
>>> n, enumerated, round(min_p, 6)
(2704156, False, 0.000999)