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
Checks whether the underlying solver or reasoning mechanism used by this reasoner is installed and available for use.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 with the provided formula and returns a boolean result.
-
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: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 interfaceQualitativeReasoner<ArgumentationKnowledgeBase,
Argument> - Specified by:
query
in interfaceReasoner<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
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()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 interfaceQualitativeReasoner<ArgumentationKnowledgeBase,
Argument> - Returns:
- `true` if the solver is installed and available, `false` otherwise.
-