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 Summary
-
Method Summary
Modifier 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 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 disjointstatic 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 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
-
Independence
public Independence()
-
-
Method Details
-
isIndependent
public 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 theoryargsA
- a set of argumentsargsB
- a set of argumentsargsC
- a set of argumentspruneOutAttacks
- 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
-
isIndependent
public 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 theoryargsA
- a set of argumentsargsB
- a set of argumentsargsC
- a set of arguments- Returns:
- true iff argsA and argsB are independent given argsC in theory
-
isIndependentGiven
public 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 theoryargsA
- a set of argumentsargsB
- a set of argumentspruneOutAttacks
- 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
-
isIndependentGiven
public 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 theoryargsA
- a set of argumentsargsB
- a set of arguments- Returns:
- the smallest set of arguments which we need to observe so that argsA and argsB are independent
-
computeDGraph
transform 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
-
pruneDGraph
public 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 DAGargsA
- a set of argumentsargsB
- a set of argumentsargsC
- a set of arguments- Returns:
- the pruned DAG
-