📄 graphalgorithms.h.svn-base
字号:
#ifndef GRAPHALGORITHMS_H#define GRAPHALGORITHMS_H#include <boost/graph/adjacency_list.hpp>#include <boost/graph/graph_traits.hpp>#include <boost/graph/visitors.hpp>class Potential;//************** Graph Algorithms Declaration *************//template <class Graph> void setup_message_computation(Graph &, const typename boost::graph_traits<Graph>::vertex_descriptor, const typename boost::graph_traits<Graph>::vertex_descriptor);template <class Graph> void setup_gibbs_proposal(Graph &, const typename boost::graph_traits<Graph>::vertex_descriptor);template <class Graph> void setup_tree_gibbs_sampler(Graph &, std::vector < std::vector <double> > &, std::vector < Potential * > &);template <class Graph> void cleanup_tree_gibbs_sampler(Graph &, std::vector < Potential * > &);template <class Graph> void remove_temp_observations(Graph &);template <class Graph> void set_temp_observations(Graph &);template <class Graph> void initialize_graph_variables_random( Graph &);template <class Graph> void belief_propagation(Graph &);template <class Graph> void belief_propagation_with_backward_sampling(Graph &);template <class Graph> void loopy_belief_propagation(Graph &, const unsigned int, const bool = false);template <class Graph> void forward_filtering_backward_sampling(Graph &);template <class Graph> void gibbs_sampler(Graph &, const unsigned int, const unsigned int = 0, const bool = false);template <class Graph> void tree_gibbs_sampler (Graph &, const unsigned int, const unsigned int = 0, const bool = true, const bool = false);//template <class Graph> void tree_gibbs_sampler_implementation (Graph &, const unsigned int, const unsigned int);//************** End of Graph Algorithms Declaration *************////************** Visitor RecordParent Declaration *************//template <class Graph>class RecordParent : public boost::base_visitor <RecordParent <Graph> >{ public: typedef boost::on_tree_edge event_filter; RecordParent ( Graph &); template <class Edge> void operator()(Edge, const Graph &); Graph & g;};//************** End of Visitor RecordParent Declaration *************////************** End of Collect Declaration *************//template <class Graph>class Collect : public boost::base_visitor <Collect <Graph> >{public: typedef boost::on_finish_vertex event_filter; Collect(Graph &); template <class VertexDescriptor> void operator()(VertexDescriptor, const Graph &); Graph & g;};//************** End of Visitor Collect Declaration *************////************** Visitor Distribute Declaration *************//template <class Graph>class Distribute : public boost::base_visitor<Distribute <Graph> > {public: typedef boost::on_discover_vertex event_filter; Distribute(Graph &); template <class Vertex> void operator()(Vertex, const Graph &); Graph & g;};//************** End of Visitor Distribute Declaration *************////************** Visitor BackwardSampling Declaration *************//template <class Graph>class BackwardSampling : public boost::base_visitor<BackwardSampling <Graph> > {public: typedef boost::on_discover_vertex event_filter; BackwardSampling(Graph &); template <class Vertex> void operator()(Vertex, const Graph & ); Graph & g;};//************** End of BackwardSampling Declaration *************//#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -