14 using namespace shogun;
21 register_parameters();
29 register_parameters();
36 register_parameters();
52 #ifdef USE_REFERENCE_COUNTING
54 SG_DEBUG(
"CFactorGraph::~CFactorGraph(): m_factors->ref_count() = %d.\n",
m_factors->ref_count());
57 SG_DEBUG(
"CFactorGraph::~CFactorGraph(): m_datasources->ref_count() = %d.\n",
m_datasources->ref_count());
59 SG_DEBUG(
"CFactorGraph::~CFactorGraph(): this->ref_count() = %d.\n", this->ref_count());
63 void CFactorGraph::register_parameters()
73 void CFactorGraph::init()
82 #ifdef USE_REFERENCE_COUNTING
84 SG_DEBUG(
"CFactorGraph::init(): m_factors->ref_count() = %d.\n",
m_factors->ref_count());
101 if (m_dset->get_connected())
102 m_dset->set_connected(
false);
188 cumprod_cards[n] = num_assig;
193 for (int32_t ei = 0; ei < num_assig; ++ei)
212 if (m_dset->get_connected())
224 int32_t r0 = m_dset->find_set(vars[0]);
225 for (int32_t vi = 1; vi < vars.
size(); vi++)
230 int32_t ri = m_dset->find_set(vars[vi]);
238 r0 = m_dset->link_set(r0, ri);
244 m_dset->set_connected(
true);
254 return (m_dset->get_num_sets() == 1);
259 return (
m_has_cycle ==
false && m_dset->get_num_sets() == 1);
269 if (loss.
size() == 0)
275 int32_t num_vars = states_gt.
size();
288 for (int32_t vi = 0; vi < vars.
size(); vi++)
290 int32_t vv = vars[vi];
296 for (int32_t ei = 0; ei < energies.
size(); ei++)
302 if (states_gt[vv] == vstate)