concepts.dm.pdsketch.executor#

This file contains the executor classes for the PDSketch framework.

All the executors are based on TensorValue classes. It supports all expressions defined in expressions, including the basic function application expressions and a few first-order logic expression types. The executors are designed to be “differentiable”, which means we can directly do backpropagation on the computed values.

The main entry for the executor is the PDSketchExecutor class. Internally it contains two executor implementations: the basic one, and an “optimistic” one, which handles the case where the value of a variable can be unknown and “optimistic”.

Functions

config_function_implementation([function, ...])

Configure the implementation of a function in a domain.

expand_argument_values(argument_values)

Expand a list of argument values to the same batch size.

wrap_singletime_function_to_iterator(...)

Wrap a function that returns a single value to an iterator function.

Classes

GeneratorManager

The GeneratorManager is used to manage calls to generators in the function dmoain.

PDSketchExecutionCSPVisitor

PDSketchExecutionDefaultVisitor

The underlying default implementation for PDSketchExecutor.

PDSketchExecutor

Planning domain expression executor.

PDSketchSGC

PDSketchSGC(state: concepts.dm.pdsketch.domain.State, goal: concepts.dsl.expression.Expression, constraints: Sequence[concepts.dsl.expression.Expression])

PythonFunctionCrossRef

PythonFunctionRef

A reference to a Python function.

StateDefinitionHelper

A helper class to define the planning domain state (State).