Struct programinduction::Task
[−]
[src]
pub struct Task<'a, R: Send + Sync + Sized, X: Clone + Send + Sync, O: Sync> { pub oracle: Box<Fn(&R, &X) -> f64 + Send + Sync + 'a>, pub observation: O, pub tp: TypeSchema, }
A task which is solved by an expression under some representation.
A task can be made from an evaluator and examples with lambda::task_by_evaluation
or
pcfg::task_by_evaluation
.
Fields
oracle: Box<Fn(&R, &X) -> f64 + Send + Sync + 'a>
Evaluate an expression by getting its log-likelihood.
observation: O
Some program induction methods can take advantage of observations. This may often
practically be the unit type ()
.
tp: TypeSchema
An expression that is considered valid for the oracle
is one of this type.