code: def __lt__(self, other):
      if (
          abs(
              (self.matched_cost + self.future_approximate_cost)
              - (other.matched_cost + other.future_approximate_cost)
          )
          > EPSILON
      ):
          return (self.matched_cost + self.future_approximate_cost) < (
              other.matched_cost + other.future_approximate_cost
          )
      elif abs(self.matched_cost - other.matched_cost) > EPSILON:
          return other.matched_cost < self.matched_cost
          # matched cost is closer to reality
      else:
          return (
              len(self.unprocessed_nodes_G1)
              + len(self.unprocessed_nodes_G2)
              + len(self.unprocessed_edges_G1)
              + len(self.unprocessed_edges_G2)
          ) < (
              len(other.unprocessed_nodes_G1)
              + len(other.unprocessed_nodes_G2)
              + len(other.unprocessed_edges_G1)
              + len(other.unprocessed_edges_G2)
          )
  
file_path: dgl/examples/pytorch/graph_matching/ged.py
imports: from copy import deepcopy
  from heapq import heapify, heappop, heappush, nsmallest
  import dgl
  import numpy
  from lapjv import lapjv
label_desc: Use image node_id 2 for calling the search_tree_node obj's underlying member method code with example usage: obj.__lt__(other) and returns: unknown, unknown, unknown