Package com.helix.core.reorder
Class NeuralAstReorderingPolicy
java.lang.Object
com.helix.core.reorder.NeuralAstReorderingPolicy
- All Implemented Interfaces:
ReorderingPolicy
Neural AST Reordering Policy utilizing the embedded ast_reorder_policy.onnx model.
Encodes candidate AST node statistics into an 82-dimensional float observation vector,
evaluates candidate action logits via OnnxSessionPool, and applies action masking
to decode an optimal permutation sequence.
Seamlessly falls back to RatioSortPolicy if the neural policy model or
runtime session pool is unavailable.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondetermineOrder(List<NodeStats> nodes) Determines the optimal evaluation order of candidate AST clauses.voidencodeObservation(float[] obs, List<NodeStats> nodes, int n, int step) Encodes candidate node statistics into an 82-dimensional float observation vector.
-
Field Details
-
POLICY_MODEL_NAME
- See Also:
-
INPUT_TENSOR_NAME
- See Also:
-
OUTPUT_TENSOR_NAME
- See Also:
-
MAX_CANDIDATE_NODES
public static final int MAX_CANDIDATE_NODES- See Also:
-
OBSERVATION_DIM
public static final int OBSERVATION_DIM- See Also:
-
-
Constructor Details
-
NeuralAstReorderingPolicy
public NeuralAstReorderingPolicy() -
NeuralAstReorderingPolicy
-
-
Method Details
-
determineOrder
Description copied from interface:ReorderingPolicyDetermines the optimal evaluation order of candidate AST clauses.- Specified by:
determineOrderin interfaceReorderingPolicy- Parameters:
nodes- list of node statistics corresponding to candidate clauses- Returns:
- list of 0-based indices representing the new evaluation sequence
-
encodeObservation
Encodes candidate node statistics into an 82-dimensional float observation vector.- Parameters:
obs- 82-dimensional target float arraynodes- candidate nodesn- number of active candidate nodesstep- current decoding step (0 to n - 1)
-