Skip to content

Commit 7921ec0

Browse files
committed
Adjusted POM, readme, and changelog for 2.1.0
1 parent fbac3df commit 7921ec0

File tree

3 files changed

+144
-66
lines changed

3 files changed

+144
-66
lines changed

CHANGELOG.md

Lines changed: 91 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,39 @@
22

33
LogicNG uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
44

5+
## [2.1.0] - 2021-07-18
6+
7+
### Added
8+
9+
- Reworked handlers
10+
- New handlers for backbones, MUS, SMUS, prime compilation, and advanced simplifier
11+
- three different types for timeout handlers:
12+
- `SINGLE_TIMEOUT`: The timeout is started when the handler's `started()` method is called
13+
- `RESTARTING_TIMEOUT`: The timeout is restarted everytime the handler's `started()` method is called
14+
- `FIXED_END`: The timeout is interpreted as a fixed point in time (in milliseconds) at which the computation should be aborted
15+
- Improved version detection for compiled and packaged versions of LogicNG
16+
- Introduced Mockito for unit tests
17+
18+
### Fixed
19+
20+
- Fixed a bug in the DIMACS formula writer when there was only a single clause with multiple literals
21+
522
## [2.0.2] - 2020-09-19
23+
624
### Fixed
7-
- Fixed another bug for a special case in the DRUP proof generation
825

26+
- Fixed another bug for a special case in the DRUP proof generation
927

1028
## [2.0.1] - 2020-09-18
29+
1130
### Fixed
12-
- Fixed a bug for a special case in the DRUP proof generation
1331

32+
- Fixed a bug for a special case in the DRUP proof generation
1433

1534
## [2.0.0] - 2020-07-30
35+
1636
### Added
37+
1738
- DNNF data structure and compilation
1839
- DNNF-based model counting
1940
- BDD Reordering
@@ -23,178 +44,207 @@ LogicNG uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
2344
- A new method for generation constraint graphs of formulas
2445
- A SAT encoding of the SET COVER problem
2546
- New explicit data structure for cardinality constraints
26-
- New formula functions for
27-
- Computing the depth of a formula
28-
- Computing a minimum prime implicant of a formula
47+
- New formula functions for
48+
- Computing the depth of a formula
49+
- Computing a minimum prime implicant of a formula
2950
- New formula predicates for
30-
- Pseudo Boolean Constraint containment
31-
- Fast evaluation to a constant
51+
- Pseudo Boolean Constraint containment
52+
- Fast evaluation to a constant
3253
- New formula transformations for
33-
- Literal substitution
34-
- Expansion of pseudo-Boolean constraints
54+
- Literal substitution
55+
- Expansion of pseudo-Boolean constraints
3556
- New solver function for optimizing the current formula on the solver (wrt. the number of positive/negative literals)
3657
- New formula randomizer and corner case generator, especially useful for testing
37-
- Configuration object for formula factory which can be used to allow trivial contradictions and tautologies in formulas and to specify
38-
a default merge strategy for formulas from different factories
58+
- Configuration object for formula factory which can be used to allow trivial contradictions and tautologies in formulas and to specify a default merge strategy
59+
for formulas from different factories
3960
- New helper classes for collections
4061
- Stream operators on formulas
41-
62+
4263
### Changed
64+
4365
- Changed Java Version to JDK 8
4466
- switched to ANTLR 4.8
4567
- switched to JUnit 5
4668
- PBC and CC methods in the formula factory return `Formula` objects now (not `PBConstraint` objects) and can simplify the constraints
4769
- Moved BDD package to `knowledgecompilation`
4870
- Reorganized `explanations` package
4971
- Reorganized code location in the BDD package and simplified the `BDDFactory`
50-
- Reorganized code location in the SAT Solver package, introduced solver functions which allow better separation of code for functions
51-
of the solver
72+
- Reorganized code location in the SAT Solver package, introduced solver functions which allow better separation of code for functions of the solver
5273
- Propositions now hold a simple formula, no `ImmutableFormulaList` anymore
5374
- fixed a spelling problem: propositions now have a correct `backpack`
5475
- More classes are `protected` now and can be extended from outside
5576
- Moved parser grammars from `resources` to `antlr`
5677

5778
### Removed
79+
5880
- CleaneLing solver
5981
- `ImmutableFormulaList` class
6082

61-
6283
## [1.6.2] - 2020-01-18
84+
6385
### Added
86+
6487
- New BDD handlers
6588

6689
### Changed
67-
- Some improvements to handlers for computations
6890

91+
- Some improvements to handlers for computations
6992

7093
## [1.6.1] - 2019-09-16
94+
7195
### Added
96+
7297
- A new method for solving a formula with a given literal ordering.
7398

7499
### Changed
100+
75101
- Minor refactoring of the Formatter super class (no effects on callers).
76102

77103
### Fixed
78-
- Fixed the behaviour of model enumeration with additional variables.
79104

105+
- Fixed the behaviour of model enumeration with additional variables.
80106

81107
## [1.6.0] - 2019-09-04
108+
82109
### Added
83-
- A new method for generating CNFs directly on the solver instead of using the formula factory.
84-
This often leads to a faster generation and reduced Heap consumption but with the loss of
85-
caching
110+
111+
- 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
112+
consumption but with the loss of caching
86113
- The current formula on a MiniSat-based solver can be extracted
87-
114+
88115
### Changed
89-
- The standard MiniSat-based solvers can now directly efficiently compute a backone. No extra solver
90-
is required anymore
91-
- BDD factory can now be extended externally
92116

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

94120
## [1.5.2] - 2019-07-15
121+
95122
### Changed
123+
96124
- Clarified behaviour of the `Backbone` object
97125

98126
### Fixed
99-
- Fixed caching behaviour when using a `sat()` call without assumptions after a call with assumptions
100127

128+
- Fixed caching behaviour when using a `sat()` call without assumptions after a call with assumptions
101129

102130
## [1.5.1] - 2019-05-08
131+
103132
### Added
133+
104134
- Introduced a new `FormulaHelper` class for small utility methods on formulas
105135
- Added a new NNF predicate
106136

107137
### Fixed
138+
108139
- Fixed an unspecified behaviour in `SATPredicate`
109140
- Fixed a small performance issue in the new backbone solver
110141
- Fixed a bug in a special case of the CNF transformation of a pseudo-Boolean constraint
111142

112-
113143
## [1.5.0] - 2019-03-17
144+
114145
### Added
146+
115147
- Algorithm & data structures for efficiently computing backbones of formulas
116148
- Data structures for UBTrees in order to efficiently identify sub- and supersets
117149
- CNF and DNF subsumption as formula transformations
118150
- Backbone simplifier (compute and propagate the backbone of a formula)
119151
- A new sorted formula formatter which respects a given variable ordering when printing formulas
120152

121-
### Changed
153+
### Changed
154+
122155
- Minor code refactorings and improvements
123156

124157
### Deprecated
125-
- Deprecation of CleaneLing - this solver will be removed in future versions.
126158

159+
- Deprecation of CleaneLing - this solver will be removed in future versions.
127160

128161
## [1.4.1] - 2018-12-07
162+
129163
### Changed
164+
130165
- Some refactorings for unit tests on Windows regarding encodings
131166
- The Quine-McCluskey implementation does not yield CNF auxiliary variables anymore
132167

133168
### Fixed
134-
- Fixed a minor bug in the generation of incremental cardinality constraints
135169

170+
- Fixed a minor bug in the generation of incremental cardinality constraints
136171

137172
## [1.4.0] - 2018-06-03
173+
138174
### Added
175+
139176
- BDD package (based on Buddy) for creating, manipulating, and writing BDDs
140-
- Creation of BDDs from LogicNG formulas
141-
- CNF, DNF transformation of BDDs
142-
- Restriction, existential & universal quantifier elimination
143-
- Model counting & enumeration
144-
- Different static variable ordering heuristics (FORCE, DFS, BFS, MinMax)
145-
- Writing BDDs in the GraphViz .dot format
177+
- Creation of BDDs from LogicNG formulas
178+
- CNF, DNF transformation of BDDs
179+
- Restriction, existential & universal quantifier elimination
180+
- Model counting & enumeration
181+
- Different static variable ordering heuristics (FORCE, DFS, BFS, MinMax)
182+
- Writing BDDs in the GraphViz .dot format
146183
- Quine-McCluskey Implementation for minimizing canonical DNFs
147184
- New formula transformation for anonymizing formulas
148185

149186
### Changed
150-
- Internal parser and IO improvements. Variables can now start with a digit.
151187

188+
- Internal parser and IO improvements. Variables can now start with a digit.
152189

153190
## [1.3.1] - 2018-01-28
191+
154192
### Added
193+
155194
- New formula transformation which imports formulas in another formula factory
156195

157196
### Changed
197+
158198
- Huge performance boost in the model enumeration of MiniSat
159199

160200
### Fixed
161-
- Small bugfix for a trivial case in DRUP
162201

202+
- Small bugfix for a trivial case in DRUP
163203

164204
## [1.3.0] - 2017-10-25
205+
165206
### Added
166-
- MiniSat and Glucose have a new option for proof tracing. A DRUP implementation stores all the necessary information for generating a proof for unsatisfiable formulas after solving them. The new method can be found in the SAT solver class: `unsatCore()`
207+
208+
- MiniSat and Glucose have a new option for proof tracing. A DRUP implementation stores all the necessary information for generating a proof for unsatisfiable
209+
formulas after solving them. The new method can be found in the SAT solver class: `unsatCore()`
167210
- A new simplifier which applies the distributive law was added: `DistributiveSimplifier`
168211

169212
### Changed
213+
170214
- Unsat Cores are now parametrized with the proposition type
171215

172216
### Fixed
173-
- Some minor bug-fixes in handling corner cases of cardinality and pseudo-Boolean constraints
174217

218+
- Some minor bug-fixes in handling corner cases of cardinality and pseudo-Boolean constraints
175219

176220
## [1.2.0] - 2017-07-14
221+
177222
### Added
223+
178224
- Introduced an extended formula factory which is able to return to a previously saved state and delete old formulas (and get them garbage collected)
179225
- A simple data structure for generic graphs including algorithms for connected components and maximal cliques
180226
- Improved IO (Writers for formulas, Dimacs CNFs, and graphs)
181227

182228
### Changed
229+
183230
- SAT solvers can now track the currently known variables
184231
- Updated to ANTLR 4.7
185232

186233
### Fixed
187-
- Various smaller bugfixes
188234

235+
- Various smaller bugfixes
189236

190237
## [1.1.0] - 2016-08-29
238+
191239
### Added
240+
192241
- Implemented cardinality constraint encodings and pseudo-Boolean constraints encodings of PBLib
193242
- Incremental cardinality constraints, including the possibility to add cardinaliy constraints to the solver without introducing new formula factory variables
194243
- Different MUS algorithms
195244

196-
197245
## [1.0.0] - 2016-01-25
246+
198247
### Added
248+
199249
- Initial Release of LogicNG
200250

0 commit comments

Comments
 (0)