scml.oneshot.rl.agent
Classes
A oneshot agent that can execute trained RL models in appropriate worlds. It falls back to the given agent type otherwise |
Module Contents
- class scml.oneshot.rl.agent.OneShotRLAgent(*args, models: list[scml.oneshot.rl.common.RLModel] | tuple[scml.oneshot.rl.common.RLModel, Ellipsis] = tuple(), observation_managers: list[scml.oneshot.rl.observation.ObservationManager] | tuple[scml.oneshot.rl.observation.ObservationManager, Ellipsis] = tuple(), action_managers: list[scml.oneshot.rl.action.ActionManager] | tuple[scml.oneshot.rl.action.ActionManager, Ellipsis] | None = None, fallback_type: type[scml.oneshot.agent.OneShotAgent] | None = GreedyOneShotAgent, fallback_params: dict[str, Any] | None = None, dynamic_context_switching: bool = False, randomize_test_order: bool = False, **kwargs)[source]
Bases:
scml.oneshot.policy.OneShotPolicyA oneshot agent that can execute trained RL models in appropriate worlds. It falls back to the given agent type otherwise
- Parameters:
models – List of models to choose from.
observation_managers – List of observation managers. Must be the same length as
modelsaction_managers – List of action managers of the same length as
modelsorNoneto use the default action manager.fallback_type – A
OneShotAgenttype to use as a fall-back if the current world is not compatible with any observation/action managersfallback_params – Parameters of the
fallback_typedynamic_context_switching – If
True, the world is tested each step (instead of only at init) to find the appropriate modelrandomize_test_order – If
True, the order at which the observation/action managers are checked for compatibility with the current world is randomized.**kwargs – Any other OneShotPolicy parameters
- _valid_context: scml.oneshot.context.Context = None[source]
- _valid_action_manager: scml.oneshot.rl.action.ActionManager = None[source]
- _valid_obs_manager: scml.oneshot.rl.observation.ObservationManager = None[source]
- _fallback_agent: scml.oneshot.agent.OneShotAgent = None[source]
- init()[source]
Called once after the AWI is set.
- Remarks:
Use this for any proactive initialization code.
- encode_state(mechanism_states: dict[str, negmas.sao.common.SAOState]) scml.oneshot.rl.common.RLState[source]
Called to generate a state to be passed to the act() method. The default is all of
awiof typeOneShotState
- decode_action(action: scml.oneshot.rl.common.RLAction) dict[str, negmas.sao.common.SAOResponse][source]
Generates offers to all partners from an encoded action. Default is to return the action as it is assuming it is a
dict[str, SAOResponse]
- act(state: scml.oneshot.rl.common.RLState) scml.oneshot.rl.common.RLAction[source]
The main policy. Generates an action given a state
- propose(*args, **kwargs) negmas.outcomes.Outcome | None[source]
Called when the agent is asking to propose in one negotiation
- respond(*args, **kwargs) negmas.gb.common.ResponseType[source]
Called when the agent is asked to respond to an offer