Class NeuralAstReorderingPolicy

java.lang.Object
com.helix.core.reorder.NeuralAstReorderingPolicy
All Implemented Interfaces:
ReorderingPolicy

public class NeuralAstReorderingPolicy extends Object implements 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 Details

  • Constructor Details

    • NeuralAstReorderingPolicy

      public NeuralAstReorderingPolicy()
    • NeuralAstReorderingPolicy

      public NeuralAstReorderingPolicy(OnnxSessionPool sessionPool)
  • Method Details

    • determineOrder

      public List<Integer> determineOrder(List<NodeStats> nodes)
      Description copied from interface: ReorderingPolicy
      Determines the optimal evaluation order of candidate AST clauses.
      Specified by:
      determineOrder in interface ReorderingPolicy
      Parameters:
      nodes - list of node statistics corresponding to candidate clauses
      Returns:
      list of 0-based indices representing the new evaluation sequence
    • encodeObservation

      public void encodeObservation(float[] obs, List<NodeStats> nodes, int n, int step)
      Encodes candidate node statistics into an 82-dimensional float observation vector.
      Parameters:
      obs - 82-dimensional target float array
      nodes - candidate nodes
      n - number of active candidate nodes
      step - current decoding step (0 to n - 1)