Release Notes

0.2.0

New Features

  • Give the possibility to the concept renderer to specify a maximum width for a concept.

  • Combine predicates from the same description when establishing rules.

    For example, using the multiple predicate (M), a rule

    if M(3) and M(5) then M(15)
    

    should not be generated, since M(15) can be always deduced from M(3) and M(5).

    Another type of useless information are the predicates which are always True (D(0) and M(1) for the case of divisor and multiple predicates).

    Each description class can implement the intersection() method which computes the minimal description of a collection of predicates for a given description. In the example above, the intersection of M(3) and M(5) should give M(15).

  • Add a cache system on all characteristics.

  • Use renderers for displaying Hasse Diagrams.

  • Use lazy instantiation for the Descriptors class.

  • Add two array-like characteristics:

    • galactic.characteristics.Item

    • galactic.characteristics.Slice

Deprecation Notes

  • Change API for readers. They receive now a TextIO object.

  • Add mandatory description argument in all sub-classes of BasicStrategy. Remove Optional in BasicStrategy.

  • Consider now an Explorer as a collection of strategies. An Explorer can be run on a population.

Bug Fixes

  • Ensure that identifiers used for lattice generation are unique.

  • Fix the way to compute predecessors and successors of a concept in the CompactLattice class.

  • Use html.escape for escaping HTML output.

  • Fix _pseudo generators for Canonical Direct Basis

Other Notes

  • Move OrderedSet to the galactic.algebras.set package.

  • Refactor examples folder.

  • Reorganize documentation.