Package de.citec.tcs.alignment

This module defines the interface for AlignmentAlgorithms as well as some helper classes.

See: Description

Package de.citec.tcs.alignment Description

This module defines the interface for AlignmentAlgorithms as well as some helper classes. An AlignmentAlgorithm computes an alignment of two given input sequences, given an AlignmentSpecification. An AlignmentSpecification in turn is a vector of Comparators (refer to the respective module for more information), such that the distance between two elements of the input sequences can be computed. In that sense all an AlignmentAlgorithm has to do is to implement the computation of an Alignment, under the assumption that a distance between sequence elements is given as the weighted sum of comparator distances, as specified in the AlignmentSpecification. An AlignmentAlgorithm does not need to calculate just a real-valued distance between the input sequences but may also provide additional information about the alignment in order to calculate a derivative. To store such additional information this module contains the AlignmentDerivativeAlgorithm. A usual implementation of this is classic backtracing, which can be stored in an AlignmentPath object. If an AlignmentAlgorithm returns several possible AlignmentPaths, they can be stored in the PathList or PathMap datastructure. To make an alignment distance differentiable, we usually employ the Softmin approximation of the strict minimum. A standard implementation is provided in the Softmin class. For faster (parallel) computation of many different alignments or derivatives we also provide the ParallelProcessingEngine, the ParallelDerivativeEngine and the ParallelWeightDerivativeEngine.
Author:
Benjamin Paassen - bpaassen@techfak.uni-bielefeld.de

Copyright (C) 2013-2015 Benjamin Paaßen, Georg Zentgraf, AG Theoretical Computer Science, Centre of Excellence Cognitive Interaction Technology (CITEC), University of Bielefeld, licensed under the AGPL v. 3: http://openresearch.cit-ec.de/projects/tcs