Class FuzzySemiring

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

public class FuzzySemiring extends Semiring<Double>
This class represents a Fuzzy Semiring, where elements are interpreted as degrees of truth in the range [0.0, 1.0].The multiplication operation corresponds to finding the minimum of two weights, while 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

    • FuzzySemiring

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

    • validateAndReturn

      public Double validateAndReturn(Double value)
      Validates and returns the given fuzzy value.
      Overrides:
      validateAndReturn in class Semiring<Double>
      Parameters:
      value - The fuzzy value to be validated.
      Returns:
      The validated fuzzy 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 Fuzzy Semiring. If the divisor is less than or equal to the dividend, returns the additive identity (zeroElement). Otherwise, returns the dividend.
      Specified by:
      divide in class Semiring<Double>
      Parameters:
      dividend - The Double dividend.
      divisor - The Double divisor.
      Returns:
      The result of the custom division operation.