yawning_titan.envs.specific.four_node_def#
NOTE: This environment is deprecated but has been included as an example of how to create a specific environment.
Four Node Connected Environment#
- This environment is made up of four nodes in the following topology:
+————–+ Node 1 - UAD +—————+ | | Red Start | | | | | +———+———+
+——–+———-+ | | | | | | +——————-+ | | | | | Node 3 - UAD | | Node 2 - UAD | | | | | +——————-+ | | | | | | +———+———+ +——-+———–+ | Node 4 - UAD | |
The aim of this environment is for a blue team agent, which has full observability of the environment, to successfully stop the hard code red agent from getting to the objective.
Inspired by: - https://github.com/panlybero/MARL-POMDP-CYBERSECURITY - https://www.scitepress.org/Link.aspx?doi=10.5220%2f0006197105590566
Classes
Class that represents a simple four node connected network. |
- class yawning_titan.envs.specific.four_node_def.FourNodeDef(attacker_skill=90, red_start_node=0, objective_node=3, n_machines=4, attack_success_threshold=0.6)[source]#
Class that represents a simple four node connected network.
- __init__(attacker_skill=90, red_start_node=0, objective_node=3, n_machines=4, attack_success_threshold=0.6)[source]#
- reset()[source]#
Reset the environment to the default state.
- Returns:
A new starting observation (numpy array)
- step(action)[source]#
Take a time step and execute the actions for both Blue RL agent and hard-hard coded Red agent.
- Parameters:
action – The action value generated from the Blue RL agent (int)
- Returns:
The next environment observation (numpy array) reward: The reward value for that timestep (int) done: Whether the epsiode is done (bool) notes: An empty notes dictionary
- Return type:
observation