You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

constant.py 1.2 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. """
  4. Created on Wed Jun 17 17:52:23 2020
  5. @author: ljia
  6. """
  7. from gklearn.ged.edit_costs import EditCost
  8. class Constant(EditCost):
  9. """Implements constant edit cost functions.
  10. """
  11. 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):
  12. self._node_ins_cost = node_ins_cost
  13. self._node_del_cost = node_del_cost
  14. self._node_rel_cost = node_rel_cost
  15. self._edge_ins_cost = edge_ins_cost
  16. self._edge_del_cost = edge_del_cost
  17. self._edge_rel_cost = edge_rel_cost
  18. def node_ins_cost_fun(self, node_label):
  19. return self._node_ins_cost
  20. def node_del_cost_fun(self, node_label):
  21. return self._node_del_cost
  22. def node_rel_cost_fun(self, node_label_1, node_label_2):
  23. if node_label_1 != node_label_2:
  24. return self._node_rel_cost
  25. return 0
  26. def edge_ins_cost_fun(self, edge_label):
  27. return self._edge_ins_cost
  28. def edge_del_cost_fun(self, edge_label):
  29. return self._edge_del_cost
  30. def edge_rel_cost_fun(self, edge_label_1, edge_label_2):
  31. if edge_label_1 != edge_label_2:
  32. return self._edge_rel_cost
  33. return 0

A Python package for graph kernels, graph edit distances and graph pre-image problem.