pub enum TNormKind {
Minimum,
Product,
Lukasiewicz,
Drastic,
NilpotentMinimum,
Hamacher,
}Expand description
T-norm (triangular norm) kinds for fuzzy AND operations. A t-norm is a binary operation T: [0,1] × [0,1] → [0,1] that is:
- Commutative: T(a,b) = T(b,a)
- Associative: T(a,T(b,c)) = T(T(a,b),c)
- Monotonic: If a ≤ b then T(a,c) ≤ T(b,c)
- Has 1 as identity: T(a,1) = a
Variants§
Minimum
Minimum t-norm (Gödel): T(a,b) = min(a,b) Standard fuzzy AND, also known as Zadeh t-norm
Product
Product t-norm: T(a,b) = a * b Probabilistic interpretation of independence
Lukasiewicz
Łukasiewicz t-norm: T(a,b) = max(0, a + b - 1) Strong conjunction in Łukasiewicz logic
Drastic
Drastic t-norm: T(a,b) = { b if a=1, a if b=1, 0 otherwise } Most restrictive t-norm
NilpotentMinimum
Nilpotent minimum: T(a,b) = { min(a,b) if a+b>1, 0 otherwise }
Hamacher
Hamacher product: T(a,b) = ab/(a+b-ab) for a,b > 0 Generalizes product t-norm
Trait Implementations§
Source§impl<'de> Deserialize<'de> for TNormKind
impl<'de> Deserialize<'de> for TNormKind
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Copy for TNormKind
impl Eq for TNormKind
impl StructuralPartialEq for TNormKind
Auto Trait Implementations§
impl Freeze for TNormKind
impl RefUnwindSafe for TNormKind
impl Send for TNormKind
impl Sync for TNormKind
impl Unpin for TNormKind
impl UnwindSafe for TNormKind
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more