Removed x2x
[libdai.git] / STATUS
diff --git a/STATUS b/STATUS
index f34afcc..de239bb 100644 (file)
--- a/STATUS
+++ b/STATUS
@@ -1,55 +1,34 @@
-- Idea: a FactorGraph and a RegionGraph are often equipped with
-extra properties for nodes and edges. The code to initialize those
-is often quite similar; maybe this can be abstracted to classes
-like ExtFactorGraph and ExtRegionGraph (Ext stands for Extended), e.g.
-template <typename NodeProperties, typename EdgeProperties>
-class ExtFactorGraph : public FactorGraph {
-       public:
-               std::vector<NodeProperties>               nodeProps;
-               std::vector<std::vector<EdgeProperties> > edgeProps;
-       // blabla
-}
-A disadvantage of this approach may be worse cachability.
-- http://www.boost.org/development/requirements.html#Design_and_Programming
-- Would it be a good idea to cache second-order neighborhoods (delta's) in BipGraph?
-- Would it be a good idea to add the variable label -> index hashmap in FactorGraph,
-  to replace the linear searches that are performed every time for findVar()?
-  No, a better idea is to avoid calls to findVar() as much as possible.
+OPTIMIZATION:
+- BipartiteGraph::isConnected should be optimized using boost::graph
 - Can the FactorGraph constructors be optimized further?
-- Move FactorGraph::_normType somewhere else (maybe to InfAlg or DAIAlg<T>)
-- Remove updatedFactor
-- Add Exceptions framework; this can e.g. be used as follows: if *.logZ() is
-called, it can return an exception if this method is not implemented, and the
-caller can catch this exception and handle it correctly. Then, you don't need
-a hasLogZ function/constant that tells whether this functionality is available.
-- Add an option to tests/test that it doesn't report the time needed; this is
-useful for the regression testing.
+- Cache second-order neighborhoods (delta's) in BipGraph?
+- Would it be a good idea to remove the states() caching from VarSet? 
+  Then, we could turn a VarSet into an IndexSet (set of integers).
+  This may restrict the use of findVar().
 
-DONE IN PREVIOUS COMMITS:
-- Added a few methods to BipartiteGraph
-- Improved ClusterGraph implementation (taken from SVN head)
-- Improved MaxSpanningTree algorithm (using boost::graph library, taken from SVN head)
-- Updated doxygen.conf
-- Made compatible with Visual C++
-- Merged improved index.h from svn
-- Rename stateSpace -> states
-- Optimized Diffs
-- Renamed Regenerate() -> create() 
+- Idea: use a PropertySet as output of a DAIAlg, instead of functions like maxDiff and Iterations().
+- A DAIAlg<T> should not inherit from a FactorGraph/RegionGraph, but should store a reference to it
+- Add max-product to BP
 
 TODO FOR RELEASE:
-- Test Visual C++ compatibility
+- http://www.boost.org/development/requirements.html#Design_and_Programming
+- Test {Visual C++, cygwin, gcc various version} compatibility; state tested compilers/build environments in README
 - Figure out which libraries are required and document in README
-  boost headers, boost::program_options library
+  boost headers, boost::program_options library, boost::graph library,
+  boost::math library (under Windows)
+- Change email address
+
+FILES IN SVN HEAD RELEVANT FOR A LATER RELEASE:
+       matlab/dai_potstrength.*
+       matlab/dai_bpconvbound.*
+       utils/fg2dot.cpp
+       utils/viewfg
+       tests/aliases.conf
+       tests/testall
+       tests/test.cpp ("limit")
+       all subdirs not included in git:
+               bugs, experimental, tests/errorbounds, tests/kees, tests/large, tests/ldpc, tests/uai
 
-FILES IN SVN HEAD THAT ARE NO LONGER RELEVANT FOR GIT MASTER
-diffs.h
-index.h
-util.h
-util.cpp
-bipgraph.h
-weightedgraph.h
-clustergraph.h
-clustergraph.cpp
-varset.h
-var.h
-utils/createfg.cpp
+DOCUMENTATION READY:
+- bipgraph.h, bipgraph.cpp
+- var.h