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 boolean
add(Attack att)
Adds the given attack to this argumentation frameworkboolean
add(Support s)
Adds the given support to this argumentation framework.boolean
addAttack(ArgumentSet attacker, BArgument attacked)
Adds an attack from the set of arguments to the argument to this evidential argumentation system.boolean
addAttack(BArgument attacker, BArgument attacked)
Adds an attack from the first argument to the second to this evidential argumentation system.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 supportboolean
addSupport(ArgumentSet supporter, BArgument supported)
Adds a support from a set of arguments to an argument to this argumentation framework.boolean
addSupport(BArgument supporter, BArgument supported)
Adds a support from the first argument to the second to this argumentation framework.int
compareTo(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.BArgument
getEta()
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 argumentEvidentialArgumentationFramework
getMinimalForm()
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.boolean
hasEvidentialSupport(BArgument argument, java.util.Collection<BArgument> ext)
returns true if argument has evidential support from setext
.int
hashCode()
boolean
hasMinimalEvidentialSupport(BArgument argument, java.util.Collection<BArgument> ext)
returns true if argument has minimal evidential support from setext
.boolean
isAcceptable(BArgument argument, java.util.Collection<BArgument> ext)
return true if argument is acceptable with respect toext
argument is acceptable wrt.boolean
isEvidenceSupportedAttack(java.util.Collection<BArgument> ext, BArgument argument)
returns true ifext
carries 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.boolean
isMinimalEvidenceSupportedAttack(java.util.Collection<BArgument> ext, BArgument argument)
returns true ifext
carries out a minimal evidence supported attack on argument i.e.boolean
removePrimaFacie(BArgument argument)
removes evidential support from argument, does not remove argument itselfNecessityArgumentationFramework
toNAF()
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 ifext
carries 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
ext
e-support-attacks argument
-
isMinimalEvidenceSupportedAttack
public boolean isMinimalEvidenceSupportedAttack(java.util.Collection<BArgument> ext, BArgument argument)
returns true ifext
carries out a minimal evidence supported attack on argument i.e. there is no true subset ofext
which e-support-attacks argument- Parameters:
argument
- an argumentext
- a set of arguments- Returns:
- true if
ext
e-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 toext
argument 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:
isAcceptable
in 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:AbstractBipolarFramework
Adds the given support to this argumentation framework.- Specified by:
add
in 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:AbstractBipolarFramework
Adds the given attack to this argumentation framework- Specified by:
add
in 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:
getSupports
in classAbstractBipolarFramework
- Returns:
- all supports of this theory.
-
getAttacks
public java.util.Set<Attack> getAttacks()
Returns all attacks of this theory.- Specified by:
getAttacks
in 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:
compareTo
in interfacejava.lang.Comparable<EvidentialArgumentationFramework>
-
hashCode
public int hashCode()
- Specified by:
hashCode
in interfacejava.util.Collection<BArgument>
- Overrides:
hashCode
in classBeliefSet<BArgument,DungSignature>
-
-