Class Boss
- All Implemented Interfaces:
SuborderSearch
Implements the BOSS (Best Order Permutation Search) algorithm. This procedure uses an optimization of the BOSS algorithm (reference to be included in a future version), looking for a permutation such that when a DAG is built it has the fewest number of edges (i.e., is a most 'frugal' or a 'sparsest' DAG). Returns the CPDAG of this discovered frugal DAG.
Knowledge can be used with this search. If tiered knowledge is used, then the procedure is carried out for each tier separately, given the variable preceding that tier, which allows the SP algorithm to address tiered (e.g., time series) problems with larger numbers of variables.
This class is meant to be used in the context of the PermutationSearch class (see). the proper use is PermutationSearch search = new PermutationSearch(new Sp(score));
- Author:
- bryanandrews, josephramsey
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetScore()voidsearchSuborder(List<Node> prefix, List<Node> suborder, Map<Node, GrowShrinkTree> gsts) voidsetDepth(int depth) voidsetKnowledge(Knowledge knowledge) voidsetNumStarts(int numStarts)
-
Constructor Details
-
Boss
This algorithm will work with an arbitrary score.- Parameters:
score- The Score to use.
-
-
Method Details
-
searchSuborder
- Specified by:
searchSuborderin interfaceSuborderSearch
-
setDepth
public void setDepth(int depth) -
setKnowledge
- Specified by:
setKnowledgein interfaceSuborderSearch
-
setNumStarts
public void setNumStarts(int numStarts) -
getVariables
- Specified by:
getVariablesin interfaceSuborderSearch
-
getParents
- Specified by:
getParentsin interfaceSuborderSearch
-
getScore
- Specified by:
getScorein interfaceSuborderSearch
-