diff options
| -rw-r--r-- | rst_parser/Makefile.am | 5 | ||||
| -rw-r--r-- | rst_parser/random_tree.cc | 36 | 
2 files changed, 40 insertions, 1 deletions
| diff --git a/rst_parser/Makefile.am b/rst_parser/Makefile.am index 4977f584..8650cdab 100644 --- a/rst_parser/Makefile.am +++ b/rst_parser/Makefile.am @@ -1,5 +1,5 @@  bin_PROGRAMS = \ -  mst_train rst_train rst_parse +  mst_train rst_train rst_parse random_tree  noinst_LIBRARIES = librst.a @@ -14,4 +14,7 @@ rst_train_LDADD = librst.a $(top_srcdir)/decoder/libcdec.a $(top_srcdir)/mteval/  rst_parse_SOURCES = rst_parse.cc  rst_parse_LDADD = librst.a $(top_srcdir)/decoder/libcdec.a $(top_srcdir)/mteval/libmteval.a $(top_srcdir)/utils/libutils.a ../klm/lm/libklm.a ../klm/util/libklm_util.a -lz +random_tree_SOURCES = random_tree.cc +random_tree_LDADD = librst.a $(top_srcdir)/decoder/libcdec.a $(top_srcdir)/mteval/libmteval.a $(top_srcdir)/utils/libutils.a ../klm/lm/libklm.a ../klm/util/libklm_util.a -lz +  AM_CPPFLAGS = -W -Wall -Wno-sign-compare $(GTEST_CPPFLAGS) -I$(top_srcdir)/decoder -I$(top_srcdir)/training -I$(top_srcdir)/utils -I$(top_srcdir)/mteval -I../klm diff --git a/rst_parser/random_tree.cc b/rst_parser/random_tree.cc new file mode 100644 index 00000000..23e6e7f7 --- /dev/null +++ b/rst_parser/random_tree.cc @@ -0,0 +1,36 @@ +#include "arc_factored.h" + +#include <vector> +#include <iostream> +#include <boost/program_options.hpp> +#include <boost/program_options/variables_map.hpp> + +#include "timing_stats.h" +#include "arc_ff.h" +#include "dep_training.h" +#include "stringlib.h" +#include "filelib.h" +#include "tdict.h" +#include "weights.h" +#include "rst.h" +#include "global_ff.h" + +using namespace std; +namespace po = boost::program_options; + +int main(int argc, char** argv) { +  if (argc != 2) { +    cerr << argv[0] << " N\n" << endl; +    return 1; +  } +  MT19937 rng; +  unsigned n = atoi(argv[1]); + +  ArcFactoredForest forest(n); +  TreeSampler ts(forest); +  EdgeSubset tree; +  ts.SampleRandomSpanningTree(&tree, &rng); +  cout << tree << endl; +  return 0; +} + | 
