microsoft / microsoft/CyberBattleSim
Action_space dimensions formally too large
Nobody has claimed this yet.
- Dominant language
- Jupyter Notebook
- Stars
- 1.8k
- Forks
- 286
- Avg merge
- 4h 35m
- Merged PRs (30d)
- 12
Description
Dear all,
With latest update, which allowed to increase the number of maximum nodes using kwargs dict inside registry(...) function, the default parameters are 100 nodes, https://github.com/microsoft/CyberBattleSim/blob/4fd228bccfc2b088d911e27072a923251203cac8/cyberbattle/_env/cyberbattle_env.py#L390, which makes action_space for local, remote and connect to be especially large.
Although, that does not change the logic of computing action_mask and set valid node id to be nax number of discovered nodes, internally vector is set to be too big.
- Question: I want to ask for the logic of change from using
max_node_countparameter here https://github.com/microsoft/CyberBattleSim/blob/4fd228bccfc2b088d911e27072a923251203cac8/cyberbattle/_env/cyberbattle_env.py#L608, why we want to have option to enlarge the maximum nodes count using registry and this we had to change the value from inferred form initial_network to the one included in bounds for registry function? - Solution: The workaround as I see can be simply to make this parameters
maximum_node_count: int | Noneand then make if else logic for setting them equal to initial number of parameters from network (done in previous commits from main)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in cyberbattle/_env/cyberbattle_env.py at the registry defaults around line 390 and the max_node_count use around line 608. Compare the current action-space sizing with the initial_network and action_mask behavior, then determine whether an optional maximum_node_count should preserve the inferred network size. Done means the action spaces are no larger than the intended node bound without changing valid-node masking.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- machine-learning, networking
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100