class_docstr: Robustness verification for decision-tree-based models.
  Following the implementation in https://github.com/chenhongge/treeVerification (MIT License, 9 August 2019)
  
  | Paper link: https://arxiv.org/abs/1906.03849
docstr: Determine the leaf nodes accessible within the attack budget.
  
  :param i_sample: Index of training sample in `x`.
  :param eps: Attack budget epsilon.
  :param norm: The norm to apply epsilon.
  :param target_label: The target label.
  :return: A list of lists of leaf nodes.
docstr_tok: ["Determine","the","leaf","nodes","accessible","within","the","attack","budget",".",":","param","i_sample",":","Index","of","training","sample","in","`","x","`",".",":","param","eps",":","Attack","budget","epsilon",".",":","param","norm",":","The","norm","to","apply","epsilon",".",":","param","target_label",":","The","target","label",".",":","return",":","A","list","of","lists","of","leaf","nodes","."]
code: def _get_accessible_leaves(
      self,
      i_sample: int,
      eps: float,
      norm: float,
      target_label: Optional[int],
  ) -> List[List[LeafNode]]:
      """
      Determine the leaf nodes accessible within the attack budget.
  
      :param i_sample: Index of training sample in `x`.
      :param eps: Attack budget epsilon.
      :param norm: The norm to apply epsilon.
      :param target_label: The target label.
      :return: A list of lists of leaf nodes.
      """
      accessible_leaves = []
  
      for tree in self._trees:
          if (
              self._classifier.nb_classes <= 2
              or target_label is None
              or tree.class_id in [self.y[i_sample], target_label]
          ):
              leaves = []
  
              for leaf_node in tree.leaf_nodes:
                  distance = self._get_distance(
                      leaf_node.box, i_sample, norm
                  )
                  if leaf_node.box and distance <= eps:
                      leaves.append(leaf_node)
  
              if not leaves:  # pragma: no cover
                  raise ValueError("No accessible leaves found.")
  
              accessible_leaves.append(leaves)
  
      return accessible_leaves
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import logging
  from typing import Dict, List, Optional, Tuple, Union, TYPE_CHECKING
  import numpy
  from tqdm.auto import trange
  from art.utils import check_and_transform_label_format
label_desc: Use image node_id 6 for calling the RobustnessVerificationTreeModelsCliqueMethod obj's underlying member method code with example usage: obj._get_accessible_leaves(i_sample, eps, norm, target_label) and returns: accessible_leaves