concepts.dsl.learning.function_domain_search.FunctionDomainExpressionEnumerativeSearcher#
- class FunctionDomainExpressionEnumerativeSearcher[source]#
Bases:
object
An enumerator of expressions and functions for a function domain.
Methods
gen
([return_type, max_depth, ...])gen_constant_expressions
([return_type])Generate constant expressions of a set of given types.
Generate functions and function application expressions of a set of given types.
- __init__(domain)[source]#
Initialize the searcher.
- Parameters:
domain (DSLDomainBase) – the domain of the semantics.
- __new__(**kwargs)#
- gen(return_type=None, *, max_depth=3, max_variable_arguments=2, max_constant_arguments=1, max_function_arguments=0, search_constants=False, hash_function=None, verbose=False)[source]#
- Parameters:
return_type (ObjectType | ValueType | FunctionType | Tuple[ObjectType | ValueType | FunctionType, ...] | List[ObjectType | ValueType | FunctionType] | None)
max_depth (int)
max_variable_arguments (int)
max_constant_arguments (int)
max_function_arguments (int)
search_constants (bool)
hash_function (Callable[[Function | FunctionApplicationExpression], Any] | None)
verbose (bool)
- gen_constant_expressions(return_type=None)[source]#
Generate constant expressions of a set of given types.
- Parameters:
return_type (ObjectType | ValueType | FunctionType | Tuple[ObjectType | ValueType | FunctionType, ...] | List[ObjectType | ValueType | FunctionType] | None) – the return type of the expressions. If None, all types are allowed. It can be a single type, a tuple of types, or a list of types.
- Returns:
A list of constant expressions.
- Return type:
- gen_function_application_expressions(return_type=None, *, max_depth=3, max_variable_arguments=2, max_constant_arguments=1, max_function_arguments=0, search_constants=False, hash_function=None, verbose=False)[source]#
Generate functions and function application expressions of a set of given types.
- Parameters:
max_depth (int) – the maximum depth of the expressions.
return_type (ObjectType | ValueType | FunctionType | Tuple[ObjectType | ValueType | FunctionType, ...] | List[ObjectType | ValueType | FunctionType] | None) – the return type of the expressions. If None, all types are allowed. It can be a single type, a tuple of types, or a list of types.
max_variable_arguments (int) – the maximum number of variable arguments of the functions.
max_constant_arguments (int) – the maximum number of constant arguments of the functions. Note that when
search_constants
is True, this parameter corresponds to the maximum number of constant arguments bound to the function / function application expression.max_function_arguments (int) – the maximum number of arguments of the functions.
search_constants (bool) – whether to search for constants.
verbose (bool) – whether to print the search progress.
hash_function (Callable[[Function | FunctionApplicationExpression], Any] | None)
- Returns:
A list of function application expressions.
- Return type: