pyphi.condensation#

Condensation of candidate systems into complexes.

Implements the recursive exclusion cascade (Marshall et al. 2023, Algorithm A1; Albantakis et al. 2023, Exclusion): walk candidates in descending φₛ tiers, accept each tier’s overlap-clique winners, and drop candidates that overlap an accepted complex. Ties within a clique escalate to Composition (big Φ) per the S1 tie-resolution supplement; a clique whose Φ also ties fails exclusion — its members are removed, but their units stay available to lower-φ candidates in later tiers.

Overlap is assessed in micro units: each candidate carries a footprint of micro indices, so candidate systems of micro units and of macro units compete in the same cascade.

Functions

exclusion_cascade(candidates)

Condense candidates into complexes by the recursive exclusion cascade.

exclusion_records(accepted, candidates)

Map each accepted complex (by sorted footprint) to the ExcludedCandidate records it excluded: every candidate that overlaps it and was not itself accepted.

gated_exclusion_cascade(pending, evaluate_batch)

Condense candidates known by certified φₛ ceilings, evaluating lazily.

iit3_exclusion_cascade(candidates)

Condense candidates under IIT 3.0: the recursive tier walk with no Composition escalation.

Classes

Candidate(footprint, phi, sia_provider, ...)

A candidate system as the exclusion cascade sees it.

CondensationOutcome(accepted, failed_cliques)

The cascade's result.

PendingCandidate(footprint, ceiling[, payload])

A candidate the gated cascade knows only by a certified φₛ ceiling.