Class NecessityArgumentationFramework
java.lang.Object
org.tweetyproject.commons.BeliefSet<BArgument, DungSignature>
org.tweetyproject.arg.bipolar.syntax.AbstractBipolarFramework
org.tweetyproject.arg.bipolar.syntax.NecessityArgumentationFramework
- All Implemented Interfaces:
Comparable<NecessityArgumentationFramework>,Iterable<BArgument>,Collection<BArgument>,BeliefBase,GeneralGraph<BArgument>,Graph<BArgument>
public class NecessityArgumentationFramework
extends AbstractBipolarFramework
implements Comparable<NecessityArgumentationFramework>
This class implements a bipolar abstract argumentation framework with necessities.
ie. if an argument a supports b, then the acceptance of a is required for the acceptance of b.
If a set of arguments E supports an argument b, then the acceptance of b requires the acceptance of at least one argument of E.
See
Nouioua. AFs with Necessities: Further Semantics and Labelling Characterization. 2013
and
Polberg, Oren. Revisiting Support in Abstract Argumentation Systems. 2014
See
Nouioua. AFs with Necessities: Further Semantics and Labelling Characterization. 2013
and
Polberg, Oren. Revisiting Support in Abstract Argumentation Systems. 2014
- Author:
- Lars Bengel
-
Field Summary
Fields inherited from class org.tweetyproject.commons.BeliefSet
EQUALS_USES_SIGNATUREFields inherited from interface org.tweetyproject.graphs.Graph
IGNORE_SELFLOOPS, INVERT_SELFLOOPS, REMOVE_SELFLOOPS -
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor; initializes empty sets of arguments, attacks and supportscreates a necessity argumentation framework from the given deductive argumentation frameworkcreates a necessity argumentation framework from the given evidential argumentation framework -
Method Summary
Modifier and TypeMethodDescriptionbooleanAdds the given attack to this argumentation frameworkbooleanAdds the given support to this argumentation framework.booleanAdds an attack from the first argument to the second to this necessity argumentation system.booleanaddSupport(ArgumentSet supporter, BArgument supported) Adds a support from a set of arguments to an argument to this argumentation framework.booleanaddSupport(BArgument supporter, BArgument supported) Adds a support from the first argument to the second to this argumentation framework.intReturns all attacks of this theory.getDeactivatedArguments(Collection<BArgument> argumentSet) computes the set of deactivated arguments of argumentSet a set of arguments S deactivates an argument a iff either S attacks a or S does not support aReturns all supports of this theory.inthashCode()booleanisAcceptable(BArgument argument, Collection<BArgument> ext) checks whether ext defends argument a set of arguments S defends an argument a iff S u {a} is coherent and S attacks each coherent set T, which attacks abooleanisAttackedBy(Collection<BArgument> argumentSet1, Collection<BArgument> argumentSet2) checks whether some argument in argumentSet1 is attacked by any argument in argumentSet2booleanisAttackedBy(BArgument argument, Collection<BArgument> argumentSet) checks whether argument is attacked by any argument in argumentSetbooleanisClosed(Collection<BArgument> argumentSet) checks if the given set of arguments is closed under the support relation a set of arguments S is closed iff every argument a in S has support from a non-empty subset of SbooleanisCoherent(Collection<BArgument> argumentSet) checks if the set of arguments S is coherent in his argumentation framework S is coherent iff it is closed and N-Cycle-FreebooleanisConflictFree(Collection<BArgument> argumentSet) checks whether the given set is conflict-free wrt.booleanisNCycleFree(Collection<BArgument> argumentSet) checks if a set of arguments S is N-Cycle-Free in this argumentation framework ie.booleanisNCycleFreeIn(BArgument argument, Collection<BArgument> argumentSet) checks if argument is N-Cycle-Free in the set of argumentsbooleanisStronglyCoherent(Collection<BArgument> argumentSet) checks whether the given set of arguments is strongly coherent in this argumentation framework a set of arguments is strongly coherent iff it is coherent an conflict-freetoDAF()translates this NAF into the corresponding framework with support in a deductive sense only works for NAFs which contain only binary support relations See Cayrol, Lagasquie-Schiex.toEAF()translates this necessity argumentation framework into an evidential argumentation framework Translation algorithm from: Polberg, Oren.Methods inherited from class org.tweetyproject.arg.bipolar.syntax.AbstractBipolarFramework
add, add, add, addAllAttacks, addAllSupports, areAdjacent, existsDirectedPath, faf, getAdjacencyMatrix, getAttacked, getAttackers, getChildren, getComplementGraph, getConnectedComponents, getDirectSupported, getDirectSupporters, getEdge, getEdges, getMinimalSignature, getNeighbors, getNodes, getNumberOfEdges, getNumberOfNodes, getParents, getRestriction, getStronglyConnectedComponents, getSubgraphs, hasSelfLoops, isAttackedBy, isDirectSupportedBy, isWeightedGraph, prettyPrint, remove, remove, remove, removeAllMethods inherited from class org.tweetyproject.commons.BeliefSet
add, addAll, clear, contains, containsAll, equals, getSignature, isEmpty, iterator, remove, retainAll, setSignature, size, toArray, toArray, toString, toStringMethods inherited from interface java.util.Collection
parallelStream, removeIf, spliterator, stream, toArray
-
Constructor Details
-
NecessityArgumentationFramework
public NecessityArgumentationFramework()Default constructor; initializes empty sets of arguments, attacks and supports -
NecessityArgumentationFramework
creates a necessity argumentation framework from the given evidential argumentation framework- Parameters:
eaf- a bipolar evidential argumentation framework
-
NecessityArgumentationFramework
creates a necessity argumentation framework from the given deductive argumentation framework- Parameters:
daf- a bipolar deductive argumentation framework
-
-
Method Details
-
isAcceptable
checks whether ext defends argument a set of arguments S defends an argument a iff S u {a} is coherent and S attacks each coherent set T, which attacks a- Specified by:
isAcceptablein classAbstractBipolarFramework- Parameters:
argument- some argumentext- a set of arguments- Returns:
- "true" if ext defends argument
-
getDeactivatedArguments
computes the set of deactivated arguments of argumentSet a set of arguments S deactivates an argument a iff either S attacks a or S does not support a- Parameters:
argumentSet- a set of arguments- Returns:
- the set of deactivated arguments
-
isStronglyCoherent
checks whether the given set of arguments is strongly coherent in this argumentation framework a set of arguments is strongly coherent iff it is coherent an conflict-free- Parameters:
argumentSet- a set of arguments- Returns:
- "true" if argumentSet is strongly coherent
-
isCoherent
checks if the set of arguments S is coherent in his argumentation framework S is coherent iff it is closed and N-Cycle-Free- Parameters:
argumentSet- a set of arguments- Returns:
- "true" if argumentSet is coherent
-
isClosed
checks if the given set of arguments is closed under the support relation a set of arguments S is closed iff every argument a in S has support from a non-empty subset of S- Parameters:
argumentSet- a set of arguments- Returns:
- "true" if argumentSet is closed under the support relation
-
isNCycleFree
checks if a set of arguments S is N-Cycle-Free in this argumentation framework ie. if all arguments in S are N-Cycle-Free in S- Parameters:
argumentSet- a set of arguments- Returns:
- "true" the set of arguments isN-Cycle-Free
-
isNCycleFreeIn
checks if argument is N-Cycle-Free in the set of arguments- Parameters:
argument- some argumentargumentSet- a set of arguments- Returns:
- "true" if argument in N-Cycle-Free in the set of arguments
-
isConflictFree
checks whether the given set is conflict-free wrt. the attack relation- Parameters:
argumentSet- a set of arguments- Returns:
- "true" if argumentSet is Conflict-Free
-
isAttackedBy
checks whether argument is attacked by any argument in argumentSet- Parameters:
argument- some argumentargumentSet- a set of arguments- Returns:
- "true" if some argument in argumentSet attacks argument
-
isAttackedBy
checks whether some argument in argumentSet1 is attacked by any argument in argumentSet2- Parameters:
argumentSet1- a set of argumentsargumentSet2- a set of arguments- Returns:
- "true" if some argument in argumentSet2 attacks any argument in argumentSet1
-
add
Description copied from class:AbstractBipolarFrameworkAdds the given support to this argumentation framework.- Specified by:
addin classAbstractBipolarFramework- Parameters:
s- a support- Returns:
- "true" if the set of supports has been modified.
-
addSupport
-
addSupport
Adds a support from a set of arguments to an argument to this argumentation framework.- Parameters:
supporter- a set of argumentssupported- some argument- Returns:
- "true" if the set of supports has been modified.
-
add
Description copied from class:AbstractBipolarFrameworkAdds the given attack to this argumentation framework- Specified by:
addin classAbstractBipolarFramework- Parameters:
a- an attack- Returns:
- "true" if the set of attacks has been modified.
-
addAttack
-
getSupports
Description copied from class:AbstractBipolarFrameworkReturns all supports of this theory.- Specified by:
getSupportsin classAbstractBipolarFramework- Returns:
- all supports of this theory.
-
getAttacks
Description copied from class:AbstractBipolarFrameworkReturns all attacks of this theory.- Specified by:
getAttacksin classAbstractBipolarFramework- Returns:
- all attacks of this theory.
-
toEAF
translates this necessity argumentation framework into an evidential argumentation framework Translation algorithm from: Polberg, Oren. Revisiting Support in Abstract Argumentation Systems. 2014- Returns:
- the corresponding evidential argumentation framework
-
toDAF
translates this NAF into the corresponding framework with support in a deductive sense only works for NAFs which contain only binary support relations See Cayrol, Lagasquie-Schiex. Bipolarity in argumentation graphs: Towards a better understanding. 2013- Returns:
- the corresponding DAF
-
compareTo
- Specified by:
compareToin interfaceComparable<NecessityArgumentationFramework>
-
hashCode
public int hashCode()- Specified by:
hashCodein interfaceCollection<BArgument>- Overrides:
hashCodein classBeliefSet<BArgument, DungSignature>
-