Class ConflictFreeInterpretationSatEncoding
java.lang.Object
org.tweetyproject.arg.adf.reasoner.sat.encodings.ConflictFreeInterpretationSatEncoding
- All Implemented Interfaces:
RelativeSatEncoding
,SatEncoding
public class ConflictFreeInterpretationSatEncoding
extends Object
implements SatEncoding, RelativeSatEncoding
This class implements a SAT encoding for conflict-free interpretations in an Abstract Dialectical Framework (ADF).
It ensures that no argument is both satisfied and unsatisfied simultaneously, and properly links arguments
with their acceptance conditions using Tseitin transformation.
The encoding also supports both absolute and relative encoding based on the current interpretation.
- Author:
- Mathias Hofer
-
Constructor Summary
ConstructorDescriptionConflictFreeInterpretationSatEncoding
(AbstractDialecticalFramework adf, PropositionalMapping mapping) Constructs a new ConflictFreeInterpretationSatEncoding for the given Abstract Dialectical Framework (ADF) and propositional mapping. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Encodes the conflict-free interpretation of the given ADF into a set of SAT clauses.void
encode
(Consumer<Clause> consumer, Interpretation interpretation) Encodes the conflict-free interpretation of the given ADF into a set of SAT clauses based on the provided interpretation.
-
Constructor Details
-
ConflictFreeInterpretationSatEncoding
public ConflictFreeInterpretationSatEncoding(AbstractDialecticalFramework adf, PropositionalMapping mapping) Constructs a new ConflictFreeInterpretationSatEncoding for the given Abstract Dialectical Framework (ADF) and propositional mapping.- Parameters:
adf
- the Abstract Dialectical Framework for which the SAT encoding is created, must not be nullmapping
- the propositional mapping for the arguments and links, must not be null
-
-
Method Details
-
encode
Encodes the conflict-free interpretation of the given ADF into a set of SAT clauses. These clauses ensure that no argument is both satisfied and unsatisfied at the same time and links arguments to their acceptance conditions.- Specified by:
encode
in interfaceSatEncoding
- Parameters:
consumer
- the consumer that accepts the generated SAT clauses
-
encode
Encodes the conflict-free interpretation of the given ADF into a set of SAT clauses based on the provided interpretation. This method adapts the encoding depending on whether an argument is satisfied, unsatisfied, or undecided.- Specified by:
encode
in interfaceRelativeSatEncoding
- Parameters:
consumer
- the consumer that accepts the generated SAT clausesinterpretation
- the current interpretation of the ADF
-