Class TwoValuedModelSatEncoding
java.lang.Object
org.tweetyproject.arg.adf.reasoner.sat.encodings.TwoValuedModelSatEncoding
- All Implemented Interfaces:
 RelativeSatEncoding,SatEncoding
This class implements a SAT encoding for two-valued models in an Abstract Dialectical Framework (ADF).
 The encoding handles both fixed and unfixed arguments by generating SAT clauses that represent their
 acceptance conditions. It also provides a way to encode an interpretation as two-valued, where each
 argument is either satisfied or unsatisfied.
 
The generated clauses can be passed to a SAT solver for further processing.
- Author:
 - Mathias Hofer
 
- 
Constructor Summary
ConstructorsConstructorDescriptionConstructs a new TwoValuedModelSatEncoding for the given Abstract Dialectical Framework (ADF) and propositional mapping. - 
Method Summary
Modifier and TypeMethodDescriptionvoidEncodes the two-valued model of the ADF into a set of SAT clauses and provides them to the given consumer.voidencode(Consumer<Clause> consumer, Interpretation interpretation) Encodes a specific two-valued interpretation of the ADF into a set of SAT clauses and provides them to the given consumer. 
- 
Constructor Details
- 
TwoValuedModelSatEncoding
Constructs a new TwoValuedModelSatEncoding for the given Abstract Dialectical Framework (ADF) and propositional mapping.- Parameters:
 adf- the Abstract Dialectical Framework (ADF) to encode, must not be nullmapping- the propositional mapping for the arguments and links, must not be null
 
 - 
 - 
Method Details
- 
encode
Encodes the two-valued model of the ADF into a set of SAT clauses and provides them to the given consumer. This method handles arguments that are not fixed in the interpretation, i.e., their truth value is unknown.- Specified by:
 encodein interfaceSatEncoding- Parameters:
 consumer- the consumer that will accept the generated SAT clauses
 - 
encode
Encodes a specific two-valued interpretation of the ADF into a set of SAT clauses and provides them to the given consumer. The interpretation must be two-valued, meaning that all arguments are either satisfied or unsatisfied, with no undecided arguments.- Specified by:
 encodein interfaceRelativeSatEncoding- Parameters:
 consumer- the consumer that will accept the generated SAT clausesinterpretation- the interpretation to be encoded, must be two-valued (no undecided arguments)- Throws:
 IllegalArgumentException- if the interpretation contains undecided arguments
 
 -