Class ArgumentationReasoner

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

public class ArgumentationReasoner extends Object implements QualitativeReasoner<ArgumentationKnowledgeBase,Argument>
This class models a reasoner for extended logic programming based arguments using the fixpoint semantics from [1] parameterised by a notion of attack x for the opponent and another notion of attack y as a defense for the proponent. This base implementation only allows to query whether an argument A is x/y-justified in a ELP P. A is called x/y-acceptable wrt. a set of arguments S if for every argument B in P such that (B,A) \in x there exists an argument C \in S such that (C,B) \in y. The set of acceptable arguments for P is defined as the fixpoint J_{P,x/y} of the function F_{P,x/y}(S) = { A | A is x/y-acceptable with regard to S} In [1] it is shown that J_{a/u} equals Dung's grounded semantics, J_{u/su} equals the well founded semantics for normal logic programs and J_{u/a} equals the well-founded semantics for logic programs with explicit negation. [1] Ralf Schweimeier and Michael Schroeder: A Parameterised Hierarchy of Argumentation Semantics for Extended Logic Programming and its Application to the Well-founded Semantics. In: Theory and Practice of Logic Programming, 5(1-2):207-242, 2003.
Author:
Sebastian Homann
  • Constructor Details

    • ArgumentationReasoner

      public ArgumentationReasoner(AttackStrategy attack, AttackStrategy defence)
      Creates a new ArgumentationReasoner parameterised by a notion of attack for the opponent and another notion of attack for the defense
      Parameters:
      attack - some attack strategy
      defence - some attack strategy
  • Method Details

    • query

      public Boolean query(ArgumentationKnowledgeBase kb, Argument query)
      Description copied from interface: QualitativeReasoner
      Queries the given belief base with the provided formula and returns a boolean result. The result indicates whether the formula is entailed or satisfied by the belief base according to the qualitative reasoning method implemented by the reasoner.
      Specified by:
      query in interface QualitativeReasoner<ArgumentationKnowledgeBase,Argument>
      Specified by:
      query in interface Reasoner<Boolean,ArgumentationKnowledgeBase,Argument>
      Parameters:
      kb - The belief base to be queried.
      query - The formula for which the query is made.
      Returns:
      `TRUE` if the formula is entailed or satisfied by the belief base, `FALSE` otherwise.
    • isOverruled

      public boolean isOverruled(ArgumentationKnowledgeBase kb, Argument arg)
      An argument is called x/y-overruled, if it is attacked by an x/y-justified argument.
      Parameters:
      kb - a knowledge base
      arg - an argument
      Returns:
      true iff arg is x-attacked by an x/y-justified argument
    • isDefensible

      public boolean isDefensible(ArgumentationKnowledgeBase kb, Argument arg)
      An argument is called x/y-defensible if it is neither x/y-justified nor x/y-overruled.
      Parameters:
      kb - a knowledge base
      arg - an argument
      Returns:
      true iff arg is neither x/y-justified nor x/y-overruled.
    • getJustifiedArguments

      public Set<Argument> getJustifiedArguments(ArgumentationKnowledgeBase kb)
      Returns the set of x/y-justified arguments using a bottom-up fixpoint calculation
      Parameters:
      kb - a knowledge base
      Returns:
      the set of x/y-justified arguments
    • getOverruledArguments

      public Set<Argument> getOverruledArguments(ArgumentationKnowledgeBase kb)
      Returns the set of overruled arguments, i.e. the set of arguments, which are attacked by a justified argument.
      Parameters:
      kb - a knowledge base
      Returns:
      the set of overruled arguments.
    • getDefensibleArguments

      public Set<Argument> getDefensibleArguments(ArgumentationKnowledgeBase kb)
      Returns the set of defensible arguments, i.e. the set of arguments, that are neither justified nor overruled.
      Parameters:
      kb - a knowledge base
      Returns:
      the set of defensible arguments.
    • isInstalled

      public boolean isInstalled()
      Description copied from interface: QualitativeReasoner
      Checks whether the underlying solver or reasoning mechanism used by this reasoner is installed and available for use. This can be helpful when the reasoner depends on external tools or libraries for performing the reasoning tasks.
      Specified by:
      isInstalled in interface QualitativeReasoner<ArgumentationKnowledgeBase,Argument>
      Returns:
      `true` if the solver is installed and available, `false` otherwise.