policy::strategy

enum libsemigroups::congruence::ToddCoxeter::policy::strategy

The values in this enum can be used as the argument for the member function ToddCoxeter::strategy to specify which strategy should be used when performing a coset enumeration.

Values:

enumerator hlt

This value indicates that the HLT (Hazelgrove-Leech-Trotter) strategy should be used.

This is the same as ACE’s R-style.

enumerator felsch

This value indicates that the Felsch strategy should be used.

This is the same as ACE’s C-style.

enumerator random

This value indicates that a random combination of the HLT and Felsch strategies should be used.

A random strategy (and associated options) are selected from one of the 10 options:

  1. HLT + full lookahead + no deduction processing + standardization

  2. HLT + full lookahead + deduction processing + standardization

  3. HLT + full lookahead + no deduction processing + no standardization

  4. HLT + full lookahead + deduction processing + no standardization

  5. HLT + partial lookahead + no deduction processing + standardization

  6. HLT + partial lookahead + deduction processing + standardization

  7. HLT + partial lookahead + no deduction processing + no standardization

  8. HLT + partial lookahead + deduction processing + no standardization

  9. Felsch + standardization

  10. Felsch + no standardization

and this strategy is then run for approximately the amount of time specified by the setting random_interval. This strategy is inspired by Sim’s TEN_CE from Sim94.