be9e25f9d43189176f0d3fd093e301486fd2a7f5
[libdai.git] / STATUS
1 - Idea: a FactorGraph and a RegionGraph are often equipped with
2 extra properties for nodes and edges. The code to initialize those
3 is often quite similar; maybe this can be abstracted to classes
4 like ExtFactorGraph and ExtRegionGraph (Ext stands for Extended), e.g.
5 template <typename NodeProperties, typename EdgeProperties>
6 class ExtFactorGraph : public FactorGraph {
7 public:
8 std::vector<NodeProperties> nodeProps;
9 std::vector<std::vector<EdgeProperties> > edgeProps;
10 // blabla
11 }
12 A disadvantage of this approach may be worse cachability.
13 - BipartiteGraph::isConnected should be optimized.
14 - http://www.boost.org/development/requirements.html#Design_and_Programming
15 - Would it be a good idea to cache second-order neighborhoods (delta's) in BipGraph?
16 - Would it be a good idea to add the variable label -> index hashmap in FactorGraph,
17 to replace the linear searches that are performed every time for findVar()?
18 No, a better idea is to avoid calls to findVar() as much as possible.
19 - Can the FactorGraph constructors be optimized further?
20 - Solve the proliferation of type checks for all different ENUM's in
21 properties.cpp
22
23 TODO FOR RELEASE:
24 - Test Visual C++ compatibility
25 - Figure out which libraries are required and document in README
26 boost headers, boost::program_options library, boost::graph library,
27 boost::math library (under Windows)
28
29 FILES IN SVN HEAD THAT ARE NO LONGER RELEVANT FOR GIT MASTER
30 diffs.h
31 index.h
32 util.h
33 util.cpp
34 bipgraph.h
35 weightedgraph.h
36 clustergraph.h
37 clustergraph.cpp
38 varset.h
39 var.h
40 utils/createfg.cpp
41 exceptions.h
42 exceptions.cpp
43 enum.h
44
45 DOCUMENTATION READY:
46 - bipgraph.h, bipgraph.cpp
47 - var.h