| @@ -0,0 +1,50 @@ | |||||
| #!/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 | |||||