-
Notifications
You must be signed in to change notification settings - Fork 12
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Current Status
The environment can be started with a starting seed, which is used for setting:
- Starting state of the random generator of
random- Impacts starting/goal positions (when keyword random is used)
- Impacts the global defender decision if used
- Impacts action success (not used atm)
- Starting state of the random generator of
np.random- Not impacting anything AFAIK
- Starting state of the random generator of
Faker- Impacts the re-mapping of IPs
Proposed Design
- Starting seed remains unchanged.
- When the agent is requesting a reset with
ResetGame, there are 2 parameters:seed: int = Nonechange_ips: bool = False
The following table shows the result on the environment (agents 1 & 2 show the behavior when multiple agents are present):
| Starting seed | A1 seed | A1 change_ips | A2 seed | A2 change_ips | Changed seed game | Changed seed topology | Changed topology |
|---|---|---|---|---|---|---|---|
| 42 | 1 | TRUE |
1 | TRUE |
1 | 1 | TRUE |
| 42 | 1 | TRUE |
1 | FALSE |
1 | ??? (NONE) |
FALSE |
| 42 | 1 | TRUE |
2 | TRUE |
NONE |
NONE |
??? (FALSE) |
| 42 | 1 | TRUE |
2 | FALSE |
NONE |
NONE |
FALSE |
This design allows:
- Seeding every episode and topology change (for testing, consistent evaluation).
- Setting a custom seed to the random generators and then continuing with it for the rest of the game.
- Setting a random seed for the game WITHOUT changing the topology (reproducibility within a fixed topology).
It does not allow:
- Changing the seed of the topology WITHOUT changing the seed of the rest.
Reactions are currently unavailable
Metadata
Metadata
Labels
enhancementNew feature or requestNew feature or request