Class Independence
java.lang.Object
org.tweetyproject.arg.dung.independence.Independence
This class implements methods for computing conditional independence of sets of arguments in abstract argumentation
 Rienstra, Tjitze, et al. "Independence and D-separation in Abstract Argumentation." Proceedings of the International
 Conference on Principles of Knowledge Representation and Reasoning. Vol. 17. No. 1. 2020.
- Author:
- Lars Bengel
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionstatic SimpleGraph<Argument>computeDGraph(DungTheory theory)transform the given AF into a DAG (D-graph) by adding new meta argument for each strongly connected componentstatic booleanisIndependent(DungTheory theory, Collection<Argument> argsA, Collection<Argument> argsB, Collection<Argument> argsC)compute whether args and argsB are independent given argsC in the given AF argsA, argsB and argsC are disjointstatic booleanisIndependent(DungTheory theory, Collection<Argument> argsA, Collection<Argument> argsB, Collection<Argument> argsC, boolean pruneOutAttacks)compute whether args and argsB are independent given argsC in the given AF argsA, argsB and argsC are disjointstatic Collection<Collection<Argument>>isIndependentGiven(DungTheory theory, Collection<Argument> argsA, Collection<Argument> argsB)compute the smallest set of arguments which needs to be observed so that argsA and argsB are independent in the given AF argsA and argsB are disjointstatic Collection<Collection<Argument>>isIndependentGiven(DungTheory theory, Collection<Argument> argsA, Collection<Argument> argsB, boolean pruneOutAttacks)compute the smallest set of arguments which needs to be observed so that argsA and argsB are independent in the given AF argsA and argsB are disjointstatic SimpleGraph<Argument>pruneDGraph(SimpleGraph<Argument> dGraph, Collection<Argument> argsA, Collection<Argument> argsB, Collection<Argument> argsC)prune the given DAG by removing all leaf nodes, which are not in any of the given sets and removing all outgoing edges from nodes in argsC
- 
Constructor Details- 
Independencepublic Independence()
 
- 
- 
Method Details- 
isIndependentpublic static boolean isIndependent(DungTheory theory, Collection<Argument> argsA, Collection<Argument> argsB, Collection<Argument> argsC, boolean pruneOutAttacks)compute whether args and argsB are independent given argsC in the given AF argsA, argsB and argsC are disjoint- Parameters:
- theory- a dung theory
- argsA- a set of arguments
- argsB- a set of arguments
- argsC- a set of arguments
- pruneOutAttacks- a flag indicating if attacks from arguments that are always out should be pruned. default=false
- Returns:
- true iff argsA and argsB are independent given argsC in theory
 
- 
isIndependentpublic static boolean isIndependent(DungTheory theory, Collection<Argument> argsA, Collection<Argument> argsB, Collection<Argument> argsC)compute whether args and argsB are independent given argsC in the given AF argsA, argsB and argsC are disjoint- Parameters:
- theory- a dung theory
- argsA- a set of arguments
- argsB- a set of arguments
- argsC- a set of arguments
- Returns:
- true iff argsA and argsB are independent given argsC in theory
 
- 
isIndependentGivenpublic static Collection<Collection<Argument>> isIndependentGiven(DungTheory theory, Collection<Argument> argsA, Collection<Argument> argsB, boolean pruneOutAttacks)compute the smallest set of arguments which needs to be observed so that argsA and argsB are independent in the given AF argsA and argsB are disjoint- Parameters:
- theory- a dung theory
- argsA- a set of arguments
- argsB- a set of arguments
- pruneOutAttacks- a flag indicating if attacks from arguments that are always out should be pruned. default=false
- Returns:
- the smallest set of arguments which we need to observe so that argsA and argsB are independent
 
- 
isIndependentGivenpublic static Collection<Collection<Argument>> isIndependentGiven(DungTheory theory, Collection<Argument> argsA, Collection<Argument> argsB)compute the smallest set of arguments which needs to be observed so that argsA and argsB are independent in the given AF argsA and argsB are disjoint- Parameters:
- theory- a dung theory
- argsA- a set of arguments
- argsB- a set of arguments
- Returns:
- the smallest set of arguments which we need to observe so that argsA and argsB are independent
 
- 
computeDGraphtransform the given AF into a DAG (D-graph) by adding new meta argument for each strongly connected component- Parameters:
- theory- a dung theory
- Returns:
- the d-graph of the given AF
 
- 
pruneDGraphpublic static SimpleGraph<Argument> pruneDGraph(SimpleGraph<Argument> dGraph, Collection<Argument> argsA, Collection<Argument> argsB, Collection<Argument> argsC)prune the given DAG by removing all leaf nodes, which are not in any of the given sets and removing all outgoing edges from nodes in argsC- Parameters:
- dGraph- a DAG
- argsA- a set of arguments
- argsB- a set of arguments
- argsC- a set of arguments
- Returns:
- the pruned DAG
 
 
-