Klasse AbstractAlgorithm

java.lang.Object
org.deidentifier.arx.algorithm.AbstractAlgorithm
Bekannte direkte Unterklassen:
DataDependentEDDPAlgorithm, FLASHAlgorithmImpl, GeneticAlgorithm, LIGHTNINGAlgorithm

public abstract class AbstractAlgorithm extends Object
Abstract class for an algorithm, which provides some generic methods.
  • Felddetails

  • Konstruktordetails

    • AbstractAlgorithm

      protected AbstractAlgorithm(SolutionSpace<?> solutionSpace, TransformationChecker checker, int timeLimit, int checkLimit)
      Initializes the algorithm
      Parameter:
      solutionSpace - The solution space
      checker - The checker
  • Methodendetails

    • getCheckCount

      public int getCheckCount()
      Return stuff for progress monitoring
      Gibt zurück:
    • getCheckLimit

      public int getCheckLimit()
      Return stuff for progress monitoring
      Gibt zurück:
    • getGlobalOptimum

      public Transformation<?> getGlobalOptimum()
      Returns the global optimum.
      Gibt zurück:
    • getTimeLimit

      public int getTimeLimit()
      Return stuff for progress monitoring
      Gibt zurück:
    • getTimeStart

      public long getTimeStart()
      Return stuff for progress monitoring
      Gibt zurück:
    • setListener

      public void setListener(ARXListener listener)
      Sets a listener
      Parameter:
      listener -
    • traverse

      public abstract boolean traverse()
      Implement this method in order to provide a new algorithm.
      Gibt zurück:
      Whether the result is optimal
    • computeUtilityForMonotonicMetrics

      protected void computeUtilityForMonotonicMetrics(Transformation<?> transformation)
      Determine information loss implied by the given transformation if it can be used for estimating minimum and maximum information loss for tagged nodes.
      Parameter:
      transformation -
    • mustStop

      protected boolean mustStop()
      Returns whether we have exceeded the allowed number of steps or time.
      Gibt zurück:
    • progress

      protected void progress(double progress)
      Propagate progress to listeners
      Parameter:
      progress -
    • startTraverse

      protected void startTraverse()
      Call before traversal
    • trackOptimum

      protected void trackOptimum(Transformation<?> transformation)
      Keeps track of the global optimum.
      Parameter:
      transformation -
    • trackProgressFromLimits

      protected void trackProgressFromLimits()
      Track progress from limits
    • trackProgressFromLimits

      protected void trackProgressFromLimits(double algorithmProgress)
      Track progress from limits
      Parameter:
      algorithmProgress -