Removed x2x
[libdai.git] / STATUS
diff --git a/STATUS b/STATUS
index a05c444..de239bb 100644 (file)
--- a/STATUS
+++ b/STATUS
-- 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.
-A problem is if there are nog properties for nodes (type 1), nodes (type 2)
-or edges. Maybe this can be solved using specializations, or using variadac
-template arguments or something similar?
-- BipartiteGraph::isConnected should be optimized.
-- 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?
-- Remove x2x?
-- Add iterations (like maxdiff, but counts iterations) to some algorithms
-  Idea: use a PropertySet as output of a DAIAlg
-- A DAIAlg<T> should not inherit from a FactorGraph/RegionGraph, but should store a
-reference to it
-- limit???
+- 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().
+
+- 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::graph library,
   boost::math library (under Windows)
 - Change email address
 
-FILES IN SVN HEAD THAT ARE NO LONGER RELEVANT FOR GIT MASTER:
-diffs.h
-index.h
-util.h
-util.cpp
-bipgraph.h
-weightedgraph.h
-weightedgraph.cpp
-clustergraph.h
-clustergraph.cpp
-varset.h
-var.h
-utils/createfg.cpp
-exceptions.h
-exceptions.cpp
-enum.h
-doxygen.conf
-example.cpp
-FILEFORMAT
-Makefile
-exact.h
-exact.cpp
-alldai.h
-alldai.cpp
-properties.h
-properties.cpp
-factor.h
-prob.h
-factorgraph.h
-factorgraph.cpp
-regiongraph.h
-regiongraph.cpp
-daialg.h
-daialg.cpp
-matlab/
-       dai.cpp
-       dai.m
-       dai_potstrength.cpp
-       dai_potstrength.m
-       dai_readfg.cpp
-       dai_readfg.m
-       dai_writefg.cpp
-       dai_writefg.m
-       matlab.cpp
-       matlab.h
-
-utils/
-       fg2dot.cpp
-       fginfo.cpp
-       createfg.cpp
-       viewfg
-tests/
-       alarm.fg
-       hoi1.fg
-       hoi2.fg
-       hoi3.fg
-       hoi4.fg
-       testfast.fg
-       aliases.conf
-       testall
-       testregression
-       test.cpp
-
-FILES IN SVN HEAD THAT ARE STILL RELEVANT:
-ChangeLog
-README
-TODO
-
-bp.h
-bp.cpp
-hak.h
-hak.cpp
-jtree.h
-jtree.cpp
-lc.h
-lc.cpp
-mf.h
-mf.cpp
-mr.h
-mr.cpp
-treeep.h
-treeep.cpp
-
-
 FILES IN SVN HEAD RELEVANT FOR A LATER RELEASE:
        matlab/dai_potstrength.*
        matlab/dai_bpconvbound.*
@@ -125,6 +25,9 @@ FILES IN SVN HEAD RELEVANT FOR A LATER RELEASE:
        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
 
 DOCUMENTATION READY:
 - bipgraph.h, bipgraph.cpp