code: def get_different_pipelines(individuals: List[Individual]):
      """This function removes individuals with identical graphs in a given list of individuals.
  
      Args:
          individuals: list of Individual objects.
  
      Returns:
          list of Individuals with different graphs. Given individuals with identical graph individual
          with better (smaller) fitness is taken.
      """
      sorted_inds = sorted(
          individuals, key=lambda x: x.fitness, reverse=True
      )
      graph_list = []
      new_inds = []
      for s in sorted_inds:
          if np.array(
              [
                  get_distance_between(
                      s.graph, x, compare_node_params=False
                  )
                  > 0
                  for x in graph_list
              ]
          ).all():
              graph_list.append(s.graph)
              new_inds.append(s)
      return new_inds
  
file_path: FEDOT/fedot/core/pipelines/prediction_intervals/utils.py
imports: import numpy
  from typing import List
  from fedot.core.pipelines.ts_wrappers import fitted_values
  from fedot.core.pipelines.pipeline import Pipeline
  from fedot import Fedot
  from fedot.core.data.data import InputData
  from golem.core.optimisers.opt_history_objects.individual import Individual
  from fedot.core.pipelines.prediction_intervals.params import PredictionIntervalsParams
  from fedot.core.pipelines.prediction_intervals.graph_distance import get_distance_between
label_desc: Use image node_id 2 for calling a global function with example usage: get_different_pipelines(individuals) and returns: new_inds