TBMLib 0.1.0
dotnet add package TBMLib --version 0.1.0
NuGet\Install-Package TBMLib -Version 0.1.0
<PackageReference Include="TBMLib" Version="0.1.0" />
paket add TBMLib --version 0.1.0
#r "nuget: TBMLib, 0.1.0"
// Install TBMLib as a Cake Addin
#addin nuget:?package=TBMLib&version=0.1.0
// Install TBMLib as a Cake Tool
#tool nuget:?package=TBMLib&version=0.1.0
Transferable Belief Model (TBM)
This library implements some TBM functions for transforming bbas along with some normalization, combination, discounting rules and others. More information and references on TBM can be found on Wikipedia.
License : LGPL V2.1
BBA transformations
These functions have been ported from Philippe Smets Matlab functions (link). Some examples are provided below. Please refer to the unit tests for a complete overview.
//BBA m to commonality Q
double[] m = { 0.09, 0.3, 0.6, 0.01 };
double[] q = BeliefFunctions.Instance.MtoQ(m);
// q = {1.0, 0.31, 0.61, 0.01}
//BBA m to probabilities
double[] m = { 0.09, 0.3, 0.6, 0.01 };
double[] betp = BeliefFunctions.Instance.BetP(m);
// betp = {0.335, 0.664}
BBAs combination rules
The library implements the Conjunctive Rule of Combination (CRC), the Disjunctive Rule of Combination (DRC), the Cautious Conjunctive rule of Combination (CCRC) and the Bold Disjunctive Rule of Combination (BDRC). See the following publication for more details.
Examples:
//CRC combination rule
double[] m = { 0.09, 0.3, 0.6, 0.01 };
ICombinationStrategy strategy = new CRC<NoNormalization>();
double[] m = strategy.Combine(m, m, out double[] pre_normalization);
// m = {0.5319, 0.0960, 0.3720, 0.0001}
BBA normalization rules
The library implements Dempster, Yager and Dubois-Prade normalization rules. See the following publication for more details.
Examples:
//Dubois-Prade normalization rule
double[] m1 = { 0.0, 0.5421, 0.2953, 0.0, 0.0924, 0.0, 0.0, 0.0702 };
double[] m2 = { 0.0, 0.2022, 0.6891, 0.0, 0.0084, 0.0, 0.0, 0.1003 };
ICombinationStrategy strategy = new CRC<DuboisPradeNormalizationStrategy>();
double[] m = strategy.Combine(m1, m2, out double[] pre_normalization);
// m = {0.0, 0.178, 0.281, 0.433, 0.01, 0.023, 0.066, 0.007}
BBA discounting
The library implements the classical discounting (all hypothesis are discounted by a common factor) and the contextual discounting (a discounting factor is associated with each hypothesis). See the following publication for more details.
Example:
//Contextual discounting
double[] m = { 0.0, 0.5, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0 };
double[] d = { 0.4, 0.6, 0.0 };
double[] result = new ContextualDiscounting().Discount(m, d);
// result = {0.0, 0.2, 0.0, 0.3, 0.12, 0.08, 0.18, 0.12}
BBA from singletons
In the following publication is explained how to retrieve BBA from singletons whose values correspond to likelihoods obtained from probability density functions.
Example:
double[] likelihoods = { 0.053, 0.109 };
double[] q = HelperMethods.Instance.GetQFromSingletons(likelihoods);
// q = {1.0, 0.053, 0.109, 0.005}
In the following publication is explained how to retrieve BBA from singletons whose values correspond to possibilities obtained from possibility distributions.
Example:
double[] possibilities = { 0.4, 0.4 };
double[] pl = HelperMethods.Instance.GetPlFromSingletons(possibilities);
// pl = {0.0, 0.4, 0.4, 0.4}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net45 is compatible. net451 was computed. net452 was computed. net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
-
.NETFramework 4.5
- Accord (>= 3.8.0)
- Accord.Math (>= 3.8.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|