Class CTBNHillClimbingHybridAlgorithm

java.lang.Object
es.upm.fi.cig.multictbnc.learning.structure.optimisation.hillclimbing.implementation.CTBNHillClimbingIndividual
es.upm.fi.cig.multictbnc.learning.structure.hybrid.hillclimbing.CTBNHillClimbingHybridAlgorithm
All Implemented Interfaces:
HillClimbingImplementation

public class CTBNHillClimbingHybridAlgorithm extends CTBNHillClimbingIndividual
Implements the maximisation phase (hill climbing algorithm) of the hybrid structure learning algorithm for continuous-time Bayesian networks.
  • Constructor Details

    • CTBNHillClimbingHybridAlgorithm

      public CTBNHillClimbingHybridAlgorithm(CTBNScoreFunction scoreFunction, boolean[][] initialAdjacencyMatrix)
      Initialises the algorithm by proving a score function and an initial adjacency matrix for the continuous-time Bayesian network.
      Parameters:
      scoreFunction - score function
      initialAdjacencyMatrix - adjacency matrix of the initial structure
  • Method Details

    • findBestNeighbor

      protected HillClimbingSolution findBestNeighbor(CTBN<? extends Node> ctbn, int idxNode, boolean[][] adjacencyMatrix, Map<Long,Double> cache)
      Description copied from class: CTBNHillClimbingIndividual
      Finds the best neighbour for a CTBN node.
      Overrides:
      findBestNeighbor in class CTBNHillClimbingIndividual
      Parameters:
      ctbn - continuous-time Bayesian network that contains the node
      idxNode - node index
      adjacencyMatrix - current adjacency matrix
      cache - cache used to avoid recomputing scores
      Returns:
      a HillClimbingSolution with the adjacency matrix and score of the best neighbour