Class LiteralReasoner

java.lang.Object
org.tweetyproject.arg.lp.reasoner.ArgumentationReasoner
org.tweetyproject.arg.lp.reasoner.LiteralReasoner
All Implemented Interfaces:
QualitativeReasoner<ArgumentationKnowledgeBase,Argument>, Reasoner<Boolean,ArgumentationKnowledgeBase,Argument>

public class LiteralReasoner extends ArgumentationReasoner
This class extends the default argumentation reasoner to the reasoning about literals in the set of arguments constructible from an extended logic program p. A literal l is considered true, also called justified, in p, iff there is a justified argument with conclusion l.
Author:
Sebastian Homann
  • Constructor Details

    • LiteralReasoner

      public LiteralReasoner(AttackStrategy attack, AttackStrategy defence)
      Creates a new reasoner for reasoning about literals in an extended logic program given by the beliefBase. The argumentation framework is parameterised by two notions of attack. See the original ArgumentationReasoner for details.
      Parameters:
      attack - some attack strategy
      defence - some attack strategy
  • Method Details

    • query

      public Boolean query(ArgumentationKnowledgeBase kb, ASPLiteral query)
      Evaluates a query against the given argumentation knowledge base to determine if the query is justified based on the arguments in the knowledge base.
      Parameters:
      kb - the `ArgumentationKnowledgeBase` to be queried. This knowledge base contains the arguments and their relations that are used to evaluate the query.
      query - the `ASPLiteral` representing the query to be evaluated. The method checks if this literal is a conclusion of any justified argument.
      Returns:
      `true` if the query is justified by the arguments in the knowledge base, `false` otherwise.
    • isOverruled

      public boolean isOverruled(ArgumentationKnowledgeBase kb, ASPLiteral arg)
      A literal is called x/y-overruled, iff it is not x/y-justified.
      Parameters:
      kb - a knowledge base
      arg - a literal
      Returns:
      true iff arg is not x/y-overruled
    • isJustified

      public boolean isJustified(ArgumentationKnowledgeBase kb, ASPLiteral arg)
      A literal is called x/y-justified, if a x/y-justified argument with conclusion arg can be constructed from p.
      Parameters:
      kb - a knowledge base
      arg - a literal
      Returns:
      true iff a x/y-justified argument with conclusion arg can be constructed from p