Class RandomController

java.lang.Object
neqsim.process.ml.controllers.RandomController
All Implemented Interfaces:
Serializable, Controller

public class RandomController extends Object implements Controller
Random controller for baseline comparison.

Samples random actions from uniform distribution within bounds.

Version:
1.0
Author:
ESOL
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • name

      private final String name
    • actionDim

      private final int actionDim
    • actionMin

      private final double[] actionMin
    • actionMax

      private final double[] actionMax
    • random

      private final Random random
  • Constructor Details

    • RandomController

      public RandomController(String name, double actionMin, double actionMax)
      Create random controller for single action.
      Parameters:
      name - controller name
      actionMin - minimum action value
      actionMax - maximum action value
    • RandomController

      public RandomController(String name, double[] actionMin, double[] actionMax, long seed)
      Create random controller with seed.
      Parameters:
      name - controller name
      actionMin - minimum action values
      actionMax - maximum action values
      seed - random seed
  • Method Details

    • computeAction

      public double[] computeAction(double[] observation)
      Description copied from interface: Controller
      Compute control action based on observation.
      Specified by:
      computeAction in interface Controller
      Parameters:
      observation - normalized observation array
      Returns:
      action array
    • getName

      public String getName()
      Description copied from interface: Controller
      Get controller name.
      Specified by:
      getName in interface Controller
      Returns:
      name