Package org.tweetyproject.math.algebra
Class BottleneckSemiring
This class represents a Bottleneck Semiring.
In this semiring, the multiplication operation corresponds to finding the maximum of two weights,
the addition operation corresponds to finding the minimum, 0.0 represents the
additive identity, and Double.Positive_Infitity represents the multiplicative identity.
- Author:
- Sandra Hoffmann
-
Constructor Summary
ConstructorDescriptionConstructs a BottleneckSemiring instance.BottleneckSemiring
(double maxWeight) Constructs a BottleneckSemiring instance with a max weight. -
Method Summary
Modifier and TypeMethodDescriptionPerforms a custom division operation on two Double values within the context of a Bottleneck Semiring.Generates a random Double element within the specified maximum value.validateAndReturn
(Double value) Validates and returns the given value if valid.Methods inherited from class org.tweetyproject.math.algebra.Semiring
add, betterOrSame, getAddition, getMultiplication, getOneElement, getZeroElement, multiply, toNumericalValue
-
Constructor Details
-
BottleneckSemiring
public BottleneckSemiring()Constructs a BottleneckSemiring instance. -
BottleneckSemiring
public BottleneckSemiring(double maxWeight) Constructs a BottleneckSemiring instance with a max weight.- Parameters:
maxWeight
- max weight
-
-
Method Details
-
validateAndReturn
Validates and returns the given value if valid.- Overrides:
validateAndReturn
in classSemiring<Double>
- Parameters:
value
- The value to be validated.- Returns:
- The validated value.
- Throws:
IllegalArgumentException
- If the value is outside the valid range [0.0, maxValue].
-
getRandomElement
Generates a random Double element within the specified maximum value.- Specified by:
getRandomElement
in classSemiring<Double>
- Returns:
- A random Double element.
-
divide
Performs a custom division operation on two Double values within the context of a Bottleneck Semiring. If the divisor is greater than or equal to the dividend, returns the dividend. Otherwise, returns the divisor.
-