Package net.sf.tweety.arg.bipolar.syntax
Class EvidentialArgSystem
- java.lang.Object
-
- net.sf.tweety.commons.BeliefSet<Argument,DungSignature>
-
- net.sf.tweety.arg.dung.syntax.DungTheory
-
- net.sf.tweety.arg.bipolar.syntax.BipolarArgFramework
-
- net.sf.tweety.arg.bipolar.syntax.EvidentialArgSystem
-
- All Implemented Interfaces:
java.lang.Comparable<DungTheory>
,java.lang.Iterable<Argument>
,java.util.Collection<Argument>
,BeliefBase
,Graph<Argument>
public class EvidentialArgSystem extends BipolarArgFramework
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
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.Map<BipolarArgFramework,java.util.Collection<Graph<Argument>>>
archivedSubgraphs
For archiving sub graphsprivate Argument
epsilon
Special argument Epsilon, which serves as a representation of the prima facie arguments-
Fields inherited from class net.sf.tweety.commons.BeliefSet
EQUALS_USES_SIGNATURE, signature
-
Fields inherited from interface net.sf.tweety.graphs.Graph
IGNORE_SELFLOOPS, INVERT_SELFLOOPS, REMOVE_SELFLOOPS
-
-
Constructor Summary
Constructors Constructor Description EvidentialArgSystem()
Default constructor; initializes empty sets of arguments and attacksEvidentialArgSystem(Graph<Argument> graph)
Creates a new theory from the given graph.
-
Method Summary
Modifier and Type Method Description boolean
addPrimaFacie(Argument argument)
Adds a argument with reasoner.evidential support to this reasoner.evidential argumentation systemExtension
fes(Extension extension)
The characteristic function of an abstract argumentation framework: F_ES(S) = {A|A is acceptable wrt.Argument
getEpsilon()
returns the special argument epsilonjava.util.Set<Argument>
getEvidenceSupportedArguments()
boolean
hasEvidentialSupport(Argument argument, java.util.Collection<Argument> ext)
returns true if argument has reasoner.evidential support from setext
.boolean
hasMinimalEvidentialSupport(Argument argument, java.util.Collection<Argument> ext)
returns true if argument has minimal reasoner.evidential support from setext
.boolean
isAcceptable(Argument argument, java.util.Collection<Argument> ext)
return true if argument is acceptable with respect toext
argument is acceptable wrt.boolean
isEvidenceSupportedAttack(java.util.Collection<Argument> ext, Argument argument)
returns true ifext
carries out an evidence supported attack on argument ext e-support-attacks an argument a iff an element x of ext attacks a and x has e-support from ext.boolean
isMinimalEvidenceSupportedAttack(java.util.Collection<Argument> ext, Argument argument)
returns true ifext
carries out a minimal evidence supported attack on argument i.e.java.lang.String
prettyPrint()
Pretty print of the framework.-
Methods inherited from class net.sf.tweety.arg.bipolar.syntax.BipolarArgFramework
add, add, addAllSupports, addSupport, areAdjacent, contains, containsSupport, getCompleteAssociatedDungTheory, getComplexAttacks, getDeductiveComplexAttacks, getDirectSupported, getDirectSupporters, getMediatedAttacks, getMetaFramework, getSupported, getSupported, getSupportedAttacks, getSupporters, getSupports, isClosed, isDirectSupportedBy, isMediatedAttack, isSuperMediatedAttack, isSupported, isSupported, isSupportedAttack, isSupportedBy, isSupportedBy, remove, remove, removeAll
-
Methods inherited from class net.sf.tweety.arg.dung.syntax.DungTheory
add, add, add, add, addAllAttacks, addAttack, compareTo, containsAll, containsAttack, containsCycle, equals, existsDirectedPath, faf, getAdjacencyMatrix, getAttacked, getAttackers, getAttacks, getChildren, getComplementGraph, getComponents, getEdge, getEdges, getMinimalSignature, getNeighbors, getNodes, getNumberOfNodes, getParents, getRestriction, getStronglyConnectedComponents, getSubgraphs, hasAttackBranch, hasDefenseBranch, hashCode, hasSelfLoops, instantiateSignature, isAttackBranch, isAttacked, isAttacked, isAttackedBy, isAttackedBy, isAttackingAllOtherArguments, isCoherent, isDefenseBranch, isIndirectAttack, isRelativelyCoherent, isStable, isSupport, isWeightedGraph, isWellFounded, remove, toString
-
Methods inherited from class net.sf.tweety.commons.BeliefSet
addAll, clear, getSignature, instantiateSet, isEmpty, iterator, remove, retainAll, setSignature, size, toArray, toArray
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
-
-
-
Field Detail
-
archivedSubgraphs
private static java.util.Map<BipolarArgFramework,java.util.Collection<Graph<Argument>>> archivedSubgraphs
For archiving sub graphs
-
epsilon
private Argument epsilon
Special argument Epsilon, which serves as a representation of the prima facie arguments
-
-
Method Detail
-
fes
public Extension fes(Extension extension)
The characteristic function of an abstract argumentation framework: F_ES(S) = {A|A is acceptable wrt. S}.- Parameters:
extension
- an extension (a set of arguments).- Returns:
- an extension (a set of arguments).
-
hasEvidentialSupport
public boolean hasEvidentialSupport(Argument argument, java.util.Collection<Argument> ext)
returns true if argument has reasoner.evidential support from setext
. An argument a has e-support from ext iff a=epsilon or there exists an argument x of ext which supports a and all x has e-support from ext \ {a}- Parameters:
argument
- an argumentext
- an extension, ie. a set of arguments- Returns:
- true if argument has e-support from
ext
.
-
hasMinimalEvidentialSupport
public boolean hasMinimalEvidentialSupport(Argument argument, java.util.Collection<Argument> ext)
returns true if argument has minimal reasoner.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
- an extension, ie. a set of arguments- Returns:
- true if argument has e-support from
ext
.
-
isEvidenceSupportedAttack
public boolean isEvidenceSupportedAttack(java.util.Collection<Argument> ext, Argument argument)
returns true ifext
carries out an evidence supported attack on argument ext e-support-attacks an argument a iff an element x of ext attacks a and x has e-support from ext.- Parameters:
argument
- an argumentext
- an extension, ie. a set of arguments- Returns:
- true if
ext
e-support-attacks argument
-
isMinimalEvidenceSupportedAttack
public boolean isMinimalEvidenceSupportedAttack(java.util.Collection<Argument> ext, Argument 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
- an extension, ie. a set of arguments- Returns:
- true if
ext
e-support-attacks argument
-
isAcceptable
public boolean isAcceptable(Argument argument, java.util.Collection<Argument> 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.- Parameters:
argument
- an argumentext
- an extension i.e. a set of arguments- Returns:
- true if argument is acceptable wrt.
ext
-
addPrimaFacie
public boolean addPrimaFacie(Argument argument)
Adds a argument with reasoner.evidential support to this reasoner.evidential argumentation system- Parameters:
argument
- some argument- Returns:
- "true" if the argument has been modified.
-
getEpsilon
public Argument getEpsilon()
returns the special argument epsilon- Returns:
- epsilon
-
getEvidenceSupportedArguments
public java.util.Set<Argument> getEvidenceSupportedArguments()
-
prettyPrint
public java.lang.String prettyPrint()
Pretty print of the framework.- Overrides:
prettyPrint
in classBipolarArgFramework
- Returns:
- the pretty print of the framework.
-
-