Class ReversalIndependentDistanceDouble

  • All Implemented Interfaces:

    public final class ReversalIndependentDistanceDouble
    extends Object
    implements PermutationDistanceMeasurerDouble

    This class implements the concept of a reversal independent distance measure. This is relevant if the permutation and its reverse have the same problem dependent interpretation.

    In this case, this class computes the minimum of distance(p1,p2) and distance(p1,reverse(p2)) for a given distance measure passed as a parameter to the constructor.

    • Constructor Detail

      • ReversalIndependentDistanceDouble

        public ReversalIndependentDistanceDouble​(PermutationDistanceMeasurerDouble d)
        Constructs a distance measure for measuring distance with reversal independence, such that distance = min { distance(p1,p2), distance(p1,reverse(p2)) }
        d - A distance measure.
    • Method Detail

      • distancef

        public double distancef​(Permutation p1,
                                Permutation p2)
        Measures the distance between two permutations, with reversal independence: distance = min { distance(p1,p2), distance(p1,reverse(p2)) }
        Specified by:
        distancef in interface PermutationDistanceMeasurerDouble
        p1 - first permutation
        p2 - second permutation
        distance between p1 and p2
        IllegalArgumentException - if p1.length() is not equal to p2.length().