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 forbidden set with respect to treatment and
   outcome.
  
  :returns forbidden: set
      The forbidden set.
docstr_tok: ["Method","to","compute","the","forbidden","set","with","respect","to","treatment","and","outcome",".",":","returns","forbidden",":","set","The","forbidden","set","."]
code: def forbidden(self):
      """Method to compute the forbidden set with respect to treatment and
       outcome.
  
      :returns forbidden: set
          The forbidden set.
      """
      forbidden = set()
  
      for node in self.causal_vertices():
          forbidden = forbidden.union(
              nx.descendants(self.graph, node).union({node})
          )
  
      return forbidden.union({self.treatment_name})
  
file_path: dowhy/dowhy/causal_identifier/efficient_backdoor.py
imports: from typing import List
  import networkx
  import numpy
label_desc: Use image node_id 5 for calling the EfficientBackdoor obj's underlying member method code with example usage: obj.forbidden() and returns: forbidden