libDAI
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
include
dai
decmap.h
Go to the documentation of this file.
1
/* This file is part of libDAI - http://www.libdai.org/
2
*
3
* Copyright (c) 2006-2011, The libDAI authors. All rights reserved.
4
*
5
* Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
6
*/
7
8
11
12
13
#ifndef __defined_libdai_decmap_h
14
#define __defined_libdai_decmap_h
15
16
17
#include <
dai/daialg.h
>
18
19
20
namespace
dai {
21
22
24
28
class
DecMAP
:
public
DAIAlgFG
{
29
private
:
31
std::vector<size_t>
_state
;
33
Real
_logp
;
35
Real
_maxdiff
;
37
size_t
_iters
;
38
39
public
:
41
struct
Properties
{
43
size_t
verbose
;
44
46
bool
reinit
;
47
49
std::string
ianame
;
50
52
PropertySet
iaopts
;
53
} props;
54
55
public
:
57
DecMAP
() :
DAIAlgFG
(),
_state
(),
_logp
(),
_maxdiff
(),
_iters
(), props() {}
58
60
63
DecMAP
(
const
FactorGraph
&
fg
,
const
PropertySet
&opts );
64
65
67
68
virtual
DecMAP
*
clone
()
const
{
return
new
DecMAP
(*
this
); }
69
virtual
DecMAP
*
construct
(
const
FactorGraph
&
fg
,
const
PropertySet
&opts )
const
{
return
new
DecMAP
( fg, opts ); }
70
virtual
std::string
name
()
const
{
return
"DECMAP"
; }
71
virtual
Factor
belief
(
const
Var
&v )
const
{
return
beliefV
( findVar( v ) ); }
72
virtual
Factor
belief
(
const
VarSet
&
/*vs*/
)
const
;
73
virtual
Factor
beliefV
(
size_t
i )
const
;
74
virtual
Factor
beliefF
(
size_t
I )
const
{
return
belief
( factor(I).vars() ); }
75
virtual
std::vector<Factor>
beliefs
()
const
;
76
virtual
Real
logZ
()
const
{
return
_logp
; }
77
virtual
std::vector<size_t>
findMaximum
()
const
{
return
_state
; }
78
virtual
void
init
() {
_maxdiff
= 0.0;
_iters
= 0; }
79
virtual
void
init
(
const
VarSet
&
/*ns*/
) {
init
(); }
80
virtual
Real
run
();
81
virtual
Real
maxDiff
()
const
{
return
_maxdiff
; }
82
virtual
size_t
Iterations
()
const
{
return
_iters
; }
83
virtual
void
setProperties
(
const
PropertySet
&opts );
84
virtual
PropertySet
getProperties
()
const
;
85
virtual
std::string
printProperties
()
const
;
87
};
88
89
90
}
// end of namespace dai
91
92
93
#endif
Generated on Mon Sep 17 2012 12:30:34 for libDAI by
1.8.1.2