class_docstr: Implements methods for finding optimal (efficient) backdoor sets.
class_docstr_tok: ["Implements","methods","for","finding","optimal","(","efficient",")","backdoor","sets","."]
docstr: Method to compute the unblocked set of Z with respect to treatment.
  See Smucler, Sapienza and Rotnitzky (2021), Biometrika, for the full
  definition of this set.
  
  :params H: nx.Graph
      An undirected graph.
  :param Z: list
      A list with nodes in the graph H.
  :returns unblocked: set
      The unblocked set.
docstr_tok: ["Method","to","compute","the","unblocked","set","of","Z","with","respect","to","treatment",".","See","Smucler",",","Sapienza","and","Rotnitzky","(","2021",")",",","Biometrika",",","for","the","full","definition","of","this","set",".",":","params","H",":","nx.Graph","An","undirected","graph",".",":","param","Z",":","list","A","list","with","nodes","in","the","graph","H.",":","returns","unblocked",":","set","The","unblocked","set","."]
code: def unblocked(self, H, Z):
      """Method to compute the unblocked set of Z with respect to treatment.
      See Smucler, Sapienza and Rotnitzky (2021), Biometrika, for the full
      definition of this set.
  
      :params H: nx.Graph
          An undirected graph.
      :param Z: list
          A list with nodes in the graph H.
      :returns unblocked: set
          The unblocked set.
      """
  
      G2 = H.subgraph(H.nodes() - set(Z))
  
      B = nx.node_connected_component(G2, self.treatment_name)
  
      unblocked = set(nx.node_boundary(H, B))
      return unblocked
  
file_path: dowhy/dowhy/causal_identifier/efficient_backdoor.py
imports: from typing import List
  import networkx
  import numpy
label_desc: Use image node_id 7 for calling the EfficientBackdoor obj's underlying member method code with example usage: obj.unblocked(H, Z) and returns: unblocked