Class ProbabilisticArgumentationFramework

All Implemented Interfaces:
Comparable<DungTheory>, Iterable<Argument>, Collection<Argument>, ArgumentationFramework<Argument>, BeliefBase, GeneralGraph<Argument>, Graph<Argument>

public class ProbabilisticArgumentationFramework extends DungTheory
This class implements the probabilistic argumentation framework approach of [Li, Oren, Norman. Probabilistic Argumentation Frameworks. TAFA'2011].
Author:
Matthias Thimm
  • Constructor Details

    • ProbabilisticArgumentationFramework

      public ProbabilisticArgumentationFramework()
      Default constructor; initializes empty sets of arguments and attacks
    • ProbabilisticArgumentationFramework

      public ProbabilisticArgumentationFramework(Graph<Argument> graph)
      Creates a new PAF from the given graph, all arguments and attacks have probability 1.
      Parameters:
      graph - some graph
  • Method Details

    • add

      public boolean add(Attack att)
      Description copied from class: DungTheory
      Adds the given attack to this dung theory.
      Overrides:
      add in class DungTheory
      Parameters:
      att - an attack
      Returns:
      "true" if the set of attacks has been modified.
    • add

      public boolean add(Attack att, Probability p)
      Adds the given attack with the given probability
      Parameters:
      att - some attack
      p - some probability
      Returns:
      "true" iff this object was actually changed
    • add

      public boolean add(Argument a)
      Description copied from interface: Graph
      Adds the given node to this graph.
      Specified by:
      add in interface Collection<Argument>
      Specified by:
      add in interface Graph<Argument>
      Overrides:
      add in class DungTheory
      Parameters:
      a - some node.
      Returns:
      "true" iff the edge has been added successfully.
    • add

      public boolean add(Argument a, Probability p)
      Adds the given argument with the given probability
      Parameters:
      a - some argument
      p - some probability
      Returns:
      "true" iff this object was actually changed
    • remove

      public boolean remove(Attack attack)
      Description copied from class: DungTheory
      Removes the given attack from this Dung theory.
      Overrides:
      remove in class DungTheory
      Parameters:
      attack - an attack
      Returns:
      "true" if the set of attacks has been modified.
    • remove

      public boolean remove(Argument a)
      Description copied from class: DungTheory
      Removes the argument and all its attacks
      Overrides:
      remove in class DungTheory
      Parameters:
      a - some argument
      Returns:
      true if this structure has been changed
    • getProbability

      public Probability getProbability(Argument a)
      Returns the probability of the given argument. If this framework does not contain the given argument, an IllegalArgumentException is thrown.
      Parameters:
      a - some argument
      Returns:
      the probability of the argument.
    • getProbability

      public Probability getProbability(Attack a)
      Returns the probability of the given attack. If this framework does not contain the given attack, an IllegalArgumentException is thrown.
      Parameters:
      a - some attack
      Returns:
      the probability of the attack.
    • getProbability

      public Probability getProbability(DungTheory aaf)
      Computes the probability of the given AAF wrt. this framework (if the given AAF is not a subgraph of this framework, it has probability zero).
      Parameters:
      aaf - some AAF (supposedly a subgraph of this framework)
      Returns:
      the probability of the given AAF.
    • getSubgraphProbabilityFunction

      public SubgraphProbabilityFunction getSubgraphProbabilityFunction()
      Returns the complete subgraph probability function on the subgraphs of this PAF, assuming independence between probabilities of all arguments and attacks.
      Returns:
      the subgraph probability function of this framework.
    • sample

      public DungTheory sample()
      Samples a random DungTheory from this framework wrt. the probabilities of its elements and assuming independence.
      Returns:
      a sampled DungTheory.
    • isWeightedGraph

      public boolean isWeightedGraph()
      Description copied from interface: Graph
      Checks whether this graph only contains weighted edges.
      Specified by:
      isWeightedGraph in interface Graph<Argument>
      Overrides:
      isWeightedGraph in class DungTheory
      Returns:
      "true" if all edges are weighted in this graph.
    • toString

      public String toString()
      Specified by:
      toString in interface BeliefBase
      Specified by:
      toString in interface Graph<Argument>
      Overrides:
      toString in class DungTheory