Evidence Optimization

Optimization can be used to intelligently search possible sets of evidence in order to minimize or maximize any of the following:

  • A function variable (based on an arbitrary expression)
  • A continuous variable
  • A discrete state



  • Fixed evidence - the optimizer can be configured to include fixed evidence, that does not change during the optimization process. In the User Interface, it will automatically use any evidence currently set. Note that a variable with fixed evidence set cannot be included as an input to the optimizer.

  • Allow missing - when true the optimizer will consider missing values in the sets of possible solutions. Can be configured per variable.

  • Evidence kind - Discrete variables can have either Hard or Soft/Virtual evidence set during optimization. Can be configured per variable.

  • Intervention Type - A variable can be configured so that an Intervention is perform instead of standard evidence.

For an introduction to to causal optimization please see Introduction to causality | the science of measuring and optimizing cause & effect

  • Add current queries - When a function is being optimized, the function and possibly others it depends on may reference the means or probabilities of other variables in an expression. When this is the case the optimizer will need to perform these additional queries. In the User Interface when this option is true, all queries currently used in the network viewer will be added.



Bounds can be set on continuous variables and discrete states (in soft/virtual evidence mode).

The User Interface allows you to automatically configure lower and upper bounds for continuous variables using standard deviations from the current mean (taking into account any fixed evidence).


Genetic optimizer

Uses a genetic algorithm to search possible evidence sets.

Optimal solutions are not guaranteed, so it can be useful to run the optimizer multiple times.


When Simplify is set to true in the user interface, an additional algorithm is run, that attempts to reduce the number of variables set, while maintaining the best solution to within a specified tolerance.

The chart point markers change to indicate when simplification is being performed.