libDAI
evidence.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_evidence_h
14 #define __defined_libdai_evidence_h
15 
16 
17 #include <istream>
18 #include <dai/daialg.h>
19 
20 
21 namespace dai {
22 
23 
25 
30 class Evidence {
31  public:
33  typedef std::map<Var, size_t> Observation;
34 
35  private:
37  std::vector<Observation> _samples;
38 
39  public:
41  Evidence() : _samples() {}
42 
44  Evidence( std::vector<Observation> &samples ) : _samples(samples) {}
45 
47 
52  void addEvidenceTabFile( std::istream& is, FactorGraph& fg );
53 
55  size_t nrSamples() const { return _samples.size(); }
56 
58 
59  typedef std::vector<Observation>::iterator iterator;
62  typedef std::vector<Observation>::const_iterator const_iterator;
63 
65  iterator begin() { return _samples.begin(); }
67  const_iterator begin() const { return _samples.begin(); }
69  iterator end() { return _samples.end(); }
71  const_iterator end() const { return _samples.end(); }
73 
74  private:
76  void addEvidenceTabFile( std::istream& is, std::map<std::string, Var> &varMap );
77 };
78 
79 
80 } // end of namespace dai
81 
82 
83 #endif
Represents a factor graph.
Definition: factorgraph.h:65
size_t nrSamples() const
Returns number of stored samples.
Definition: evidence.h:55
Evidence(std::vector< Observation > &samples)
Construct from samples.
Definition: evidence.h:44
void addEvidenceTabFile(std::istream &is, FactorGraph &fg)
Read in tabular data from a stream and add the read samples to *this.
Definition: evidence.cpp:21
Evidence()
Default constructor.
Definition: evidence.h:41
Stores a data set consisting of multiple samples, where each sample is the observed joint state of so...
Definition: evidence.h:30
iterator end()
Returns iterator that points beyond the last sample.
Definition: evidence.h:69
std::map< Var, size_t > Observation
Stores joint state of a set of variables.
Definition: evidence.h:33
std::vector< Observation > _samples
Each sample is an observed joint state of some variables.
Definition: evidence.h:37
const_iterator begin() const
Returns constant iterator that points to the first sample.
Definition: evidence.h:67
Namespace for libDAI.
Definition: alldai.cpp:16
Defines the general interface for inference methods in libDAI (classes InfAlg, DaiAlg<>, DaiAlgFG and DaiAlgRG).
std::vector< Observation >::iterator iterator
Iterator over the samples.
Definition: evidence.h:60
std::vector< Observation >::const_iterator const_iterator
Constant iterator over the samples.
Definition: evidence.h:62
const_iterator end() const
Returns constant iterator that points beyond the last sample.
Definition: evidence.h:71
iterator begin()
Returns iterator that points to the first sample.
Definition: evidence.h:65