Skip to content

Releases: logic-ng/LogicNG

v2.2.1

01 Sep 08:27
Compare
Choose a tag to compare

Added

  • Basic support for OSGi via maven-bundle-plugin

v2.2.0

01 Sep 08:28
Compare
Choose a tag to compare

Added

  • Improved FormulaFactory by avoiding creating unnecessary negations (cache pollution) during the check for complementary operands.
  • Improved the NNF computation by avoiding creating unnecessary negations (cache pollution) during the recursive calls.
  • Extracted the NNF computation in its own transformation class NNFTransformation.
  • Moved all formula caches from the Formula class to the FormulaFactory to save memory by avoiding creating empty cache maps.
  • New TermPredicate class to check whether a formula is a minterm (clause) or maxterm (DNF term).
  • Extended helper classes CollectionHelper and FormulaHelper by additional convenient methods.

Fixed

  • Fixed a bug in the addSoftFormula method of the MaxSATSolver class. A soft formula is now weighted properly if the soft formula is not a clause.
  • Fixed a bug in the addWithRelaxation method of the SATSolver class. The CNF of the formula is now computed properly regarding the configuration of the
    solver.

Deprecated

  • Deprecation of method addWithoutUnknown in class SATSolver - this method will be removed in future versions.
  • Deprecation of method addWithRelaxation for propositions in class SATSolver - this method will be removed in future versions.

v2.1.0

01 Sep 08:33
Compare
Choose a tag to compare

Added

  • Reworked handlers
    • New handlers for backbones, MUS, SMUS, prime compilation, and advanced simplifier
    • three different types for timeout handlers:
      • SINGLE_TIMEOUT: The timeout is started when the handler's started() method is called
      • RESTARTING_TIMEOUT: The timeout is restarted everytime the handler's started() method is called
      • FIXED_END: The timeout is interpreted as a fixed point in time (in milliseconds) at which the computation should be aborted
  • Improved version detection for compiled and packaged versions of LogicNG
  • Introduced Mockito for unit tests

Fixed

  • Fixed a bug in the DIMACS formula writer when there was only a single clause with multiple literals

v2.0.2

01 Sep 09:21
Compare
Choose a tag to compare

Fixed

  • Fixed another bug for a special case in the DRUP proof generation

v2.0.1

01 Sep 09:22
Compare
Choose a tag to compare

Fixed

  • Fixed a bug for a special case in the DRUP proof generation

v2.0.0

01 Sep 09:23
Compare
Choose a tag to compare

Added

  • DNNF data structure and compilation
  • DNNF-based model counting
  • BDD Reordering
  • Computation of shortest MUSes
  • Computation of prime implicant and implicates
  • New algorithms for simplifying Boolean formulas including the possibility to define an own rating function for the formula complexity
  • A new method for generation constraint graphs of formulas
  • A SAT encoding of the SET COVER problem
  • New explicit data structure for cardinality constraints
  • New formula functions for
    • Computing the depth of a formula
    • Computing a minimum prime implicant of a formula
  • New formula predicates for
    • Pseudo Boolean Constraint containment
    • Fast evaluation to a constant
  • New formula transformations for
    • Literal substitution
    • Expansion of pseudo-Boolean constraints
  • New solver function for optimizing the current formula on the solver (wrt. the number of positive/negative literals)
  • New formula randomizer and corner case generator, especially useful for testing
  • Configuration object for formula factory which can be used to allow trivial contradictions and tautologies in formulas and to specify a default merge strategy
    for formulas from
    different factories
  • New helper classes for collections
  • Stream operators on formulas

Changed

  • Changed Java Version to JDK 8
  • switched to ANTLR 4.8
  • switched to JUnit 5
  • PBC and CC methods in the formula factory return Formula objects now (not PBConstraint objects) and can simplify the constraints
  • Moved BDD package to knowledgecompilation
  • Reorganized explanations package
  • Reorganized code location in the BDD package and simplified the BDDFactory
  • Reorganized code location in the SAT Solver package, introduced solver functions which allow better separation of code for functions of the solver
  • Propositions now hold a simple formula, no ImmutableFormulaList anymore
  • fixed a spelling problem: propositions now have a correct backpack
  • More classes are protected now and can be extended from outside
  • Moved parser grammars from resources to antlr

Removed

  • CleaneLing solver
  • ImmutableFormulaList class

v1.6.2

01 Sep 09:28
Compare
Choose a tag to compare

Added

  • New BDD handlers

Changed

  • Some improvements to handlers for computations

v1.6.1

01 Sep 09:29
Compare
Choose a tag to compare

Added

  • A new method for solving a formula with a given literal ordering.

Changed

  • Minor refactoring of the Formatter super class (no effects on callers).

Fixed

  • Fixed the behaviour of model enumeration with additional variables.

v1.6.0

01 Sep 09:32
Compare
Choose a tag to compare

Added

  • A new method for generating CNFs directly on the solver instead of using the formula factory. This often leads to a faster generation and reduced Heap
    consumption but with the
    loss of caching
  • The current formula on a MiniSat-based solver can be extracted

Changed

  • The standard MiniSat-based solvers can now directly efficiently compute a backone. No extra solver is required anymore
  • BDD factory can now be extended externally

v1.5.2

01 Sep 09:33
Compare
Choose a tag to compare

Changed

  • Clarified behaviour of the Backbone object

Fixed

  • Fixed caching behaviour when using a sat() call without assumptions after a call with assumptions