Class DeductiveArgumentationFramework
java.lang.Object
org.tweetyproject.commons.BeliefSet<BArgument,DungSignature>
org.tweetyproject.arg.bipolar.syntax.AbstractBipolarFramework
org.tweetyproject.arg.bipolar.syntax.DeductiveArgumentationFramework
- All Implemented Interfaces:
Comparable<DeductiveArgumentationFramework>
,Iterable<BArgument>
,Collection<BArgument>
,BeliefBase
,GeneralGraph<BArgument>
,Graph<BArgument>
public class DeductiveArgumentationFramework
extends AbstractBipolarFramework
implements Comparable<DeductiveArgumentationFramework>
This class implements a bipolar abstract argumentation theory with support in a deductive sense.
ie. if a supports b, then the acceptance of a implies the acceptance of b and as a consequence
the non-acceptance of b implies the non-acceptance of a.
See
Cayrol, Lagasquie-Schiex. Bipolarity in argumentation graphs: Towards a better understanding. 2013
and
Boella et al. Support in Abstract Argumentation. 2010
See
Cayrol, Lagasquie-Schiex. Bipolarity in argumentation graphs: Towards a better understanding. 2013
and
Boella et al. Support in Abstract Argumentation. 2010
- Author:
- Lars Bengel
-
Field Summary
Fields inherited from class org.tweetyproject.commons.BeliefSet
EQUALS_USES_SIGNATURE
Fields inherited from interface org.tweetyproject.graphs.Graph
IGNORE_SELFLOOPS, INVERT_SELFLOOPS, REMOVE_SELFLOOPS
-
Constructor Summary
ConstructorDescriptionDefault constructor; initializes empty sets of arguments, attacks and supports -
Method Summary
Modifier and TypeMethodDescriptionboolean
Adds the given attack to this argumentation frameworkboolean
Adds the given support to this bipolar argumentation framework.boolean
Adds an attack from the first argument to the second to this deductive argumentation system.boolean
addSupport
(BipolarEntity bipolarEntity, BArgument supported) Adds a support from the first argument to the second to this bipolar argumentation framework.int
Returns all attacks of this theory.constructs the complete associated dung theory of this bipolar argumentation framework i.e.Calculates the set of complex attacks in this bipolar argumentation framework i.e.Calculates the set of deductive complex attacks (d-attacks) in this bipolar argumentation framework i.e.getMediatedAttacks
(BArgument arg1) Calculates the set of mediated attack from "arg1" to other arguments "y", i.e.constructs the meta dung theory of this bipolar argumentation framework by adding meta-arguments for every attack and support relation See Boella et al.getSupported
(Collection<BArgument> ext) Computes the set {A | there is a sequence of direct supports from an element ofext
to AgetSupported
(BArgument argument) Computes the set {A | there is a sequence of direct supports from argument to AgetSupportedAttacks
(BArgument arg1) Calculates the set of supported attack from "arg1" to other arguments "y", i.e.getSupporters
(BArgument argument) Computes the set {A | there is a sequence of direct supports from A to argumentReturns all supports of this theory.int
hashCode()
boolean
isAcceptable
(BArgument argument, Collection<BArgument> ext) checks whether argument is acceptable wrt.boolean
isAttacked
(BArgument argument, Set<BArgument> argumentSet) returns true if some argument of argumentSet attacks argument.boolean
isAttacking
(Set<BArgument> argumentSet1, Set<BArgument> argumentSet2) Checks whether argumentSet1 is attacking argumentSet2 ie any element of argumentSet1 is attacking any element of argumentSet2boolean
isAttacking
(BArgument argument, Set<BArgument> argSet) returns true if some argument of argSet is attacked by argument.boolean
isClosed
(ArgumentSet ext) Determines if ext is closed under the support relation of this framework i.e., if all arguments supported by ext are an element of extboolean
isMediatedAttack
(BArgument arg1, BArgument arg2) Checks whether there exists a mediated attack from "arg1" to "arg2", i.e.boolean
isSuperMediatedAttack
(BArgument arg1, BArgument arg2) Checks whether there exists a super-mediated attack from "arg1" to "arg2", i.e.boolean
isSupportedAttack
(BArgument arg1, BArgument arg2) Checks whether there exists a supported attack from "arg1" to "arg2", i.e.toNAF()
translates this DAF into the corresponding framework with support in a necessary sense See Cayrol, Lagasquie-Schiex.Methods inherited from class org.tweetyproject.arg.bipolar.syntax.AbstractBipolarFramework
add, add, add, addAllAttacks, addAllSupports, areAdjacent, existsDirectedPath, faf, getAdjacencyMatrix, getAttacked, getAttackers, getChildren, getComplementGraph, getDirectSupported, getDirectSupporters, getEdge, getEdges, getMinimalSignature, getNeighbors, getNodes, getNumberOfEdges, getNumberOfNodes, getParents, getRestriction, getStronglyConnectedComponents, getSubgraphs, hasSelfLoops, isAttackedBy, isDirectSupportedBy, isWeightedGraph, prettyPrint, remove, remove, remove, removeAll
Methods inherited from class org.tweetyproject.commons.BeliefSet
add, addAll, clear, contains, containsAll, equals, getSignature, isEmpty, iterator, remove, retainAll, setSignature, size, toArray, toArray, toString, toString
Methods inherited from interface java.util.Collection
parallelStream, removeIf, spliterator, stream, toArray
-
Constructor Details
-
DeductiveArgumentationFramework
public DeductiveArgumentationFramework()Default constructor; initializes empty sets of arguments, attacks and supports
-
-
Method Details
-
isClosed
Determines if ext is closed under the support relation of this framework i.e., if all arguments supported by ext are an element of ext- Parameters:
ext
- an extension- Returns:
- true if ext is closed under R_sup
-
getDeductiveComplexAttacks
Calculates the set of deductive complex attacks (d-attacks) in this bipolar argumentation framework i.e. all direct, supported, mediated and super-mediated attacks- Returns:
- set of d-attacks in this bipolar argumentation framework
-
getComplexAttacks
Calculates the set of complex attacks in this bipolar argumentation framework i.e. all direct, supported and mediated attacks- Returns:
- set of complex attacks in this bipolar argumentation framework
-
getMediatedAttacks
Calculates the set of mediated attack from "arg1" to other arguments "y", i.e. whether there is a sequence of direct supports from "y" to "x" and a direct attack from "arg1" to "x".- Parameters:
arg1
- an argument.- Returns:
- set of mediated attacks starting from "arg1".
-
isMediatedAttack
Checks whether there exists a mediated attack from "arg1" to "arg2", i.e. whether there is a sequence of direct supports from "arg2" to "x" and a direct attack from "arg1" to "x".- Parameters:
arg1
- an argument.arg2
- an argument.- Returns:
- "true" iff there is a mediated attack from "arg1" to "arg2".
-
isSuperMediatedAttack
Checks whether there exists a super-mediated attack from "arg1" to "arg2", i.e. whether there is a sequence of direct supports from "arg2" to "x" and a direct or supported attack from "arg1" to "x".- Parameters:
arg1
- an argument.arg2
- an argument.- Returns:
- "true" iff there is a super-mediated attack from "arg1" to "arg2".
-
getSupportedAttacks
Calculates the set of supported attack from "arg1" to other arguments "y", i.e. whether there is a sequence of direct supports from "arg1" to "x" and a direct attack from "x" to "y".- Parameters:
arg1
- an argument.- Returns:
- set of supported attacks starting from "arg1".
-
isSupportedAttack
Checks whether there exists a supported attack from "arg1" to "arg2", i.e. whether there is a sequence of direct supports from "arg1" to "x" and a direct attack from "x" to "arg2".- Parameters:
arg1
- an argument.arg2
- an argument.- Returns:
- "true" iff there is a supported attack from "arg1" to "arg2".
-
isAttacking
-
isAttacked
-
isAttacking
Checks whether argumentSet1 is attacking argumentSet2 ie any element of argumentSet1 is attacking any element of argumentSet2- Parameters:
argumentSet1
- a set of argumentsargumentSet2
- a set of arguments- Returns:
- "true" if an element of argumentSet1 is attacking any element of argumentSet2
-
getSupported
Computes the set {A | there is a sequence of direct supports from an element ofext
to A- Parameters:
ext
- an extension ie. a set of arguments- Returns:
- the set of all arguments that are supported by
ext
.
-
getSupported
-
getSupporters
-
add
Adds the given support to this bipolar argumentation framework.- Specified by:
add
in classAbstractBipolarFramework
- Parameters:
supp
- a support- Returns:
- "true" if the set of supports has been modified.
-
addSupport
Adds a support from the first argument to the second to this bipolar argumentation framework.- Parameters:
bipolarEntity
- some argumentsupported
- some argument- Returns:
- "true" if the set of supports has been modified.
-
add
Description copied from class:AbstractBipolarFramework
Adds the given attack to this argumentation framework- Specified by:
add
in classAbstractBipolarFramework
- Parameters:
a
- an attack- Returns:
- "true" if the set of attacks has been modified.
-
addAttack
-
isAcceptable
Description copied from class:AbstractBipolarFramework
checks whether argument is acceptable wrt. ext- Specified by:
isAcceptable
in classAbstractBipolarFramework
- Parameters:
argument
- some argumentext
- a set of arguments- Returns:
- "true" if argument is acceptable wrt. ext
-
getSupports
Description copied from class:AbstractBipolarFramework
Returns all supports of this theory.- Specified by:
getSupports
in classAbstractBipolarFramework
- Returns:
- all supports of this theory.
-
getAttacks
Description copied from class:AbstractBipolarFramework
Returns all attacks of this theory.- Specified by:
getAttacks
in classAbstractBipolarFramework
- Returns:
- all attacks of this theory.
-
getCompleteAssociatedDungTheory
constructs the complete associated dung theory of this bipolar argumentation framework i.e. constructs all deductive complex attacks of BAF and returns dung theory without supports See Cayrol, Lagasquie-Schiex. Bipolarity in argumentation graphs: Towards a better understanding. 2013- Returns:
- the complete associated Dung Theory of this bipolar argumentation framework
-
getMetaFramework
constructs the meta dung theory of this bipolar argumentation framework by adding meta-arguments for every attack and support relation See Boella et al. Support in Abstract Argumentation. 2010- Returns:
- the meta dung theory of this bipolar argumentation framework
-
toNAF
translates this DAF into the corresponding framework with support in a necessary sense See Cayrol, Lagasquie-Schiex. Bipolarity in argumentation graphs: Towards a better understanding. 2013- Returns:
- the corresponding NAF
-
compareTo
- Specified by:
compareTo
in interfaceComparable<DeductiveArgumentationFramework>
-
hashCode
public int hashCode()- Specified by:
hashCode
in interfaceCollection<BArgument>
- Overrides:
hashCode
in classBeliefSet<BArgument,
DungSignature>
-