Class ArgumentationBasedCausalReasoner

All Implemented Interfaces:
ModelProvider<PlFormula, CausalKnowledgeBase, CausalInterpretation>, QualitativeReasoner<CausalKnowledgeBase, PlFormula>, Reasoner<Boolean, CausalKnowledgeBase, PlFormula>

public class ArgumentationBasedCausalReasoner extends AbstractArgumentationBasedCausalReasoner
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)
Author:
Lars Bengel
  • Constructor Details

    • ArgumentationBasedCausalReasoner

      public ArgumentationBasedCausalReasoner()
  • Method Details

    • getInducedTheory

      public DungTheory getInducedTheory(CausalKnowledgeBase cbase, Collection<PlFormula> observations, Map<Proposition, Boolean> interventions)
      Description copied from class: AbstractArgumentationBasedCausalReasoner
      Constructs a logical argumentation framework from a given causal knowledge base and some observations
      Specified by:
      getInducedTheory in class AbstractArgumentationBasedCausalReasoner
      Parameters:
      cbase - some causal knowledge base
      observations - some logical formulae representing the observations of causal atoms
      interventions - a set of interventions on causal atoms
      Returns:
      the argumentation framework induced from the causal knowledge base and the observations
    • query

      public boolean query(CausalKnowledgeBase cbase, CausalStatement statement)
      Determines whether the given causal statements holds under the causal knowledge base
      Parameters:
      cbase - some causal knowledge base
      statement - some causal statement
      Returns:
      TRUE iff the causal statement holds under the causal knowledge base
    • query

      public boolean query(CausalKnowledgeBase cbase, InterventionalStatement statement)
      Determines whether the given causal statements holds under the causal knowledge base
      Parameters:
      cbase - some causal knowledge base
      statement - some causal statement with interventions
      Returns:
      TRUE iff the causal statement holds under the causal knowledge base