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.