de.cit-ec.tcs.alignment:comparators
This module defines the interfaces for Comparators in the TCS Alignment Toolbox. A Comparator has
the purpose of defining the dissimilarity between elements in the input sequences of an
Alignment. More specific information on Comparators can be found in the 'Comparator' interface.
You can find a lot of helpful standard implementations of Comparators in the comparators-lib
module.
In the TCS Alignment Toolbox we require the output values of Comparators to lie in the range
[0,1]. Many natural dissimilarities on value sets do not meet this criterion, such that
additional normalization has to be applied. To that end this package also contains a Normalizer
interface for functions that map real values from the range [0, infinity) to the range [0,1].
This package also provides a few convenience implementations of the Comparator interface to make
the implementation of custom Comparators simpler, namely: SkipExtendedComparator,
ParameterLessSkipExtendedComparator, ComparisonBasedSkipExtendedComparator, and
ParameterLessComparisonBasedSkipExtendedComparator.
Finally the TCS Alignment Toolbox also provides the means to learn parameters of Comparators. To
enable that Comparators must implement the DerivableComparator interface to properly define the
parameters that can be learned and the gradient of the dissimilarity with respect to these
parameters. Gradients are stored using the Gradient interface as well as some convenience
implementations of said interface, namely EmptyGradient, SingletonGradient, ArrayGradient and
ListGradient.