public class ZeroNormComparator extends ComparisonBasedSkipExtendedComparator<VectorialValue>
Constructor and Description |
---|
ZeroNormComparator(int dimensions) |
ZeroNormComparator(VectorialKeywordSpecification spec) |
Modifier and Type | Method and Description |
---|---|
double |
compare(VectorialValue a,
VectorialValue b)
This has to return a distance between a and b with the following
restrictions:
The return value has to lie between 0 and 1.
1 means maximum dissimilarity between a and b.
0 means maximum similarity between a and b (especially it should be
true that a = b implies a zero distance).
distance(a,b) should be equal or at least close to
distance(b,a)
Please note that this has to be well-defined, even if an input is null.
|
double |
comparisonDerivative(int i,
VectorialValue v,
VectorialValue v1)
This should implement the local derivative calculation in case of
comparisons.
|
static double |
distance(double[] left,
double[] right)
Calculates the zero norm distance between both input vectors, which is
equivalent to the number of unequal elements.
|
int |
getNumberOfComparisonParameters()
Implementing classes should return the number of (derivative-relevant)
parameters used for the compare-function.
|
ValueType |
getType() |
SparseLocalDerivative |
sparseComparisonDerivative(VectorialValue v,
VectorialValue v1)
This should implement the local derivative calculation in case of
comparisons.
|
calculateLocalDerivative, calculateSparseLocalDerivative, delete, equals, getDeleteComparison, getInsertComparison, getSkipDeleteComparison, getSkipFactor, getSkipInsertComparison, hashCode, insert, isDynamic, setDeleteComparison, setDynamic, setInsertComparison, setSkipDeleteComparison, setSkipFactor, setSkipInsertComparison, skipDelete, skipInsert
getDeletionCost, getInsertionCost, getNumberOfParameters, getResultClass, getSkipDeletionCost, getSkipInsertionCost, setDeletionCost, setInsertionCost, setSkipDeletionCost, setSkipInsertionCost, transformToResult
public ZeroNormComparator(VectorialKeywordSpecification spec)
public ZeroNormComparator(int dimensions)
public ValueType getType()
public double compare(VectorialValue a, VectorialValue b)
a
- the left input.b
- the right input.public static double distance(double[] left, double[] right)
left
- the first input vector.right
- the second input vector.public double comparisonDerivative(int i, VectorialValue v, VectorialValue v1)
comparisonDerivative
in class SkipExtendedComparator<VectorialValue>
i
- the index of the parameter the alignment is currently
derived to. Note that the first four parameters (0-3) are reserved for
the parameters of this superclass.v
- the value on the left side of the comparison.v1
- the value on the right side of the comparison.public SparseLocalDerivative sparseComparisonDerivative(VectorialValue v, VectorialValue v1)
sparseComparisonDerivative
in class SkipExtendedComparator<VectorialValue>
v
- the value on the left side of the comparison.v1
- the value on the right side of the comparison.public int getNumberOfComparisonParameters()
getNumberOfComparisonParameters
in class SkipExtendedComparator<VectorialValue>
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 . This documentation is licensed under the conditions of CC-BY-SA 4.0: https://creativecommons.org/licenses/by-sa/4.0/