Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
SAT4J
sat4j
Commits
ae418f13
Commit
ae418f13
authored
Jul 26, 2020
by
Daniel Le Berre
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Can now detect learned unit clause.
parent
e5676273
Pipeline
#9086
failed with stages
in 18 minutes and 55 seconds
Changes
10
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
28 additions
and
14 deletions
+28
-14
org.sat4j.core/src/main/java/org/sat4j/minisat/constraints/MixedDataStructureDanielHT.java
...sat4j/minisat/constraints/MixedDataStructureDanielHT.java
+1
-1
org.sat4j.core/src/main/java/org/sat4j/minisat/constraints/MixedDataStructureDanielWL.java
...sat4j/minisat/constraints/MixedDataStructureDanielWL.java
+1
-1
org.sat4j.core/src/main/java/org/sat4j/minisat/constraints/MixedDataStructureDanielWLConciseBinary.java
.../constraints/MixedDataStructureDanielWLConciseBinary.java
+3
-3
org.sat4j.core/src/main/java/org/sat4j/minisat/constraints/cnf/UnitClause.java
...in/java/org/sat4j/minisat/constraints/cnf/UnitClause.java
+9
-2
org.sat4j.pb/src/main/java/org/sat4j/pb/constraints/AbstractPBDataStructureFactory.java
.../sat4j/pb/constraints/AbstractPBDataStructureFactory.java
+1
-1
org.sat4j.pb/src/main/java/org/sat4j/pb/constraints/UnitBinaryHTClauseConstructor.java
...g/sat4j/pb/constraints/UnitBinaryHTClauseConstructor.java
+1
-1
org.sat4j.pb/src/main/java/org/sat4j/pb/constraints/UnitBinaryHTClausePBConstructor.java
...sat4j/pb/constraints/UnitBinaryHTClausePBConstructor.java
+1
-1
org.sat4j.pb/src/main/java/org/sat4j/pb/constraints/UnitBinaryWLClauseConstructor.java
...g/sat4j/pb/constraints/UnitBinaryWLClauseConstructor.java
+1
-1
org.sat4j.pb/src/main/java/org/sat4j/pb/constraints/UnitConciseBinaryWLClauseConstructor.java
.../pb/constraints/UnitConciseBinaryWLClauseConstructor.java
+5
-3
org.sat4j.pb/src/main/java/org/sat4j/pb/constraints/pb/UnitClausePB.java
...c/main/java/org/sat4j/pb/constraints/pb/UnitClausePB.java
+5
-0
No files found.
org.sat4j.core/src/main/java/org/sat4j/minisat/constraints/MixedDataStructureDanielHT.java
View file @
ae418f13
...
...
@@ -97,7 +97,7 @@ public class MixedDataStructureDanielHT extends AbstractDataStructureFactory {
public
Constr
createUnregisteredClause
(
IVecInt
literals
)
{
if
(
literals
.
size
()
==
1
)
{
return
new
UnitClause
(
literals
.
last
());
return
new
UnitClause
(
literals
.
last
()
,
true
);
}
if
(
literals
.
size
()
==
2
)
{
return
new
LearntBinaryClause
(
literals
,
getVocabulary
());
...
...
org.sat4j.core/src/main/java/org/sat4j/minisat/constraints/MixedDataStructureDanielWL.java
View file @
ae418f13
...
...
@@ -95,7 +95,7 @@ public class MixedDataStructureDanielWL extends AbstractDataStructureFactory {
public
Constr
createUnregisteredClause
(
IVecInt
literals
)
{
if
(
literals
.
size
()
==
1
)
{
return
new
UnitClause
(
literals
.
last
());
return
new
UnitClause
(
literals
.
last
()
,
true
);
}
if
(
literals
.
size
()
==
2
)
{
return
new
LearntBinaryClause
(
literals
,
getVocabulary
());
...
...
org.sat4j.core/src/main/java/org/sat4j/minisat/constraints/MixedDataStructureDanielWLConciseBinary.java
View file @
ae418f13
...
...
@@ -46,8 +46,8 @@ import org.sat4j.specs.IVecInt;
* @author leberre
* @since 2.1
*/
public
class
MixedDataStructureDanielWLConciseBinary
extends
AbstractDataStructureFactory
{
public
class
MixedDataStructureDanielWLConciseBinary
extends
AbstractDataStructureFactory
{
private
BinaryClauses
[]
binaryClauses
;
...
...
@@ -126,7 +126,7 @@ public class MixedDataStructureDanielWLConciseBinary extends
public
Constr
createUnregisteredClause
(
IVecInt
literals
)
{
if
(
literals
.
size
()
==
1
)
{
return
new
UnitClause
(
literals
.
last
());
return
new
UnitClause
(
literals
.
last
()
,
true
);
}
if
(
literals
.
size
()
==
2
)
{
return
new
LearntBinaryClause
(
literals
,
getVocabulary
());
...
...
org.sat4j.core/src/main/java/org/sat4j/minisat/constraints/cnf/UnitClause.java
View file @
ae418f13
...
...
@@ -49,8 +49,15 @@ public class UnitClause implements Constr {
protected
final
int
literal
;
protected
double
activity
;
private
boolean
learnt
;
public
UnitClause
(
int
value
)
{
this
(
value
,
false
);
}
public
UnitClause
(
int
value
,
boolean
learnt
)
{
this
.
literal
=
value
;
this
.
learnt
=
learnt
;
}
public
void
assertConstraint
(
UnitPropagationListener
s
)
{
...
...
@@ -100,7 +107,7 @@ public class UnitClause implements Constr {
}
public
void
setLearnt
()
{
throw
new
UnsupportedOperationException
()
;
learnt
=
true
;
}
public
boolean
simplify
()
{
...
...
@@ -119,7 +126,7 @@ public class UnitClause implements Constr {
}
public
boolean
learnt
()
{
return
false
;
return
learnt
;
}
public
int
size
()
{
...
...
org.sat4j.pb/src/main/java/org/sat4j/pb/constraints/AbstractPBDataStructureFactory.java
View file @
ae418f13
...
...
@@ -189,7 +189,7 @@ public abstract class AbstractPBDataStructureFactory
public
Constr
createUnregisteredClause
(
IVecInt
literals
)
{
if
(
literals
.
size
()
==
1
)
{
return
new
UnitClause
(
literals
.
last
());
return
new
UnitClause
(
literals
.
last
()
,
true
);
}
if
(
literals
.
size
()
==
2
)
{
return
new
LearntBinaryClause
(
literals
,
getVocabulary
());
...
...
org.sat4j.pb/src/main/java/org/sat4j/pb/constraints/UnitBinaryHTClauseConstructor.java
View file @
ae418f13
...
...
@@ -58,7 +58,7 @@ public class UnitBinaryHTClauseConstructor implements IClauseConstructor {
public
Constr
constructLearntClause
(
ILits
voc
,
IVecInt
literals
)
{
if
(
literals
.
size
()
==
1
)
{
return
new
UnitClause
(
literals
.
last
());
return
new
UnitClause
(
literals
.
last
()
,
true
);
}
if
(
literals
.
size
()
==
2
)
{
return
new
LearntBinaryClause
(
literals
,
voc
);
...
...
org.sat4j.pb/src/main/java/org/sat4j/pb/constraints/UnitBinaryHTClausePBConstructor.java
View file @
ae418f13
...
...
@@ -58,7 +58,7 @@ public class UnitBinaryHTClausePBConstructor implements IClauseConstructor {
public
Constr
constructLearntClause
(
ILits
voc
,
IVecInt
literals
)
{
if
(
literals
.
size
()
==
1
)
{
return
new
UnitClausePB
(
literals
.
last
(),
voc
);
return
new
UnitClausePB
(
literals
.
last
(),
true
,
voc
);
}
if
(
literals
.
size
()
==
2
)
{
return
new
LearntBinaryClausePB
(
literals
,
voc
);
...
...
org.sat4j.pb/src/main/java/org/sat4j/pb/constraints/UnitBinaryWLClauseConstructor.java
View file @
ae418f13
...
...
@@ -58,7 +58,7 @@ public class UnitBinaryWLClauseConstructor implements IClauseConstructor {
public
Constr
constructLearntClause
(
ILits
voc
,
IVecInt
literals
)
{
if
(
literals
.
size
()
==
1
)
{
return
new
UnitClause
(
literals
.
last
());
return
new
UnitClause
(
literals
.
last
()
,
true
);
}
if
(
literals
.
size
()
==
2
)
{
return
new
LearntBinaryClause
(
literals
,
voc
);
...
...
org.sat4j.pb/src/main/java/org/sat4j/pb/constraints/UnitConciseBinaryWLClauseConstructor.java
View file @
ae418f13
...
...
@@ -39,7 +39,8 @@ import org.sat4j.specs.Constr;
import
org.sat4j.specs.IVecInt
;
import
org.sat4j.specs.UnitPropagationListener
;
public
class
UnitConciseBinaryWLClauseConstructor
implements
IClauseConstructor
{
public
class
UnitConciseBinaryWLClauseConstructor
implements
IClauseConstructor
{
private
BinaryClauses
[]
binaryClauses
;
...
...
@@ -64,7 +65,8 @@ public class UnitConciseBinaryWLClauseConstructor implements IClauseConstructor
if
(
binaryClauses
==
null
)
{
binaryClauses
=
new
BinaryClauses
[
voc
.
nVars
()
*
2
+
2
];
}
else
if
(
binaryClauses
.
length
<
voc
.
nVars
()
*
2
+
1
)
{
BinaryClauses
[]
newBinaryClauses
=
new
BinaryClauses
[
voc
.
nVars
()
*
2
+
2
];
BinaryClauses
[]
newBinaryClauses
=
new
BinaryClauses
[
voc
.
nVars
()
*
2
+
2
];
System
.
arraycopy
(
binaryClauses
,
0
,
newBinaryClauses
,
0
,
binaryClauses
.
length
);
binaryClauses
=
newBinaryClauses
;
...
...
@@ -90,7 +92,7 @@ public class UnitConciseBinaryWLClauseConstructor implements IClauseConstructor
public
Constr
constructLearntClause
(
ILits
voc
,
IVecInt
literals
)
{
if
(
literals
.
size
()
==
1
)
{
return
new
UnitClause
(
literals
.
last
());
return
new
UnitClause
(
literals
.
last
()
,
true
);
}
if
(
literals
.
size
()
==
2
)
{
return
new
LearntBinaryClause
(
literals
,
voc
);
...
...
org.sat4j.pb/src/main/java/org/sat4j/pb/constraints/pb/UnitClausePB.java
View file @
ae418f13
...
...
@@ -45,6 +45,11 @@ public final class UnitClausePB extends UnitClause implements PBConstr {
this
.
voc
=
voc
;
}
public
UnitClausePB
(
int
value
,
boolean
learnt
,
ILits
voc
)
{
super
(
value
,
learnt
);
this
.
voc
=
voc
;
}
/**
*
*/
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment