polymerist.genutils.sequences.discernment.enumeration ===================================================== .. py:module:: polymerist.genutils.sequences.discernment.enumeration .. autoapi-nested-parse:: Front-facing solver facade for the DISCERNMENT Problem Classes ------- .. autoapisummary:: polymerist.genutils.sequences.discernment.enumeration.DISCERNMENTSolver Module Contents --------------- .. py:class:: DISCERNMENTSolver(symbol_inventory: Union[polymerist.genutils.sequences.discernment.inventory.SymbolInventory[polymerist.genutils.sequences.discernment.inventory.T, polymerist.genutils.sequences.discernment.inventory.L], Sequence[Iterable[polymerist.genutils.sequences.discernment.inventory.T]], Mapping[polymerist.genutils.sequences.discernment.inventory.L, Sequence[Iterable[polymerist.genutils.sequences.discernment.inventory.T]]]], strategy: polymerist.genutils.sequences.discernment.strategies.DISCERNMENTStrategy = DISCERNMENTStrategyStack()) Encapsulation class for solving generalized ransom-note index enumeration problems for arbitrary words, bins, and solving algorithms .. py:attribute:: strategy .. py:property:: symbol_inventory :type: polymerist.genutils.sequences.discernment.inventory.SymbolInventory[polymerist.genutils.sequences.discernment.inventory.T, polymerist.genutils.sequences.discernment.inventory.L] Cast symbol inventory as copy to avoid mutation during partial traversals (i.e. peek at first item) .. py:method:: enumerate_choices(word: Sequence[polymerist.genutils.sequences.discernment.inventory.T], ignore_multiplicities: bool = False, unique_bins: bool = False) -> Generator[polymerist.genutils.sequences.discernment.inventory.L, None, None] Enumerate all possible choices using specified solution strategy .. py:method:: choice_solutions_exist(word: Sequence[polymerist.genutils.sequences.discernment.inventory.T], ignore_multiplicities: bool = False, unique_bins: bool = False) -> bool Precheck to see if a solution exists without attemting full enumeration