class_docstr: Base class for Noisy-Or models.
  
  This is an implementation of generalized Noisy-Or models and
  is not limited to Boolean variables and also any arbitrary
  function can be used instead of the boolean OR function.
  
  Reference: http://xenon.stanford.edu/~srinivas/research/6-UAI93-Srinivas-Generalization-of-Noisy-Or.pdf
docstr: Init method for NoisyOrModel.
  
  Parameters
  ----------
  variables: list, tuple, dict (array like)
      array containing names of the variables.
  
  cardinality: list, tuple, dict (array like)
      array containing integers representing the cardinality
      of the variables.
  
  inhibitor_probability: list, tuple, dict (array_like)
      array containing the inhibitor probabilities of each variable.
  
  Examples
  --------
  >>> from pgmpy.models import NoisyOrModel
  >>> model = NoisyOrModel(['x1', 'x2', 'x3'], [2, 3, 2], [[0.6, 0.4],
  ...                                                      [0.2, 0.4, 0.7],
  ...                                                      [0.1, 0.4]])
docstr_tok: ["Init","method","for","NoisyOrModel",".","Parameters","--","--","--","--","--","variables",":","list",",","tuple",",","dict","(","array","like",")","array","containing","names","of","the","variables",".","cardinality",":","list",",","tuple",",","dict","(","array","like",")","array","containing","integers","representing","the","cardinality","of","the","variables",".","inhibitor_probability",":","list",",","tuple",",","dict","(","array_like",")","array","containing","the","inhibitor","probabilities","of","each","variable",".","Examples","--","--","--","--",">",">",">","from","pgmpy.models","import","NoisyOrModel",">",">",">","model","=","NoisyOrModel","(","[","'x1","'",",","'x2","'",",","'x3","'","]",",","[","2",",","3",",","2","]",",","[","[","0.6",",","0.4","]",",","...","[","0.2",",","0.4",",","0.7","]",",","...","[","0.1",",","0.4","]","]",")"]
code: def __init__(self, variables, cardinality, inhibitor_probability):
      # TODO: Accept values of each state so that it could be
      # put into F to compute the final state values of the output
      """
      Init method for NoisyOrModel.
  
      Parameters
      ----------
      variables: list, tuple, dict (array like)
          array containing names of the variables.
  
      cardinality: list, tuple, dict (array like)
          array containing integers representing the cardinality
          of the variables.
  
      inhibitor_probability: list, tuple, dict (array_like)
          array containing the inhibitor probabilities of each variable.
  
      Examples
      --------
      >>> from pgmpy.models import NoisyOrModel
      >>> model = NoisyOrModel(['x1', 'x2', 'x3'], [2, 3, 2], [[0.6, 0.4],
      ...                                                      [0.2, 0.4, 0.7],
      ...                                                      [0.1, 0.4]])
      """
      self.variables = np.array([])
      self.cardinality = np.array([], dtype=int)
      self.inhibitor_probability = []
      self.add_variables(variables, cardinality, inhibitor_probability)
  
imports: from itertools import chain
  import numpy
  import networkx
label_desc: Use image node_id 1 to create a new NoisyOrModel object from inherited base classes: nx with example: obj = NoisyOrModel(variables, cardinality, inhibitor_probability)