Class ProbabilisticArgumentationFramework

  • All Implemented Interfaces:
    java.lang.Comparable<DungTheory>, java.lang.Iterable<Argument>, java.util.Collection<Argument>, BeliefBase, 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 Detail

      • 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 Detail

      • 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 java.util.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.