GEDLIB  1.0
Public Member Functions | List of all members
ged::EditCosts< UserNodeLabel, UserEdgeLabel > Class Template Referenceabstract

Abstract class for defining edit cost functions. More...

#include <edit_costs.hpp>

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

Public Member Functions

virtual ~EditCosts ()=0
 Virtual destructor. More...
 
 EditCosts ()
 Constructor.
 
virtual double node_ins_cost_fun (const UserNodeLabel &node_label) const
 Node insertions cost function. More...
 
virtual double node_del_cost_fun (const UserNodeLabel &node_label) const
 Node deletion cost function. More...
 
virtual double node_rel_cost_fun (const UserNodeLabel &node_label_1, const UserNodeLabel &node_label_2) const
 Node relabeling cost function. More...
 
virtual void vectorize_node_label (const UserNodeLabel &node_label, std::vector< double > &vector_representation) const
 Computes a node label's representation as a real-valued vector. More...
 
virtual double edge_ins_cost_fun (const UserEdgeLabel &edge_label) const
 Edge insertion cost function. More...
 
virtual double edge_del_cost_fun (const UserEdgeLabel &edge_label) const
 Edge deletion cost function. More...
 
virtual double edge_rel_cost_fun (const UserEdgeLabel &edge_label_1, const UserEdgeLabel &edge_label_2) const
 Edge relabeling cost function. More...
 
virtual void vectorize_edge_label (const UserEdgeLabel &edge_label, std::vector< double > &vector_representation) const
 Computes an edge label's representation as a real-valued vector. More...
 

Detailed Description

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

Abstract class for defining edit cost functions.

Definition at line 38 of file edit_costs.hpp.

Constructor & Destructor Documentation

◆ ~EditCosts()

template<class UserNodeLabel , class UserEdgeLabel >
ged::EditCosts< UserNodeLabel, UserEdgeLabel >::~EditCosts ( )
pure virtual

Virtual destructor.

Note
Must be implemented by derived classes of ged::EditCosts.

Definition at line 34 of file edit_costs.ipp.

Member Function Documentation

◆ edge_del_cost_fun()

template<class UserNodeLabel , class UserEdgeLabel >
double ged::EditCosts< UserNodeLabel, UserEdgeLabel >::edge_del_cost_fun ( const UserEdgeLabel &  edge_label) const
virtual

◆ edge_ins_cost_fun()

template<class UserNodeLabel , class UserEdgeLabel >
double ged::EditCosts< UserNodeLabel, UserEdgeLabel >::edge_ins_cost_fun ( const UserEdgeLabel &  edge_label) const
virtual

◆ edge_rel_cost_fun()

template<class UserNodeLabel , class UserEdgeLabel >
double ged::EditCosts< UserNodeLabel, UserEdgeLabel >::edge_rel_cost_fun ( const UserEdgeLabel &  edge_label_1,
const UserEdgeLabel &  edge_label_2 
) const
virtual

Edge relabeling cost function.

Parameters
[in]edge_label_1An edge label.
[in]edge_label_2An edge label.
Returns
The cost of changing an edge's label from edge_label_1 to edge_label_2.
Note
Must be implemented by derived classes of ged::EditCosts.

Reimplemented in ged::GREC2< UserNodeLabel, UserEdgeLabel >, ged::CHEM2< UserNodeLabel, UserEdgeLabel >, ged::CMU< UserNodeLabel, UserEdgeLabel >, ged::Protein< UserNodeLabel, UserEdgeLabel >, ged::CHEM1< UserNodeLabel, UserEdgeLabel >, ged::Letter< UserNodeLabel, UserEdgeLabel >, ged::Fingerprint< UserNodeLabel, UserEdgeLabel >, ged::GREC1< UserNodeLabel, UserEdgeLabel >, and ged::Constant< UserNodeLabel, UserEdgeLabel >.

Definition at line 71 of file edit_costs.ipp.

◆ node_del_cost_fun()

template<class UserNodeLabel , class UserEdgeLabel >
double ged::EditCosts< UserNodeLabel, UserEdgeLabel >::node_del_cost_fun ( const UserNodeLabel &  node_label) const
virtual

◆ node_ins_cost_fun()

template<class UserNodeLabel , class UserEdgeLabel >
double ged::EditCosts< UserNodeLabel, UserEdgeLabel >::node_ins_cost_fun ( const UserNodeLabel &  node_label) const
virtual

◆ node_rel_cost_fun()

template<class UserNodeLabel , class UserEdgeLabel >
double ged::EditCosts< UserNodeLabel, UserEdgeLabel >::node_rel_cost_fun ( const UserNodeLabel &  node_label_1,
const UserNodeLabel &  node_label_2 
) const
virtual

Node relabeling cost function.

Parameters
[in]node_label_1A node label.
[in]node_label_2A node label.
Returns
The cost of changing a node's label from node_label_1 to node_label_2.
Note
Must be implemented by derived classes of ged::EditCosts.

Reimplemented in ged::GREC2< UserNodeLabel, UserEdgeLabel >, ged::CHEM2< UserNodeLabel, UserEdgeLabel >, ged::Protein< UserNodeLabel, UserEdgeLabel >, ged::CHEM1< UserNodeLabel, UserEdgeLabel >, ged::CMU< UserNodeLabel, UserEdgeLabel >, ged::Letter< UserNodeLabel, UserEdgeLabel >, ged::Fingerprint< UserNodeLabel, UserEdgeLabel >, ged::GREC1< UserNodeLabel, UserEdgeLabel >, and ged::Constant< UserNodeLabel, UserEdgeLabel >.

Definition at line 57 of file edit_costs.ipp.

◆ vectorize_edge_label()

template<class UserNodeLabel , class UserEdgeLabel >
void ged::EditCosts< UserNodeLabel, UserEdgeLabel >::vectorize_edge_label ( const UserEdgeLabel &  edge_label,
std::vector< double > &  vector_representation 
) const
virtual

Computes an edge label's representation as a real-valued vector.

Parameters
[in]edge_labelAn edge label.
[out]vector_representationThe edge label's vector representation.
Note
May be implemented by derived classes of ged::EditCosts.

Definition at line 92 of file edit_costs.ipp.

◆ vectorize_node_label()

template<class UserNodeLabel , class UserEdgeLabel >
void ged::EditCosts< UserNodeLabel, UserEdgeLabel >::vectorize_node_label ( const UserNodeLabel &  node_label,
std::vector< double > &  vector_representation 
) const
virtual

Computes a node label's representation as a real-valued vector.

Parameters
[in]node_labelA node label.
[out]vector_representationThe node label's vector representation.
Note
May be implemented by derived classes of ged::EditCosts.

Reimplemented in ged::CMU< UserNodeLabel, UserEdgeLabel >.

Definition at line 64 of file edit_costs.ipp.


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