Skip to content

Search Space

The following are built-in operators which constitute the search space:

  • +: The output of the computation \(x_j\) is the sum over its inputs \(x_i, x_{ii}\): \(x_j = x_i + x_{ii}\).
  • -: The output of the computation \(x_j\) is the respective difference between its inputs \(x_i, x_{ii}\): \(x_j = x_i - x_{ii}\).
  • *: The output of the computation \(x_j\) is the product over its two inputs \(x_i, x_{ii}\): \(x_j = x_i * x_{ii}\).
  • exp: The output of the computation \(x_j\) is the natural exponential function applied to its input \(x_i\): \(x_j = \exp(x_i)\).
  • pow2: The output of the computation \(x_j\) is the square function applied to its input \(x_i\): \(x_j\) = \(x_i^2\).
  • pow3: The output of the computation \(x_j\) is the cube function applied to its input \(x_i\): \(x_j\) = \(x_i^3\).
  • sin: The output of the computation \(x_j\) is the sine function applied to its input \(x_i\): \(x_j = \sin(x_i)\).
  • cos: The output of the computation \(x_j\) is the cosine function applied to its input \(x_i\): \(x_j = \cos(x_i)\).
  • ln: The output of the computation \(x_j\) is the linear transformation applied to its input \(x_i\): \(x_j = a * x_i + b\), where \(a\) and \(b\) are slope and intercept parameters.

In BSR, a new operator can be added in two steps. First, define an operator as a function, as demonstrated in operations.py. Second, add the name of the operator and its prior information to the dictionaries in __get_prior() within prior.py.