search_space

Candidate-domain filtering and homogeneous Puzzletron solution ranking.

Functions

filter_replacements_by_axes

Restrict candidate axes while preserving layer and teacher identities.

rank_homogeneous_solutions

Rank uniform-per-axis solutions without invoking one MIP per assignment.

filter_replacements_by_axes(replacements, *, axes_default='all', axis_options=None, teacher_replacements=None)

Restrict candidate axes while preserving layer and teacher identities.

Parameters:
  • replacements (Mapping[Any, Mapping[str, Any]])

  • axes_default (str)

  • axis_options (Mapping[str, Any] | None)

  • teacher_replacements (Mapping[Any, Mapping[str, Any]] | None)

Return type:

dict[Any, dict[str, Any]]

rank_homogeneous_solutions(replacements, *, objective, constraints, bigger_is_better, num_solutions, rank_by='objective', constraint_weights=None)

Rank uniform-per-axis solutions without invoking one MIP per assignment.

Parameters:
  • replacements (Mapping[Any, Mapping[str, Any]])

  • objective (str)

  • constraints (Mapping[str, Any])

  • bigger_is_better (bool)

  • num_solutions (int)

  • rank_by (str)

  • constraint_weights (Mapping[str, float] | None)

Return type:

list[dict[str, Any]]