Class ArgumentationBasedCausalReasoner
java.lang.Object
org.tweetyproject.causal.reasoner.AbstractCausalReasoner
org.tweetyproject.causal.reasoner.AbstractArgumentationBasedCausalReasoner
org.tweetyproject.causal.reasoner.ArgumentationBasedCausalReasoner
- All Implemented Interfaces:
ModelProvider<PlFormula,,CausalKnowledgeBase, CausalInterpretation> QualitativeReasoner<CausalKnowledgeBase,,PlFormula> Reasoner<Boolean,CausalKnowledgeBase, PlFormula>
Implements the approach to argumentation-based causal reasoning as described in
Lars Bengel, Lydia Blümel, Tjitze Rienstra and Matthias Thimm, 'Argumentation-based Causal and Counterfactual Reasoning', 1st International Workshop on Argumentation for eXplainable AI (ArgXAI), (2022)
Lars Bengel, Lydia Blümel, Tjitze Rienstra and Matthias Thimm, 'Argumentation-based Causal and Counterfactual Reasoning', 1st International Workshop on Argumentation for eXplainable AI (ArgXAI), (2022)
- Author:
- Lars Bengel
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetInducedTheory(CausalKnowledgeBase cbase, Collection<PlFormula> observations, Map<Proposition, Boolean> interventions) Constructs a logical argumentation framework from a given causal knowledge base and some observationsgetPerAtomArgumentsWithAtomInConclusion(DungTheory theory, Collection<Proposition> atomFilter) Returns, for each atom, the set of arguments whose conclusion is the atom or its negation.getSignificantAtoms(CausalKnowledgeBase cbase, Collection<PlFormula> observations, Map<Proposition, Boolean> interventions, Collection<Proposition> atomFilter) Computes, for each atom that appears in the knowledge base, the set of atoms that are significant for establishing that conclusion under the given observations and interventions.booleanquery(CausalKnowledgeBase cbase, CausalStatement statement) Determines whether the given causal statements holds under the causal knowledge basebooleanquery(CausalKnowledgeBase cbase, InterventionalStatement statement) Determines whether the given causal statements holds under the causal knowledge baseMethods inherited from class org.tweetyproject.causal.reasoner.AbstractArgumentationBasedCausalReasoner
getInducedTheory, getModelsMethods inherited from class org.tweetyproject.causal.reasoner.AbstractCausalReasoner
getConclusions, getConclusions, getConclusions, getConclusions, getModel, getModel, getModel, getModel, getModels, getModels, getModels, isInstalled, query, query, query, query
-
Constructor Details
-
ArgumentationBasedCausalReasoner
public ArgumentationBasedCausalReasoner()
-
-
Method Details
-
getInducedTheory
public DungTheory getInducedTheory(CausalKnowledgeBase cbase, Collection<PlFormula> observations, Map<Proposition, Boolean> interventions) Description copied from class:AbstractArgumentationBasedCausalReasonerConstructs a logical argumentation framework from a given causal knowledge base and some observations- Specified by:
getInducedTheoryin classAbstractArgumentationBasedCausalReasoner- Parameters:
cbase- some causal knowledge baseobservations- some logical formulae representing the observations of causal atomsinterventions- a set of interventions on causal atoms- Returns:
- the argumentation framework induced from the causal knowledge base and the observations
-
query
Determines whether the given causal statements holds under the causal knowledge base- Parameters:
cbase- some causal knowledge basestatement- some causal statement- Returns:
- TRUE iff the causal statement holds under the causal knowledge base
-
query
Determines whether the given causal statements holds under the causal knowledge base- Parameters:
cbase- some causal knowledge basestatement- some causal statement with interventions- Returns:
- TRUE iff the causal statement holds under the causal knowledge base
-
getSignificantAtoms
public Map<Proposition,Collection<Proposition>> getSignificantAtoms(CausalKnowledgeBase cbase, Collection<PlFormula> observations, Map<Proposition, Boolean> interventions, Collection<Proposition> atomFilter) Computes, for each atom that appears in the knowledge base, the set of atoms that are significant for establishing that conclusion under the given observations and interventions.This method:
- Induces an argumentation theory from the given knowledge base, observations, and interventions.
- Groups arguments by the (single) atom occurring in their conclusion (positive or negated).
- Collects, per atom, all arguments concluding that atom (or its negation) and all their ancestors in the attack graph.
- For each of these arguments, retrieves kernels for the argument’s conclusion under a belief set extended with the argument’s premises, and gathers all atoms that appear in those kernels.
- Parameters:
cbase- some causal knowledge baseobservations- some logical formulae representing the observations of causal atomsinterventions- a set of interventions on causal atomsatomFilter- atoms for which to get the significant atoms. Ifnull, the filter is not applied.- Returns:
- the argumentation framework induced from the causal knowledge base and the observations
-
getPerAtomArgumentsWithAtomInConclusion
public Map<Proposition,Collection<CausalArgument>> getPerAtomArgumentsWithAtomInConclusion(DungTheory theory, Collection<Proposition> atomFilter) Returns, for each atom, the set of arguments whose conclusion is the atom or its negation.- Parameters:
theory- the theory containing the argumentsatomFilter- atoms for which to get the significant atoms. Ifnull, the filter is not applied.- Returns:
- a map from atom to the set of matching arguments
-