Class SubgraphProbabilityFunction

  • All Implemented Interfaces:
    Map<net.sf.tweety.arg.dung.syntax.DungTheory,​net.sf.tweety.math.probability.Probability>

    public class SubgraphProbabilityFunction
    extends net.sf.tweety.math.probability.ProbabilityFunction<net.sf.tweety.arg.dung.syntax.DungTheory>
    Represents a probability function on the subgraphs of some Dung theory.
    Author:
    Matthias Thimm
    • Constructor Summary

      Constructors 
      Constructor Description
      SubgraphProbabilityFunction​(net.sf.tweety.arg.dung.syntax.DungTheory theory)
      Creates a new uniform probability function for the given theory, i.e.
    • Method Summary

      Modifier and Type Method Description
      net.sf.tweety.math.probability.Probability getAcceptanceProbability​(net.sf.tweety.arg.dung.divisions.Division d, net.sf.tweety.arg.dung.semantics.Semantics semantics)
      Returns the probability of the given division being acceptable wrt.
      net.sf.tweety.math.probability.Probability getAcceptanceProbability​(net.sf.tweety.arg.dung.ldo.syntax.LdoFormula f, net.sf.tweety.arg.dung.semantics.Semantics semantics)
      Returns the probability of the given formula being acceptable wrt.
      net.sf.tweety.math.probability.Probability getAcceptanceProbability​(net.sf.tweety.arg.dung.semantics.Extension ext, net.sf.tweety.arg.dung.semantics.Semantics semantics)
      Returns the probability of the given set of arguments being acceptable wrt.
      net.sf.tweety.math.probability.Probability getAcceptanceProbability​(net.sf.tweety.arg.dung.syntax.Argument arg, net.sf.tweety.arg.dung.semantics.Semantics semantics)
      Returns the probability of the given argument being acceptable wrt.
      net.sf.tweety.math.probability.Probability getEpistemicProbability​(net.sf.tweety.arg.dung.syntax.Argument arg)
      Returns the epistemic probability of the given argument, i.e.
      net.sf.tweety.math.probability.Probability getEpistemicProbability​(net.sf.tweety.arg.dung.syntax.Attack att)
      Returns the epistemic probability of the given attack, i.e.
      net.sf.tweety.arg.dung.syntax.DungTheory getTheory()
      Returns the theory of this probability function.
      SubgraphProbabilityFunction naiveUpdate​(net.sf.tweety.arg.dung.semantics.Extension e)
      Updates this probability function with the given extension, i.e.
      SubgraphProbabilityFunction roughUpdate​(net.sf.tweety.arg.dung.syntax.DungTheory theory)
      Updates this probability function with the given theory using "rough redistribution", cf.
      SubgraphProbabilityFunction simpleUpdate​(net.sf.tweety.arg.dung.syntax.DungTheory theory)
      Updates this probability function with the given theory using "simple redistribution", cf.
      SubgraphProbabilityFunction stickyUpdate​(net.sf.tweety.arg.dung.syntax.DungTheory theory, double stickyCoefficient)
      Updates this probability function with the given theory using "sticky redistribution", cf.
      • Methods inherited from class net.sf.tweety.math.probability.ProbabilityFunction

        clear, containsKey, containsValue, convexCombination, convexCombination, entrySet, equals, get, getProbabilityVector, getProbabilityVectorAsDoubles, getUniformDistribution, hashCode, isEmpty, isNormalized, keySet, linearCombination, normalize, normalize, probability, probability, put, putAll, remove, sample, sample, size, toString, values
    • Constructor Detail

      • SubgraphProbabilityFunction

        public SubgraphProbabilityFunction​(net.sf.tweety.arg.dung.syntax.DungTheory theory)
        Creates a new uniform probability function for the given theory, i.e. all sub graphs of the given theory receive the same probability.
        Parameters:
        theory - some theory.
    • Method Detail

      • getTheory

        public net.sf.tweety.arg.dung.syntax.DungTheory getTheory()
        Returns the theory of this probability function.
        Returns:
        the theory of this probability function.
      • getEpistemicProbability

        public net.sf.tweety.math.probability.Probability getEpistemicProbability​(net.sf.tweety.arg.dung.syntax.Argument arg)
        Returns the epistemic probability of the given argument, i.e. the probability that the given argument is present in some randomly sampled sub graph.
        Parameters:
        arg - some argument
        Returns:
        a probability
      • getEpistemicProbability

        public net.sf.tweety.math.probability.Probability getEpistemicProbability​(net.sf.tweety.arg.dung.syntax.Attack att)
        Returns the epistemic probability of the given attack, i.e. the probability that the given attack is present in some randomly sampled sub graph.
        Parameters:
        att - some attack
        Returns:
        a probability
      • getAcceptanceProbability

        public net.sf.tweety.math.probability.Probability getAcceptanceProbability​(net.sf.tweety.arg.dung.ldo.syntax.LdoFormula f,
                                                                                   net.sf.tweety.arg.dung.semantics.Semantics semantics)
        Returns the probability of the given formula being acceptable wrt. the given semantics and this probability function, i.e. the sum of the probabilities of all sub-graphs that are dividers of the given formula.
        Parameters:
        f - some formula
        semantics - some semantics.
        Returns:
        a probability
      • getAcceptanceProbability

        public net.sf.tweety.math.probability.Probability getAcceptanceProbability​(net.sf.tweety.arg.dung.divisions.Division d,
                                                                                   net.sf.tweety.arg.dung.semantics.Semantics semantics)
        Returns the probability of the given division being acceptable wrt. the given semantics and this probability function, i.e. the sum of the probabilities of all sub-graphs that are dividers of the given division.
        Parameters:
        d - some division
        semantics - some semantics.
        Returns:
        a probability
      • getAcceptanceProbability

        public net.sf.tweety.math.probability.Probability getAcceptanceProbability​(net.sf.tweety.arg.dung.syntax.Argument arg,
                                                                                   net.sf.tweety.arg.dung.semantics.Semantics semantics)
        Returns the probability of the given argument being acceptable wrt. the given semantics and this probability functions. This is equivalent to the probability of the division ({arg},{}).
        Parameters:
        arg - some argument
        semantics - some semantics.
        Returns:
        a probability
      • getAcceptanceProbability

        public net.sf.tweety.math.probability.Probability getAcceptanceProbability​(net.sf.tweety.arg.dung.semantics.Extension ext,
                                                                                   net.sf.tweety.arg.dung.semantics.Semantics semantics)
        Returns the probability of the given set of arguments being acceptable wrt. the given semantics and this probability functions. This is equivalent to the probability of the division (ext,{}).
        Parameters:
        ext - some set of arguments
        semantics - some semantics.
        Returns:
        a probability
      • naiveUpdate

        public SubgraphProbabilityFunction naiveUpdate​(net.sf.tweety.arg.dung.semantics.Extension e)
        Updates this probability function with the given extension, i.e. all theories that do not contain the given arguments get probability zero. Afterwards the function is normalized.
        Parameters:
        e - some extension
        Returns:
        the updated probability function
      • simpleUpdate

        public SubgraphProbabilityFunction simpleUpdate​(net.sf.tweety.arg.dung.syntax.DungTheory theory)
        Updates this probability function with the given theory using "simple redistribution", cf. [Hunter, Thimm, 2015].
        Parameters:
        theory - some abstract theory
        Returns:
        the updated probability function
      • stickyUpdate

        public SubgraphProbabilityFunction stickyUpdate​(net.sf.tweety.arg.dung.syntax.DungTheory theory,
                                                        double stickyCoefficient)
        Updates this probability function with the given theory using "sticky redistribution", cf. [Hunter, Thimm, 2015].
        Parameters:
        theory - some abstract theory
        stickyCoefficient - the sticky coefficient
        Returns:
        the updated probability function
      • roughUpdate

        public SubgraphProbabilityFunction roughUpdate​(net.sf.tweety.arg.dung.syntax.DungTheory theory)
        Updates this probability function with the given theory using "rough redistribution", cf. [Hunter, Thimm, 2015].
        Parameters:
        theory - some abstract theory
        Returns:
        the updated probability function