Interface Agent

All Superinterfaces:
Serializable
All Known Implementing Classes:
CompressorAgent, ProcessAgent, SeparatorAgent

public interface Agent extends Serializable
Interface for an individual agent in a multi-agent system.

Each agent controls a subset of process equipment and can communicate with other agents through shared observations or explicit messages.

Version:
1.0
Author:
ESOL
  • Method Details

    • getAgentId

      String getAgentId()
      Get the agent's unique identifier.
      Returns:
      agent ID
    • getObservationDim

      int getObservationDim()
      Get the dimension of this agent's observation space.
      Returns:
      observation dimension
    • getActionDim

      int getActionDim()
      Get the dimension of this agent's action space.
      Returns:
      action dimension
    • getLocalObservation

      double[] getLocalObservation(StateVector globalState)
      Get the agent's local observation from global state.
      Parameters:
      globalState - full system state
      Returns:
      local observation array
    • applyAction

      void applyAction(double[] action)
      Apply agent's action to the process.
      Parameters:
      action - action array
    • computeReward

      double computeReward(StateVector globalState, double[] action)
      Compute agent's local reward.
      Parameters:
      globalState - current global state
      action - action taken
      Returns:
      local reward
    • isTerminated

      default boolean isTerminated(StateVector globalState)
      Check if agent's local termination condition is met.
      Parameters:
      globalState - current global state
      Returns:
      true if agent triggers termination
    • getMessage

      default double[] getMessage(StateVector globalState)
      Get message to broadcast to other agents.
      Parameters:
      globalState - current state
      Returns:
      message array (can be empty)
    • receiveMessages

      default void receiveMessages(Map<String,double[]> messages)
      Receive messages from other agents.
      Parameters:
      messages - map of agent ID to message