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 Summary
ConstructorDescriptionArgumentationReasoner
(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 -
Method Summary
Modifier and TypeMethodDescriptionReturns the set of defensible arguments, i.e.Returns the set of x/y-justified arguments using a bottom-up fixpoint calculationReturns the set of overruled arguments, i.e.boolean
An argument is called x/y-defensible if it is neither x/y-justified nor x/y-overruled.boolean
boolean
An argument is called x/y-overruled, if it is attacked by an x/y-justified argument.query
(ArgumentationKnowledgeBase kb, Argument query) Queries the given belief base for the given formula.
-
Constructor Details
-
ArgumentationReasoner
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 strategydefence
- some attack strategy
-
-
Method Details
-
query
Description copied from interface:Reasoner
Queries the given belief base for the given formula.- Specified by:
query
in interfaceQualitativeReasoner<ArgumentationKnowledgeBase,
Argument> - Specified by:
query
in interfaceReasoner<Boolean,
ArgumentationKnowledgeBase, Argument> - Parameters:
kb
- a belief basequery
- a formula- Returns:
- the answer to the query
-
isOverruled
An argument is called x/y-overruled, if it is attacked by an x/y-justified argument.- Parameters:
kb
- a knowledge basearg
- an argument- Returns:
- true iff arg is x-attacked by an x/y-justified argument
-
isDefensible
An argument is called x/y-defensible if it is neither x/y-justified nor x/y-overruled.- Parameters:
kb
- a knowledge basearg
- an argument- Returns:
- true iff arg is neither x/y-justified nor x/y-overruled.
-
getJustifiedArguments
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
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
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 interfaceQualitativeReasoner<ArgumentationKnowledgeBase,
Argument> - Returns:
- if the solver is installed
-