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.