1 /** 2 * 3 * Copyright (c) 2005-2021 by Pierre-Henri WUILLEMIN(_at_LIP6) & Christophe GONZALES(_at_AMU) 4 * info_at_agrum_dot_org 5 * 6 * This library is free software: you can redistribute it and/or modify 7 * it under the terms of the GNU Lesser General Public License as published by 8 * the Free Software Foundation, either version 3 of the License, or 9 * (at your option) any later version. 10 * 11 * This library is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public License 17 * along with this library. If not, see <http://www.gnu.org/licenses/>. 18 * 19 */ 20 21 22 /** 23 * @file 24 * @brief the type of algorithm to use to perform relevant reasoning in 25 * Bayes net inference 26 * 27 * @author Christophe GONZALES(_at_AMU) and Pierre-Henri WUILLEMIN(_at_LIP6) 28 */ 29 #ifndef GUM_RELEVANT_POTENTIAL_FINDER_TYPE_H 30 #define GUM_RELEVANT_POTENTIAL_FINDER_TYPE_H 31 32 namespace gum { 33 34 35 /** @brief type of algorithm for determining the relevant potentials for 36 * combinations using some d-separation analysis 37 * 38 * When constructing messages from one clique to its neighbor, we can 39 * exploit d-separation to determine that some potentials are irrelevant for 40 * the message computation. So we can discard them and, thereby, speed-up 41 * the computations. 42 */ 43 enum class RelevantPotentialsFinderType 44 { 45 FIND_ALL, // do not perform d-separation analysis 46 DSEP_BAYESBALL_NODES, // BayesBall requisite nodes -> potentials 47 DSEP_BAYESBALL_POTENTIALS, // BayesBall requisite potentials (directly) 48 DSEP_KOLLER_FRIEDMAN_2009 // Koller & Friedman 2009 requisite potentials 49 }; 50 51 } // namespace gum 52 53 54 #endif // GUM_RELEVANT_POTENTIAL_FINDER_TYPE_H 55