A function that returns a universe of elements whose values do not change over time
A function that returns a universe describing the distribution over the initial state of the system
The transition model describing how the current state of the system depends on the static and previous, respectively
Number of particles to use at each time step
The number of threads over which to distribute the work of generating the particles at each step
Advance the filtering one time step, conditioning on the given evidence at the new time point.
Advance the filtering one time step, conditioning on the given evidence at the new time point.
The belief about the state of the system at the current point in time.
The belief about the state of the system at the current point in time.
Called when the algorithm is killed.
Called when the algorithm is killed. By default, does nothing. Can be overridden.
Returns the distribution over the element referred to by the reference at the current time point.
Returns the distribution over the element referred to by the reference at the current time point.
Returns the expectation of the element referred to by the reference under the given function at the current time point.
Returns the expectation of the element referred to by the reference under the given function at the current time point.
Returns the probability that the element referred to by the reference satisfies the given predicate at the current time point.
Returns the probability that the element referred to by the reference satisfies the given predicate at the current time point.
Returns the distribution over the element referred to by the reference at the current time point.
Returns the distribution over the element referred to by the reference at the current time point.
Returns the expectation of the element referred to by the reference under the given function at the current time point.
Returns the expectation of the element referred to by the reference under the given function at the current time point.
Returns the probability that the element referred to by the reference satisfies the given predicate at the current time point.
Returns the probability that the element referred to by the reference satisfies the given predicate at the current time point.
Returns the probability that the element referred to by the reference produces the given value at the current time point.
Returns the probability that the element referred to by the reference produces the given value at the current time point.
The computed log probability of evidence.
The computed log probability of evidence.
Called when the algorithm is started before running any steps.
Called when the algorithm is started before running any steps. By default, does nothing. Can be overridden.
Kill the algorithm so that it is inactive.
Kill the algorithm so that it is inactive. It will no longer be able to provide answers.Throws AlgorithmInactiveException if the algorithm is not active.
Number of particles to use at each time step
Number of particles to use at each time step
The computed probability of evidence.
The computed probability of evidence.
Resume the computation of the algorithm, if it has been stopped.
Resume the computation of the algorithm, if it has been stopped. Throws AlgorithmInactiveException if the algorithm is not active.
Run the algorithm, performing its computation to completion.
Run the algorithm, performing its computation to completion.
Start the algorithm and make it active.
Start the algorithm and make it active. After it returns, the algorithm must be ready to provide answers. Throws AlgorithmActiveException if the algorithm is already active.
Stop the algorithm from computing.
Stop the algorithm from computing. The algorithm is still ready to provide answers after it returns. Throws AlgorithmInactiveException if the algorithm is not active.
A parallel one-time particle filter. Distributes the work of generating particles at each time step over a specified number of threads. After generating the particles, they are recombined before re-sampling occurs. Instead of accepting initial and static universes as input, this method accepts functions that return universes. This is because each thread needs its own set of universes to work on. It is important that any elements created within those functions are explicitly assigned to the returned universe, not the implicit default universe.