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: Reasoner
      Queries the given belief base for the given formula.
      Specified by:
      query in interface QualitativeReasoner<ArgumentationKnowledgeBase,Argument>
      Specified by:
      query in interface Reasoner<Boolean,ArgumentationKnowledgeBase,Argument>
      Parameters:
      kb - a belief base
      query - a formula
      Returns:
      the answer to the query
    • 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()
      Specified by:
      isInstalled in interface QualitativeReasoner<ArgumentationKnowledgeBase,Argument>
      Returns:
      if the solver is installed