Class CausalKnowledgeBase

All Implemented Interfaces:
Iterable<PlFormula>, Collection<PlFormula>, BeliefBase

public class CausalKnowledgeBase extends PlBeliefSet
This class describes a causal knowledge base which consists of a StructuralCausalModel and a set of background assumptions.
Author:
Julian Sander, Lars Bengel
See Also:
  • "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"
  • Constructor Details

    • CausalKnowledgeBase

      public CausalKnowledgeBase(StructuralCausalModel model)
      Initializes a causal knowledge from the given causal model without assumptions
      Parameters:
      model - some causal model
    • CausalKnowledgeBase

      public CausalKnowledgeBase(StructuralCausalModel model, Collection<PlFormula> assumptions)
      Initialize a new causal knowledge base
      Parameters:
      model - some causal model
      assumptions - Set of assumptions about the background atoms of the causal model.
    • CausalKnowledgeBase

      public CausalKnowledgeBase()
      Initializes an empty causal knowledge base
  • Method Details

    • addAssumption

      public boolean addAssumption(PlFormula assumption)
      Adds an assumption to this knowledge base.
      Parameters:
      assumption - The PlFormula representing the assumption to be added
      Returns:
      "True" iff the assumption was successfully added
    • removeAssumption

      public boolean removeAssumption(PlFormula assumption)
      Removes an assumption from this knowledge base.
      Parameters:
      assumption - The assumption to be removed.
      Returns:
      true if the assumption was successfully removed, false otherwise.
    • getAssumptions

      public Collection<PlFormula> getAssumptions()
      Returns:
      Set of PlFormula, which are the assumptions of this instance.
    • getCausalModel

      public StructuralCausalModel getCausalModel()
      Returns a copy of the underlying structural causal model.
      Returns:
      the causal model
    • getTwinVersion

      public CausalKnowledgeBase getTwinVersion()
      Returns the twin version of this causal knowledge base.
      Returns:
      the twin causal knowledge base
    • getBeliefs

      public Collection<PlFormula> getBeliefs()
      Returns all propositional formulas of this knowledge base, i.e., the structural equations of the corresponding causal model
      Returns:
      the set of structural equations
    • toString

      public String toString()
      Specified by:
      toString in interface BeliefBase
      Overrides:
      toString in class BeliefSet<PlFormula, PlSignature>
    • clone

      public CausalKnowledgeBase clone()