Package net.sf.tweety.arg.bipolar.syntax
Class EvidentialArgumentationFramework
- java.lang.Object
-
- net.sf.tweety.commons.BeliefSet<BArgument,DungSignature>
-
- net.sf.tweety.arg.bipolar.syntax.AbstractBipolarFramework
-
- net.sf.tweety.arg.bipolar.syntax.EvidentialArgumentationFramework
-
- All Implemented Interfaces:
java.lang.Comparable<EvidentialArgumentationFramework>,java.lang.Iterable<BArgument>,java.util.Collection<BArgument>,BeliefBase,Graph<BArgument>
public class EvidentialArgumentationFramework extends AbstractBipolarFramework implements java.lang.Comparable<EvidentialArgumentationFramework>
This class implements a bipolar abstract argumentation theory with support in an evidential sense. ie. we distinguish between prima-facie and standard arguments. Prima-facie arguments do not require any support from other arguments to stand, while standard arguments must be supported by at least one prima-facie argument.
See
Polberg, Oren. Revisiting Support in Abstract Argumentation Systems. 2014- Author:
- Lars Bengel
-
-
Field Summary
-
Fields inherited from class net.sf.tweety.commons.BeliefSet
EQUALS_USES_SIGNATURE
-
Fields inherited from interface net.sf.tweety.graphs.Graph
IGNORE_SELFLOOPS, INVERT_SELFLOOPS, REMOVE_SELFLOOPS
-
-
Constructor Summary
Constructors Constructor Description EvidentialArgumentationFramework()Default constructor; initializes empty sets of arguments, attacks and supportsEvidentialArgumentationFramework(NecessityArgumentationFramework naf)creates an evidential argumentation framework from the given framework with necessities
-
Method Summary
Modifier and Type Method Description booleanadd(Attack att)Adds the given attack to this argumentation frameworkbooleanadd(Support s)Adds the given support to this argumentation framework.booleanaddAttack(ArgumentSet attacker, BArgument attacked)Adds an attack from the set of arguments to the argument to this evidential argumentation system.booleanaddAttack(BArgument attacker, BArgument attacked)Adds an attack from the first argument to the second to this evidential argumentation system.booleanaddPrimaFacie(BArgument argument)Adds a argument with evidential support to this evidential argumentation system If the argument is already in this evidential argumentation system, adds evidential supportbooleanaddSupport(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.intcompareTo(EvidentialArgumentationFramework o)java.util.Set<BipolarEntity>getAttackingSets(BArgument argument)Computes the set {S | (S, argument) in attacks}.java.util.Set<Attack>getAttacks()Returns all attacks of this theory.BArgumentgetEta()returns the special argument etajava.util.Set<BArgument>getEvidenceSupportedArguments()returns all arguments that have evidential support in this frameworkjava.util.Collection<java.util.Collection<BArgument>>getMinimalEvidenceSupportedAttackers(BArgument argument)computes all subsets which carry out a minimal evidence supported attack on argumentjava.util.Set<java.util.Set<BArgument>>getMinimalEvidentialSupporters(BArgument argument)computes all subsets which minimal e-support argumentEvidentialArgumentationFrameworkgetMinimalForm()calculates the minimal form of this argumentation framework ie.java.util.Set<BArgument>getSupported(ArgumentSet argumentSet)Computes the set {A | there is a sequence of direct supports from argumentSet to A}java.util.Set<Support>getSupports()Returns all supports of this theory.booleanhasEvidentialSupport(BArgument argument, java.util.Collection<BArgument> ext)returns true if argument has evidential support from setext.inthashCode()booleanhasMinimalEvidentialSupport(BArgument argument, java.util.Collection<BArgument> ext)returns true if argument has minimal evidential support from setext.booleanisAcceptable(BArgument argument, java.util.Collection<BArgument> ext)return true if argument is acceptable with respect toextargument is acceptable wrt.booleanisEvidenceSupportedAttack(java.util.Collection<BArgument> ext, BArgument argument)returns true ifextcarries out an evidence supported attack on argument ext e-support-attacks an argument a iff a subset S of ext attacks a and all elements of S have e-support from ext.booleanisMinimalEvidenceSupportedAttack(java.util.Collection<BArgument> ext, BArgument argument)returns true ifextcarries out a minimal evidence supported attack on argument i.e.booleanremovePrimaFacie(BArgument argument)removes evidential support from argument, does not remove argument itselfNecessityArgumentationFrameworktoNAF()translates this EAF into the corresponding NAF can only translate framework which contain only binary attacks translation algorithm from: Polberg, Oren.-
Methods inherited from class net.sf.tweety.arg.bipolar.syntax.AbstractBipolarFramework
add, add, add, addAllAttacks, addAllSupports, areAdjacent, existsDirectedPath, faf, getAdjacencyMatrix, getAttacked, getAttackers, getChildren, getComplementGraph, getDirectSupported, getDirectSupporters, getEdge, getEdges, getMinimalSignature, getNeighbors, getNodes, getNumberOfNodes, getParents, getRestriction, getStronglyConnectedComponents, getSubgraphs, hasSelfLoops, isAttackedBy, isDirectSupportedBy, isWeightedGraph, prettyPrint, remove, remove, remove, removeAll
-
Methods inherited from class net.sf.tweety.commons.BeliefSet
add, addAll, clear, contains, containsAll, equals, getSignature, isEmpty, iterator, remove, retainAll, setSignature, size, toArray, toArray, toString
-
-
-
-
Constructor Detail
-
EvidentialArgumentationFramework
public EvidentialArgumentationFramework()
Default constructor; initializes empty sets of arguments, attacks and supports
-
EvidentialArgumentationFramework
public EvidentialArgumentationFramework(NecessityArgumentationFramework naf)
creates an evidential argumentation framework from the given framework with necessities- Parameters:
naf- a argumentation framework with necessities
-
-
Method Detail
-
hasEvidentialSupport
public boolean hasEvidentialSupport(BArgument argument, java.util.Collection<BArgument> ext)
returns true if argument has evidential support from setext. An argument a has e-support from ext iff a=eta or there exists a subset S of ext which supports a and all arguments in S have e-support from ext \ {a}- Parameters:
argument- an argumentext- a set of arguments- Returns:
- true if argument has e-support from
ext.
-
hasMinimalEvidentialSupport
public boolean hasMinimalEvidentialSupport(BArgument argument, java.util.Collection<BArgument> ext)
returns true if argument has minimal evidential support from setext. An argument a has minimal e-support from ext iff ext e-supports a and no true subset of ext e-supports a- Parameters:
argument- an argumentext- a set of arguments- Returns:
- true if argument has e-support from
ext.
-
getMinimalEvidentialSupporters
public java.util.Set<java.util.Set<BArgument>> getMinimalEvidentialSupporters(BArgument argument)
computes all subsets which minimal e-support argument- Parameters:
argument- some argument- Returns:
- set of minimal e-supporters of argument
-
isEvidenceSupportedAttack
public boolean isEvidenceSupportedAttack(java.util.Collection<BArgument> ext, BArgument argument)
returns true ifextcarries out an evidence supported attack on argument ext e-support-attacks an argument a iff a subset S of ext attacks a and all elements of S have e-support from ext.- Parameters:
argument- an argumentext- a set of arguments- Returns:
- true if
exte-support-attacks argument
-
isMinimalEvidenceSupportedAttack
public boolean isMinimalEvidenceSupportedAttack(java.util.Collection<BArgument> ext, BArgument argument)
returns true ifextcarries out a minimal evidence supported attack on argument i.e. there is no true subset ofextwhich e-support-attacks argument- Parameters:
argument- an argumentext- a set of arguments- Returns:
- true if
exte-support-attacks argument
-
getMinimalEvidenceSupportedAttackers
public java.util.Collection<java.util.Collection<BArgument>> getMinimalEvidenceSupportedAttackers(BArgument argument)
computes all subsets which carry out a minimal evidence supported attack on argument- Parameters:
argument- some argument- Returns:
- set of minimal e-supported attackers of argument
-
isAcceptable
public boolean isAcceptable(BArgument argument, java.util.Collection<BArgument> ext)
return true if argument is acceptable with respect toextargument is acceptable wrt. S iff argument is e-supported by S and if a set T minimal e-support-attacks argument, then S carries out an e-supported attack against a member of T.- Specified by:
isAcceptablein classAbstractBipolarFramework- Parameters:
argument- an argumentext- a set of arguments- Returns:
- true if argument is acceptable wrt.
ext
-
getSupported
public java.util.Set<BArgument> getSupported(ArgumentSet argumentSet)
Computes the set {A | there is a sequence of direct supports from argumentSet to A}- Parameters:
argumentSet- a set of arguments- Returns:
- the set of all arguments that are supported by
argumentSet.
-
getAttackingSets
public java.util.Set<BipolarEntity> getAttackingSets(BArgument argument)
Computes the set {S | (S, argument) in attacks}.- Parameters:
argument- an argument- Returns:
- the set of all argument sets that are attacking
argument.
-
add
public boolean add(Support s)
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
public boolean addSupport(BArgument supporter, BArgument supported)
Adds a support from the first argument to the second to this argumentation framework.- Parameters:
supporter- some argumentsupported- some argument- Returns:
- "true" if the set of supports has been modified.
-
addSupport
public boolean addSupport(ArgumentSet supporter, BArgument supported)
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
public boolean add(Attack att)
Description copied from class:AbstractBipolarFrameworkAdds the given attack to this argumentation framework- Specified by:
addin classAbstractBipolarFramework- Parameters:
att- an attack- Returns:
- "true" if the set of attacks has been modified.
-
addAttack
public boolean addAttack(BArgument attacker, BArgument attacked)
Adds an attack from the first argument to the second to this evidential argumentation system.- Parameters:
attacker- some argumentattacked- some argument- Returns:
- "true" if the set of attacks has been modified.
-
addAttack
public boolean addAttack(ArgumentSet attacker, BArgument attacked)
Adds an attack from the set of arguments to the argument to this evidential argumentation system.- Parameters:
attacker- a set of argumentsattacked- some argument- Returns:
- "true" if the set of attacks has been modified.
-
getSupports
public java.util.Set<Support> getSupports()
Returns all supports of this theory.- Specified by:
getSupportsin classAbstractBipolarFramework- Returns:
- all supports of this theory.
-
getAttacks
public java.util.Set<Attack> getAttacks()
Returns all attacks of this theory.- Specified by:
getAttacksin classAbstractBipolarFramework- Returns:
- all attacks of this theory.
-
addPrimaFacie
public boolean addPrimaFacie(BArgument argument)
Adds a argument with evidential support to this evidential argumentation system If the argument is already in this evidential argumentation system, adds evidential support- Parameters:
argument- some argument- Returns:
- "true" if the argument has been modified.
-
removePrimaFacie
public boolean removePrimaFacie(BArgument argument)
removes evidential support from argument, does not remove argument itself- Parameters:
argument- some argument- Returns:
- "true" if the argument has been modified
-
getEvidenceSupportedArguments
public java.util.Set<BArgument> getEvidenceSupportedArguments()
returns all arguments that have evidential support in this framework- Returns:
- set of evidence supported arguments
-
getEta
public BArgument getEta()
returns the special argument eta- Returns:
- eta
-
getMinimalForm
public EvidentialArgumentationFramework getMinimalForm()
calculates the minimal form of this argumentation framework ie. only attacks and supports with minimal attacker/supporter are kept- Returns:
- the minimal form of this evidential argumentation framework
-
toNAF
public NecessityArgumentationFramework toNAF()
translates this EAF into the corresponding NAF can only translate framework which contain only binary attacks translation algorithm from: Polberg, Oren. Revisiting Support in Abstract Argumentation Systems. 2014- Returns:
- the corresponding NAF
-
compareTo
public int compareTo(EvidentialArgumentationFramework o)
- Specified by:
compareToin interfacejava.lang.Comparable<EvidentialArgumentationFramework>
-
hashCode
public int hashCode()
- Specified by:
hashCodein interfacejava.util.Collection<BArgument>- Overrides:
hashCodein classBeliefSet<BArgument,DungSignature>
-
-