#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Wed Jun 17 17:52:23 2020 @author: ljia """ from gklearn.ged.edit_costs import EditCost class Constant(EditCost): """Implements constant edit cost functions. """ def __init__(self, node_ins_cost=1, node_del_cost=1, node_rel_cost=1, edge_ins_cost=1, edge_del_cost=1, edge_rel_cost=1): self._node_ins_cost = node_ins_cost self._node_del_cost = node_del_cost self._node_rel_cost = node_rel_cost self._edge_ins_cost = edge_ins_cost self._edge_del_cost = edge_del_cost self._edge_rel_cost = edge_rel_cost def node_ins_cost_fun(self, node_label): return self._node_ins_cost def node_del_cost_fun(self, node_label): return self._node_del_cost def node_rel_cost_fun(self, node_label_1, node_label_2): if node_label_1 != node_label_2: return self._node_rel_cost return 0 def edge_ins_cost_fun(self, edge_label): return self._edge_ins_cost def edge_del_cost_fun(self, edge_label): return self._edge_del_cost def edge_rel_cost_fun(self, edge_label_1, edge_label_2): if edge_label_1 != edge_label_2: return self._edge_rel_cost return 0