Package net.sf.tweety.lp.asp.reasoner
Class ASPSolver
- java.lang.Object
-
- net.sf.tweety.lp.asp.reasoner.ASPSolver
-
- All Implemented Interfaces:
ModelProvider<ASPRule,Program,AnswerSet>
,QualitativeReasoner<Program,ASPLiteral>
,Reasoner<java.lang.Boolean,Program,ASPLiteral>
- Direct Known Subclasses:
ClingoSolver
,DLVSolver
public abstract class ASPSolver extends java.lang.Object implements QualitativeReasoner<Program,ASPLiteral>, ModelProvider<ASPRule,Program,AnswerSet>
This class provides a common interface for asp solvers. Most implementing classes will simply call an external grounder and solver and return the resulting string.- Author:
- Sebastian Homann (Original), Thomas Vengels (Modifications), Anna Gessler (Modifications)
-
-
Field Summary
Fields Modifier and Type Field Description protected int
integerMaximum
Represents the upper integer bound.protected int
maxNumOfModels
The maximum number of models to be generated.protected java.lang.String
outputData
Stores the (latest) result of the solver as a String.
-
Constructor Summary
Constructors Constructor Description ASPSolver()
-
Method Summary
Modifier and Type Method Description int
getIntegerMaximum()
Get the upper integer bound.int
getMaxNumOfModels()
Get the maximum number of models to be generated.AnswerSet
getModel(Program p, int maxInt)
Returns a characterizing model (answer set) of the given belief base using the given upper integer limit.abstract java.util.Collection<AnswerSet>
getModels(java.io.File f)
Returns a characterizing model (answer set) of the given belief base.abstract java.util.Collection<AnswerSet>
getModels(java.lang.String p)
Returns a characterizing model (answer set) of the given belief base.abstract java.util.Collection<AnswerSet>
getModels(Program p)
Returns a characterizing model of the given belief basejava.util.Collection<AnswerSet>
getModels(Program p, int maxInt)
Returns a characterizing model (answer set) of the given belief base using the given upper integer limit.java.lang.String
getOutput()
abstract java.lang.Boolean
query(Program beliefbase, ASPLiteral formula)
Queries the given belief base for the given formula.void
setIntegerMaximum(int integerMaximum)
Set the upper integer bound.void
setMaxNumOfModels(int maxNumOfModels)
Set the maximum number of models to be generated.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.sf.tweety.commons.ModelProvider
getModel
-
-
-
-
Field Detail
-
outputData
protected java.lang.String outputData
Stores the (latest) result of the solver as a String.
-
maxNumOfModels
protected int maxNumOfModels
The maximum number of models to be generated.
-
integerMaximum
protected int integerMaximum
Represents the upper integer bound. Solvers that use this attribute will only accept integers in [0,IntegerMaximum] in input programs. Likewise, only integers in [0,IntegerMaximum] will be considered by when evaluating arithmetic predicates.
-
-
Method Detail
-
getOutput
public java.lang.String getOutput()
-
getMaxNumOfModels
public int getMaxNumOfModels()
Get the maximum number of models to be generated.- Returns:
- maximum number
-
setMaxNumOfModels
public void setMaxNumOfModels(int maxNumOfModels)
Set the maximum number of models to be generated.- Parameters:
maxNumOfModels
- the maximum number of models to be generated.
-
getIntegerMaximum
public int getIntegerMaximum()
Get the upper integer bound. Solvers that use this attribute will only accept integers in [0,IntegerMaximum] in input programs. Likewise, only integers in [0,IntegerMaximum] will be considered by when evaluating arithmetic predicates.- Returns:
- the upper integer bound.
-
setIntegerMaximum
public void setIntegerMaximum(int integerMaximum)
Set the upper integer bound. Solvers that use this attribute will only accept integers in [0,IntegerMaximum] in input programs. Likewise, only integers in [0,IntegerMaximum] will be considered by when evaluating arithmetic predicates.- Parameters:
integerMaximum
- the upper integer bound
-
getModels
public abstract java.util.Collection<AnswerSet> getModels(Program p)
Description copied from interface:ModelProvider
Returns a characterizing model of the given belief base- Specified by:
getModels
in interfaceModelProvider<ASPRule,Program,AnswerSet>
- Parameters:
p
- some belief base- Returns:
- the (selected) models of the belief base
-
getModels
public java.util.Collection<AnswerSet> getModels(Program p, int maxInt)
Returns a characterizing model (answer set) of the given belief base using the given upper integer limit.- Parameters:
p
- a programmaxInt
- the max number of models to be returned- Returns:
- AnswerSet
-
getModel
public AnswerSet getModel(Program p, int maxInt)
Returns a characterizing model (answer set) of the given belief base using the given upper integer limit.- Parameters:
p
- a programmaxInt
- the max number of models to be returned- Returns:
- AnswerSet
-
getModels
public abstract java.util.Collection<AnswerSet> getModels(java.lang.String p)
Returns a characterizing model (answer set) of the given belief base.- Parameters:
p
- containing belief base- Returns:
- AnswerSet
-
getModels
public abstract java.util.Collection<AnswerSet> getModels(java.io.File f)
Returns a characterizing model (answer set) of the given belief base.- Parameters:
f
- containing belief base- Returns:
- AnswerSet
-
query
public abstract java.lang.Boolean query(Program beliefbase, ASPLiteral formula)
Description copied from interface:Reasoner
Queries the given belief base for the given formula.- Specified by:
query
in interfaceQualitativeReasoner<Program,ASPLiteral>
- Specified by:
query
in interfaceReasoner<java.lang.Boolean,Program,ASPLiteral>
- Parameters:
beliefbase
- a belief baseformula
- a formula- Returns:
- the answer to the query
-
-