Path: blob/main/notebooks/chainnetwork-optionwrapper.py
597 views
# ---1# jupyter:2# jupytext:3# formats: py:percent,ipynb4# text_representation:5# extension: .py6# format_name: percent7# format_version: '1.3'8# jupytext_version: 1.16.49# kernelspec:10# display_name: cybersim11# language: python12# name: cybersim13# ---1415# %% [markdown] magic_args="[markdown]"16# Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT License.1718# %%19# %%20import plotly.io.orca21import gymnasium as gym22import numpy23from typing import cast24from cyberbattle._env.cyberbattle_env import CyberBattleEnv2526# %%27# %matplotlib inline28plotly.io.orca.config.executable = "~/.npm-packages/bin/orca" # type: ignore2930# %%31from cyberbattle._env.cyberbattle_env import AttackerGoal32from cyberbattle._env.option_wrapper import ContextWrapper, random_options3334# %%35rnd = numpy.random.RandomState(13)3637# %%38env = cast(CyberBattleEnv, gym.make("CyberBattleChain-v0", size=10, attacker_goal=AttackerGoal(reward=4000)))39env = ContextWrapper(env, options=random_options)4041# %%42s, _ = env.reset()43env.render()4445# %%46n = 104748# %%49for t in range(100):50s, r, done, _, info = env.step()51if r > 0:52print(r, done, info["action"])53# env.render()54if done:55if n == 0:56break57n -= r > 058env.reset()596061