Class ProbabilisticSemiring

java.lang.Object
org.tweetyproject.math.algebra.Semiring<Double>
org.tweetyproject.math.algebra.ProbabilisticSemiring

public class ProbabilisticSemiring extends Semiring<Double>
This class represents a probabilistic (Viterbi) Semiring, where elements range between [0.0, 1.0].The addition operation corresponds to finding the maximum, 0.0 represents the additive identity, and 1.0 represents the multiplicative identity.
Author:
Sandra Hoffmann
  • Constructor Details

    • ProbabilisticSemiring

      public ProbabilisticSemiring()
      Constructs a ProbabilisticSemiring instance.
  • Method Details

    • validateAndReturn

      public Double validateAndReturn(Double value)
      Validates and returns the given probabilistic value.
      Overrides:
      validateAndReturn in class Semiring<Double>
      Parameters:
      value - The value to be validated.
      Returns:
      The validated value.
      Throws:
      IllegalArgumentException - If the value is outside the valid range [0.0, 1.0].
    • getRandomElement

      public Double getRandomElement()
      Generates a random Double element within the specified maximum value.
      Specified by:
      getRandomElement in class Semiring<Double>
      Returns:
      A random Double element.
    • divide

      public Double divide(Double dividend, Double divisor)
      Performs a custom division operation on two Double values within the context of a Probabilistic Semiring. If the divisor is greater than or equal to the dividend, returns the multiplicative identity (oneElement). Otherwise, returns the result of dividing the dividend by the divisor.
      Specified by:
      divide in class Semiring<Double>
      Parameters:
      dividend - The Double dividend.
      divisor - The Double divisor.
      Returns:
      The result of the custom division operation.