N
- the enum listing the nonterminal symbols for the input grammar.public class SoftADPFullAlgorithm<N extends Enum<N>> extends AbstractADPAlgorithm<SoftADPPathModel<N>,N>
Constructor and Description |
---|
SoftADPFullAlgorithm(Grammar<N> grammar,
AlignmentSpecification alignmentSpecification)
Creates a new SoftFullAlgorithm based on the given ADP grammar
and the given AlignmentSpecification/algebra.
|
Modifier and Type | Method and Description |
---|---|
double |
choice(double[] choices)
This should implement the choice function as the term is used
in the Bellman's Gap context.
|
double |
getApproxThreshold()
For more information on the ApproxThreshold have a look at the
Softmin class.
|
double |
getBeta() |
void |
setApproxThreshold(double approxThreshold)
For more information on the ApproxThreshold have a look at the
Softmin class.
|
void |
setBeta(double beta) |
SoftADPPathModel<N> |
transformToResult(EnumMap<N,double[][]> dpTables,
double[][] compareMatrix,
double[] deletionMatrix,
double[] insertionMatrix,
double[] skipDeletionMatrix,
double[] skipInsertionMatrix,
Sequence a,
Sequence b)
This method should not be called from outside!
The subclass uses this method to transform the alignment matrix and the
input sequences to the actual alignment result.
|
calculateAlignment, getGrammar, getResultClass, getSpecification, getWeightThreshold, setWeightThreshold
public SoftADPFullAlgorithm(Grammar<N> grammar, AlignmentSpecification alignmentSpecification)
grammar
- and ADP grammar.alignmentSpecification
- an AlignmentSpecification.public void setBeta(double beta)
beta
- The parameter defining the "softness" of the alignment. For
beta towards infinity this alignment becomes closer to the strict
alignment. For beta = 0 all possible alignments are equally considered
and softmin returns the average. Please note that a low beta value might
lead to a very rough approximation and that for higher sequence lengths
beta has to be higher, too.public double getBeta()
public double getApproxThreshold()
public void setApproxThreshold(double approxThreshold)
approxThreshold
- public double choice(double[] choices)
choice
in class AbstractADPAlgorithm<SoftADPPathModel<N extends Enum<N>>,N extends Enum<N>>
choices
- the costs of all choices.public SoftADPPathModel<N> transformToResult(EnumMap<N,double[][]> dpTables, double[][] compareMatrix, double[] deletionMatrix, double[] insertionMatrix, double[] skipDeletionMatrix, double[] skipInsertionMatrix, Sequence a, Sequence b)
transformToResult
in class AbstractADPAlgorithm<SoftADPPathModel<N extends Enum<N>>,N extends Enum<N>>
dpTables
- the dynamic programming matrices used during
calculation.compareMatrix
- the local cost for replacing node i from the first
sequence with node j from the second sequence.deletionMatrix
- the local cost for deleting node i from the first
sequence.insertionMatrix
- the local cost for inserting node j from the
second sequence into the first sequence.skipDeletionMatrix
- the local cost for skipping node i in the
first sequence.skipInsertionMatrix
- the local cost for skipping node j in the
second sequence.a
- the first sequence.b
- th second sequence.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