GEDLIB  1.0
Private Member Functions | List of all members
ged::Refine< UserNodeLabel, UserEdgeLabel > Class Template Reference

Computes an upper bound for general edit costs. More...

#include <refine.hpp>

Inheritance diagram for ged::Refine< UserNodeLabel, UserEdgeLabel >:
Inheritance graph
[legend]

Private Member Functions

virtual void ls_run_from_initial_solution_ (const GEDGraph &g, const GEDGraph &h, double lower_bound, const NodeMap &initial_node_map, NodeMap &output_node_map) final
 Runs the local search from an initial node map. More...
 
virtual bool ls_parse_option_ (const std::string &option, const std::string &arg)
 Parses one option that is not among the ones shared by all derived classes of ged::LSBasedMethod. More...
 
virtual std::string ls_valid_options_string_ () const
 Returns string of all valid options that are not among the ones shared by all derived classes of ged::LSBasedMethod. More...
 
virtual void ls_set_default_options_ ()
 Sets all options that are not among the ones shared by all derived classes of ged::LSBasedMethod to default values. More...
 

Additional Inherited Members

- Public Member Functions inherited from ged::LSBasedMethod< UserNodeLabel, UserEdgeLabel >
virtual ~LSBasedMethod ()=0
 Pure virtual destructor. More...
 
 LSBasedMethod (const GEDData< UserNodeLabel, UserEdgeLabel > &ged_data)
 Constructor. More...
 
- Public Member Functions inherited from ged::GEDMethod< UserNodeLabel, UserEdgeLabel >
virtual ~GEDMethod ()=0
 Pure virtual destructor. More...
 
 GEDMethod (const GEDData< UserNodeLabel, UserEdgeLabel > &ged_data)
 Constructor. More...
 
void set_options (const std::string &options)
 Sets the options of the method. More...
 
void run (GEDGraph::GraphID g_id, GEDGraph::GraphID h_id)
 Runs the method with options specified by set_options(). More...
 
void run_as_util (const GEDGraph &g, const GEDGraph &h, Result &result)
 Runs the method with options specified by set_options(). More...
 
void init ()
 Initializes the method with options specified by set_options().
 
double get_upper_bound () const
 Returns an upper bound. More...
 
double get_lower_bound () const
 Returns a lower bound. More...
 
Seconds get_runtime () const
 Returns the runtime. More...
 
Seconds get_init_time () const
 Returns the initialization time. More...
 
const NodeMapget_node_map () const
 Returns a graph matching. More...
 
- Protected Attributes inherited from ged::LSBasedMethod< UserNodeLabel, UserEdgeLabel >
std::size_t num_threads_
 The number of threads to be used.
 
- Protected Attributes inherited from ged::GEDMethod< UserNodeLabel, UserEdgeLabel >
bool initialized_
 A flag that equals true if init() has been called and false otherwise.
 
const GEDData< UserNodeLabel, UserEdgeLabel > & ged_data_
 The data on which the method is run.
 

Detailed Description

template<class UserNodeLabel, class UserEdgeLabel>
class ged::Refine< UserNodeLabel, UserEdgeLabel >

Computes an upper bound for general edit costs.

Implements the methods Refine and K-Refine suggested in:

Supports the following options in addition tothe ones supported by ged::LSBasedMethod.

--<option> <arg> modified parameter default more information
--max-swap-size <convertible to int greater equal 2> maximum size of swap 2 If set to a value greater 2, K-Refine is used.
--naive TRUE|FALSE naive computation of swap cost FALSE If set to TRUE, the swap cost is computed naively.
--add-dummy-assignment TRUE|FALSE add dummy assignment to initial node map TRUE If FALSE, the swapped node maps never contain more insertions and deletions than the original node map.

Definition at line 47 of file refine.hpp.

Member Function Documentation

◆ ls_parse_option_()

template<class UserNodeLabel , class UserEdgeLabel >
bool ged::Refine< UserNodeLabel, UserEdgeLabel >::ls_parse_option_ ( const std::string &  option,
const std::string &  arg 
)
privatevirtual

Parses one option that is not among the ones shared by all derived classes of ged::LSBasedMethod.

Parameters
[in]optionThe name of the option.
[in]argThe argument of the option.
Returns
Returns true if option is a valid option name for the method and false otherwise.
Note
Must be overridden by derived classes of ged::LSBasedMethod that have options that are not among the ones shared by all derived classes of ged::LSBasedMethod.

Reimplemented from ged::LSBasedMethod< UserNodeLabel, UserEdgeLabel >.

Definition at line 152 of file refine.ipp.

◆ ls_run_from_initial_solution_()

template<class UserNodeLabel , class UserEdgeLabel >
void ged::Refine< UserNodeLabel, UserEdgeLabel >::ls_run_from_initial_solution_ ( const GEDGraph g,
const GEDGraph h,
double  lower_bound,
const NodeMap initial_node_map,
NodeMap output_node_map 
)
finalprivatevirtual

Runs the local search from an initial node map.

Parameters
[in]gInput graph.
[in]hInput graph.
[in]lower_boundA lower bound for GED which can be used as a termination criterion.
[in]initial_node_mapInitial node map.
[out]output_node_mapNode map constructed by local search.
Note
Must be overridden by derived classes of ged::LSBasedMethod.

Reimplemented from ged::LSBasedMethod< UserNodeLabel, UserEdgeLabel >.

Definition at line 49 of file refine.ipp.

◆ ls_set_default_options_()

template<class UserNodeLabel , class UserEdgeLabel >
void ged::Refine< UserNodeLabel, UserEdgeLabel >::ls_set_default_options_ ( )
privatevirtual

Sets all options that are not among the ones shared by all derived classes of ged::LSBasedMethod to default values.

Note
Must be overridden by derived classes of ged::LSBasedMethod that have options that are not among the ones shared by all derived classes of ged::LSBasedMethod.

Reimplemented from ged::LSBasedMethod< UserNodeLabel, UserEdgeLabel >.

Definition at line 189 of file refine.ipp.

◆ ls_valid_options_string_()

template<class UserNodeLabel , class UserEdgeLabel >
std::string ged::Refine< UserNodeLabel, UserEdgeLabel >::ls_valid_options_string_ ( ) const
privatevirtual

Returns string of all valid options that are not among the ones shared by all derived classes of ged::LSBasedMethod.

Returns
String of the form "[--<option> <arg>] [...]".
Note
Must be overridden by derived classes of ged::LSBasedMethod that have options that are not among the ones shared by all derived classes of ged::LSBasedMethod.

Reimplemented from ged::LSBasedMethod< UserNodeLabel, UserEdgeLabel >.

Definition at line 198 of file refine.ipp.


The documentation for this class was generated from the following files: