Class SimulatedAnnealingFrontierStrategy<B extends Bigraph<? extends Signature<?>>>

java.lang.Object
org.bigraphs.framework.simulation.modelchecking.ModelCheckingStrategySupport<B>
org.bigraphs.framework.simulation.modelchecking.SimulatedAnnealingFrontierStrategy<B>
Type Parameters:
B - the type of bigraph elements processed by this strategy
All Implemented Interfaces:
ModelCheckingStrategy<B>

public abstract class SimulatedAnnealingFrontierStrategy<B extends Bigraph<? extends Signature<?>>> extends ModelCheckingStrategySupport<B>
This class is an abstraction of a model checking strategy based on the Simulated Annealing algorithm.

This strategy is implemented using a cooling schedule, which helps in controlling the temperature of the annealing process. The temperature influences the probability of moving to a state of lower quality, allowing the algorithm to potentially escape local optima in the search space.

When computing state (bigraph) similarity via a kernel, the normalized kernel will be computed by this strategy afterward (kTilde(Bigraph, Bigraph).

The class is designed to be extended and requires subclasses to provide implementations for some specific methods such as:

  • graphKernel(Bigraph, Bigraph): Calculation of a graph kernel for computing similarity between two bigraphs
  • SimulatedAnnealingFrontierStrategy.CoolingSchedules: Default implementations are provided such as linear, geometric and logarithmic cooling.
  • Field Details

    • energyEps

      protected double energyEps
    • internalStop

      protected volatile boolean internalStop
    • fairnessK

      protected final int fairnessK
      Fairness: every fairnessK expansions, do one FIFO expansion.
    • epochSize

      protected final int epochSize
      Cool temperature after n iterations of an epoch before starting a new epoch.
    • goalExemplars

      protected final List<B extends Bigraph<? extends Signature<?>>> goalExemplars
      Goal prototype states
    • fifoQueue

      protected final Deque<B extends Bigraph<? extends Signature<?>>> fifoQueue
      Frontier as fairness queue
    • energyCache

      protected final Map<B extends Bigraph<? extends Signature<?>>,Double> energyCache
      Caches
    • temperature

      protected double temperature
      State variables of the SA algorithms
    • iterationInEpoch

      protected int iterationInEpoch
    • currentEpoch

      protected int currentEpoch
    • maxEpoch

      public int maxEpoch
    • fairnessCounter

      protected int fairnessCounter
  • Constructor Details

    • SimulatedAnnealingFrontierStrategy

      public SimulatedAnnealingFrontierStrategy(List<B> goalExemplars, double initialTemperature, int epochSize, int fairnessK)
  • Method Details