java.lang.Object
de.uka.ipd.sdq.dsexplore.bayesnets.searchers.HillClimber

public class HillClimber extends Object
HillClimber is an algortihm which is used to search Bayesian networks that model the data very well. Here is a description: For any pair of nodes, there can be an edge between them in either direction, or there may not be an edge. Starting with an empty network structure, the three options above are applied between every pair of nodes, and whatever option improves the score of the network is kept.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    main(String[] args)
     
    int[][]
    search(int[][] DataMatrix, int MaxNoOfParents)
    This method searches the best bayesian networks in the search space using the hill climber algortihm.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • HillClimber

      public HillClimber()
  • Method Details

    • main

      public static void main(String[] args)
    • search

      public int[][] search(int[][] DataMatrix, int MaxNoOfParents)
      This method searches the best bayesian networks in the search space using the hill climber algortihm. It returns the best Bayesian network it has found over its search as an adjacency matrix.
      Parameters:
      DataMatrix - - The matrix containing data. Each row represents a data instance
      MaxNoOfParents - - The maximum number of parents any node in the network can have. In short, it is an upper bound on the number of parents any node could have in the Bayesian network, while the search takes place.
      Returns:
      An Adjacency matrix of the best learnt Bayesian network.