aGrUM  0.14.2
localSearchWithTabuList.h
Go to the documentation of this file.
1 /***************************************************************************
2  * Copyright (C) 2005 by Christophe GONZALES and Pierre-Henri WUILLEMIN *
3  * {prenom.nom}@lip6.fr *
4  * *
5  * This program is free software; you can redistribute it and/or modify *
6  * it under the terms of the GNU General Public License as published by *
7  * the Free Software Foundation; either version 2 of the License, or *
8  * (at your option) any later version. *
9  * *
10  * This program is distributed in the hope that it wil be useful, *
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13  * GNU General Public License for more details. *
14  * *
15  * You should have received a copy of the GNU General Public License *
16  * along with this program; if not, write to the *
17  * Free Software Foundation, Inc., *
18  * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
19  ***************************************************************************/
32 #ifndef GUM_LEARNING_LOCAL_SEARCH_WITH_TABU_LIST_H
33 #define GUM_LEARNING_LOCAL_SEARCH_WITH_TABU_LIST_H
34 
35 #include <string>
36 #include <vector>
37 
38 #include <agrum/BN/BayesNet.h>
40 #include <agrum/graphs/DAG.h>
41 
42 namespace gum {
43 
44  namespace learning {
45 
59  public:
60  // ##########################################################################
62  // ##########################################################################
64 
67 
70 
73 
75  virtual ~LocalSearchWithTabuList();
76 
78 
79  // ##########################################################################
81  // ##########################################################################
83 
86 
89 
91 
92  // ##########################################################################
94  // ##########################################################################
96 
99 
103 
105 
110  template < typename GRAPH_CHANGES_SELECTOR >
111  DAG learnStructure(GRAPH_CHANGES_SELECTOR& selector,
112  DAG initial_dag = DAG());
113 
115  template < typename GUM_SCALAR = double,
116  typename GRAPH_CHANGES_SELECTOR,
117  typename PARAM_ESTIMATOR >
118  BayesNet< GUM_SCALAR > learnBN(GRAPH_CHANGES_SELECTOR& selector,
119  PARAM_ESTIMATOR& estimator,
120  DAG initial_dag = DAG());
121 
123 
124  private:
127  };
128 
129  } /* namespace learning */
130 
131 } /* namespace gum */
132 
134 #ifndef GUM_NO_INLINE
136 #endif /* GUM_NO_INLINE */
137 
140 
141 #endif /* GUM_LEARNING_LOCAL_SEARCH_WITH_TABU_LIST_H */
Class representing a Bayesian Network.
Definition: BayesNet.h:76
This file contains general scheme for iteratively convergent algorithms.
Approximation Scheme.
LocalSearchWithTabuList()
default constructor
LocalSearchWithTabuList & operator=(const LocalSearchWithTabuList &from)
copy operator
Class representing Bayesian networks.
gum is the global namespace for all aGrUM entities
Definition: agrum.h:25
The local search with tabu list learning algorithm (for directed graphs)
virtual ~LocalSearchWithTabuList()
destructor
ApproximationScheme & approximationScheme()
returns the approximation policy of the learning algorithm
BayesNet< GUM_SCALAR > learnBN(GRAPH_CHANGES_SELECTOR &selector, PARAM_ESTIMATOR &estimator, DAG initial_dag=DAG())
learns the structure and the parameters of a BN
Size __MaxNbDecreasing
the max number of changes decreasing the score that we allow to apply
The local search with tabu list learning algorithm (for directed graphs)
The local search learning algorithm (for directed graphs)
DAG learnStructure(GRAPH_CHANGES_SELECTOR &selector, DAG initial_dag=DAG())
learns the structure of a Bayes net
std::size_t Size
In aGrUM, hashed values are unsigned long int.
Definition: types.h:45
void setMaxNbDecreasingChanges(Size nb)
set the max number of changes decreasing the score that we allow to apply
Base class for dag.
Definition: DAG.h:99
Base classes for directed acyclic graphs.