Class ASPSolver

java.lang.Object
org.tweetyproject.lp.asp.reasoner.ASPSolver
All Implemented Interfaces:
ModelProvider<ASPRule,Program,AnswerSet>, QualitativeReasoner<Program,ASPLiteral>, Reasoner<Boolean,Program,ASPLiteral>
Direct Known Subclasses:
ClingoSolver, DLVSolver

public abstract class ASPSolver extends 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)
  • Constructor Details

    • ASPSolver

      public ASPSolver()
  • Method Details

    • getOutput

      public String getOutput()
    • getMaxNumOfModels

      public int getMaxNumOfModels()
      Returns:
      the maximum number of models to be generated.
    • 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 Collection<AnswerSet> getModels(Program p)
      Description copied from interface: ModelProvider
      Returns a characterizing model of the given belief base
      Specified by:
      getModels in interface ModelProvider<ASPRule,Program,AnswerSet>
      Parameters:
      p - some belief base
      Returns:
      the (selected) models of the belief base
    • getModels

      public 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 program
      maxInt - 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 program
      maxInt - the max number of models to be returned
      Returns:
      AnswerSet
    • getModels

      public abstract Collection<AnswerSet> getModels(String p)
      Returns a characterizing model (answer set) of the given belief base.
      Parameters:
      p - containing belief base
      Returns:
      AnswerSet
    • getModels

      public abstract Collection<AnswerSet> getModels(File f)
      Returns a characterizing model (answer set) of the given belief base.
      Parameters:
      f - containing belief base
      Returns:
      AnswerSet
    • query

      public abstract Boolean query(Program beliefbase, ASPLiteral formula)
      Description copied from interface: Reasoner
      Queries the given belief base for the given formula.
      Specified by:
      query in interface QualitativeReasoner<Program,ASPLiteral>
      Specified by:
      query in interface Reasoner<Boolean,Program,ASPLiteral>
      Parameters:
      beliefbase - a belief base
      formula - a formula
      Returns:
      the answer to the query