csle_agents.constants package

Submodules

csle_agents.constants.constants module

Constants for csle-agents

class csle_agents.constants.constants.BAYESIAN_OPTIMIZATION[source]

Bases: object

String constants related to Bayesian Optimization

L = 'L'
N = 'N'
OBJECTIVE_TYPE = 'objective_type'
PARAMETER_BOUNDS = 'parameter_bounds'
PARAMS = 'params'
POLICY_TYPE = 'policy_type'
STOP_DISTRIBUTION_ATTACKER = 'stop_distribution_attacker'
STOP_DISTRIBUTION_DEFENDER = 'stop_distribution_defender'
TARGET = 'target'
THETA1 = 'theta1'
THETAS = 'thetas'
THRESHOLDS = 'thresholds'
UCB = 'ucb'
UCB_KAPPA = 'ucb_kappa'
UCB_XI = 'ucb_xi'
UTILITY_FUNCTION = 'utility_function'
class csle_agents.constants.constants.BAYESIAN_OPTIMIZATION_EMUKIT[source]

Bases: object

String constants related to Bayesian Optimization Emukit

ACQUISITION_FUNCTION_TYPE = 'acquisition_function_type'
ACQUISITION_OPTIMIZER_TYPE = 'acquisition_optimizer_type'
BETA = 'beta'
EVALUATION_BUDGET = 'evaluation_budget'
INPUT_SPACE_DIM = 'input_space_dim'
KERNEL_TYPE = 'kernel_type'
LENGTHSCALE_RBF_KERNEL = 'lengthscale_rbf_kernel'
OBJECTIVE_TYPE = 'objective_type'
OBS_LIKELIHOOD_VARIANCE = 'obs_likelihood_variance'
PARAMS = 'params'
POLICY_TYPE = 'policy_type'
VARIANCE_RBF_KERNEL = 'variance_rbf_kernel'
X_init = 'X_init'
Y_init = 'Y_init'
class csle_agents.constants.constants.C51_CLEAN[source]

Bases: object

String constants related to the C51-clean agent

ANNEAL_LR = 'anneal_lr'
BUFFER_SIZE = 'buffer_size'
CLIP_VLOSS = 'clip_vloss'
CUDA = 'cuda'
END_EXPLORATION_RATE = 'end_exploration_rate'
EXP_FRAC = 'exploration_fraction'
LEARNING_STARTS = 'learning_starts'
MINIBATCH_SIZE = 'minibatch_size'
NORM_ADV = 'norm_adv'
NUM_ENVS = 'num_envs'
NUM_STEPS = 'num_steps'
N_ATOMS = 'n_atoms'
REWARD_SCALER = 'reward_scaler'
SAVE_MODEL = 'save_model'
START_EXPLORATION_RATE = 'start_exploration_rate'
STEPS_BETWEEN_UPDATES = 'steps_between_updates'
TAU = 'tau'
TRAIN_FREQ = 'train_frequency'
T_N_FREQ = 'target_network_frequency'
V_MAX = 'v_max'
V_MIN = 'v_min'
class csle_agents.constants.constants.CMA_ES_OPTIMIZATION[source]

Bases: object

String constants related to CMA-ES Optimization

L = 'L'
N = 'N'
OBJECTIVE_TYPE = 'objective_type'
PARAMETER_BOUNDS = 'parameter_bounds'
PARAMS = 'params'
POLICY_TYPE = 'policy_type'
STOP_DISTRIBUTION_ATTACKER = 'stop_distribution_attacker'
STOP_DISTRIBUTION_DEFENDER = 'stop_distribution_defender'
TARGET = 'target'
THETA1 = 'theta1'
THETAS = 'thetas'
THRESHOLDS = 'thresholds'
UCB = 'ucb'
UCB_KAPPA = 'ucb_kappa'
UCB_XI = 'ucb_xi'
UTILITY_FUNCTION = 'utility_function'
class csle_agents.constants.constants.COMMON[source]

Bases: object

Common string constants among all agents

ADAM = 'Adam'
AVERAGE_ATTACKER_RETURN = 'average_attacker_return'
AVERAGE_DEFENDER_RETURN = 'average_defender_return'
AVERAGE_HEURISTIC_RETURN = 'average_heuristic_return'
AVERAGE_RANDOM_RETURN = 'average_random_return'
AVERAGE_RETURN = 'average_return'
AVERAGE_TIME_HORIZON = 'average_time_horizon'
AVERAGE_UPPER_BOUND_RETURN = 'average_upper_bound_return'
BASELINE_PREFIX = 'baseline_'
BATCH_SIZE = 'batch_size'
CONFIDENCE_INTERVAL = 'confidence_interval'
EVALUATE_WITH_DISCOUNT = 'evaluate_with_discount'
EVAL_BATCH_SIZE = 'eval_batch_size'
EVAL_EVERY = 'eval_every'
EVAL_PREFIX = 'eval_'
EXPLOITABILITY = 'exploitability'
GAMMA = 'gamma'
L = 'L'
LEARNING_RATE = 'learning_rate'
LEARNING_RATE_DECAY_RATE = 'learning_rate_decay_rate'
LEARNING_RATE_EXP_DECAY = 'learning_rate_exp_decay'
MAX_ENV_STEPS = 'max_env_steps'
NUM_CACHED_SIMULATION_TRACES = 3
NUM_NODES = 'num_nodes'
NUM_PARALLEL_ENVS = 'num_parallel_envs'
NUM_TRAINING_TIMESTEPS = 'num_training_timesteps'
OBSERVATION = 'o'
OPTIMIZER = 'optimizer'
POLICY_LOSSES = 'policy_losses'
RUNNING_AVERAGE = 'running_average'
RUNNING_AVERAGE_ATTACKER_RETURN = 'running_average_attacker_return'
RUNNING_AVERAGE_DEFENDER_RETURN = 'running_average_defender_return'
RUNNING_AVERAGE_EXPLOITABILITY = 'running_average_exploitability'
RUNNING_AVERAGE_INTRUSION_LENGTH = 'running_average_intrusion_length'
RUNNING_AVERAGE_INTRUSION_START = 'running_average_intrusion_start'
RUNNING_AVERAGE_RETURN = 'running_average_return'
RUNNING_AVERAGE_START_POINT_CORRECT = 'running_average_start_point_correct'
RUNNING_AVERAGE_TIME_HORIZON = 'running_average_time_horizon'
RUNNING_AVERAGE_WEIGHTED_INTRUSION_PREDICTION_DISTANCE = 'running_average_weighted_intrusion_prediction_distance'
RUNTIME = 'runtime'
SAVE_EVERY = 'save_every'
SGD = 'SGD'
START_POINT_CORRECT = 'start_point_correct'
STATE = 's'
STOPPING_ENVS = ['csle-stopping-game-v1', 'csle-stopping-game-mdp-attacker-v1', 'csle-stopping-game-pomdp-defender-v1']
WEIGHTED_INTRUSION_PREDICTION_DISTANCE = 'weighted_intrusion_prediction_distance'
class csle_agents.constants.constants.CROSS_ENTROPY[source]

Bases: object

String constants related to the cross-entropy

K = 'K'
L = 'L'
LAMB = 'lamb'
N = 'N'
OBJECTIVE_TYPE = 'objective_type'
POLICY_TYPE = 'policy_type'
STOP_DISTRIBUTION_ATTACKER = 'stop_distribution_attacker'
STOP_DISTRIBUTION_DEFENDER = 'stop_distribution_defender'
THETA1 = 'theta1'
THETAS = 'thetas'
THRESHOLDS = 'thresholds'
class csle_agents.constants.constants.DIFFERENTIAL_EVOLUTION[source]

Bases: object

String constants related to differential evolution

BOUNDS = 'bounds'
L = 'L'
MUTATE = 'mutate'
N = 'N'
OBJECTIVE_TYPE = 'objective_type'
POLICY_TYPE = 'policy_type'
POPULATION_SIZE = 'population_size'
RECOMBINATION = 'recombination'
STOP_DISTRIBUTION_ATTACKER = 'stop_distribution_attacker'
STOP_DISTRIBUTION_DEFENDER = 'stop_distribution_defender'
THETA1 = 'theta1'
THETAS = 'thetas'
THRESHOLDS = 'thresholds'
class csle_agents.constants.constants.DQN[source]

Bases: object

String constants related to DQN

BUFFER_SIZE = 'buffer_size'
DQN_BATCH_SIZE = 'dqn_batch_size'
EXPLORATION_FINAL_EPS = 'exploration_final_eps'
EXPLORATION_FRACTION = 'exploration_fracion'
EXPLORATION_INITIAL_EPS = 'exploration_initial_eps'
GRADIENT_STEPS = 'gradient_steps'
LEARNING_STARTS = 'learning_starts'
MAX_GRAD_NORM = 'max_grad_norm'
MLP_POLICY = 'MlpPolicy'
N_EPISODES_ROLLOUT = 'n_episodes_rollout'
TARGET_UPDATE_INTERVAL = 'target_update_interval'
TRAIN_FREQ = 'train_freq'
class csle_agents.constants.constants.DQN_CLEAN[source]

Bases: object

String constants related to the DQN-Clean agent

ANNEAL_LR = 'anneal_lr'
BUFFER_SIZE = 'buffer_size'
CLIP_RANGE = 'clip_range'
CLIP_RANGE_VF = 'clip_range_vf'
CLIP_VLOSS = 'clip_vloss'
CUDA = 'cuda'
ENT_COEF = 'ent_coef'
EXP_FRAC = 'exploration_fraction'
GAE_LAMBDA = 'gae_lambda'
LEARNING_STARTS = 'learning_starts'
MAX_GRAD_NORM = 'max_grad_norm'
MINIBATCH_SIZE = 'minibatch_size'
MLP_POLICY = 'MlpPolicy'
NORM_ADV = 'norm_adv'
NUM_ENVS = 'num_envs'
NUM_MINIBATCHES = 'num_minibatches'
NUM_STEPS = 'num_steps'
REWARD_SCALER = 'reward_scaler'
SAVE_MODEL = 'save_model'
STEPS_BETWEEN_UPDATES = 'steps_between_updates'
TARGET_KL = 'target_kl'
TAU = 'tau'
TRAIN_FREQ = 'train_frequency'
T_N_FREQ = 'target_network_frequency'
UPDATE_EPOCHS = 'update_epochs'
VF_COEF = 'vf_coef'
class csle_agents.constants.constants.DYNASEC[source]

Bases: object

String constants related to the DynaSec algorithm

CLIENTS_ARRIVAL_RATE = 'clients_arrival_rate'
EMULATION_MONITOR_SLEEP_TIME = 'emulation_monitor_sleep_time'
EMULATION_TRACES_TO_SAVE_W_DATA_COLLECTION_JOB = 'emulation_traces_to_save_with_data_collection_job'
INTRUSION_ALERTS_MEAN = 'intrusion_alerts_mean'
INTRUSION_ALERTS_MEAN_BASELINE = 'intrusion_alerts_mean_baseline'
INTRUSION_START_P = 'intrusion_start_p'
NO_INTRUSION_ALERTS_MEAN = 'no_intrusion_alerts_mean'
NO_INTRUSION_ALERTS_MEAN_BASELINE = 'no_intrusion_alerts_mean_baseline'
NUM_CLIENTS = 'num_clients'
REPLAY_WINDOW_SIZE = 'replay_window_size'
SLEEP_TIME = 'sleep_time'
STATIC_ATTACKER_TYPE = 'static_attacker_type'
TRAINING_EPOCHS = 'training_epochs'
WARMUP_EPISODES = 'warmup_episodes'
class csle_agents.constants.constants.ENV_METRICS[source]

Bases: object

String constants representing environment metrics

ATTACKER_ACTION = 'a2'
AVERAGE_HEURISTIC_RETURN = 'average_heuristic_return'
AVERAGE_RANDOM_RETURN = 'average_random_return'
AVERAGE_UPPER_BOUND_RETURN = 'average_upper_bound_return'
DEFENDER_ACTION = 'a1'
OBSERVATION = 'o'
RETURN = 'R'
STATE = 's'
TIME_HORIZON = 'T'
TIME_STEP = 't'
class csle_agents.constants.constants.FICTITIOUS_PLAY[source]

Bases: object

String constants related to fictitious play

N = 'N'
PAYOFF_MATRIX = 'payoff_matrix'
PLAYER_1_PRIOR = 'player_1_prior'
PLAYER_2_PRIOR = 'player_2_prior'
class csle_agents.constants.constants.HSVI[source]

Bases: object

String constants related to HSVI

ACTION_SPACE = 'action_space'
EPSILON = 'epsilon'
INITIAL_BELIEF = 'initial_belief'
INITIAL_BELIEF_VALUES = 'initial_belief_values'
LB_SIZE = 'lower_bound_size'
LB_SIZES = 'lower_bound_sizes'
NUMBER_OF_SIMULATIONS = 'NUMBER_OF_SIMULATIONS'
OBSERVATION_SPACE = 'observation_space'
OBSERVATION_TENSOR = 'observation_tensor'
PRUNE_FREQUENCY = 'prune_frequency'
REWARD_TENSOR = 'reward_tensor'
SIMULATE_HORIZON = 'SIMULATE_HORIZON'
SIMULATION_FREQUENCY = 'simulation_frequency'
STATE_SPACE = 'state_space'
TRANSITION_TENSOR = 'transition_tensor'
UB_SIZE = 'upper_bound_size'
UB_SIZES = 'upper_bound_sizes'
USE_LP = 'use_lp'
WIDTH = 'width'
WIDTHS = 'widths'
class csle_agents.constants.constants.HSVI_OS_POSG[source]

Bases: object

String constants related to the HSVI algorithm for OS-POSGs

ACTION_SPACE_PLAYER_1 = 'action_space_player_1'
ACTION_SPACE_PLAYER_2 = 'action_space_player_2'
EPSILON = 'epsilon'
EXCESSES = 'excesses'
INITIAL_BELIEF = 'initial_belief'
N = 'N'
OBSERVATION_FUNCTION = 'observation_function'
OBSERVATION_SPACE = 'observation_space'
PRUNE_FREQUENCY = 'prune_frequency'
REWARD_TENSOR = 'reward_tensor'
STATE_SPACE = 'state_space'
TRANSITION_TENSOR = 'transition_tensor'
WIDTHS = 'widths'
class csle_agents.constants.constants.KIEFER_WOLFOWITZ[source]

Bases: object

String constants related to Kiefer-Wolfowitz

DELTA = 'delta'
GRADIENT_BATCH_SIZE = 'gradient_batch_size'
INITIAL_ALPHA = 'initial_alpha'
L = 'L'
N = 'N'
POLICY_TYPE = 'policy_type'
STOP_DISTRIBUTION_ATTACKER = 'stop_distribution_attacker'
STOP_DISTRIBUTION_DEFENDER = 'stop_distribution_defender'
THETA1 = 'theta1'
THETAS = 'thetas'
THRESHOLDS = 'thresholds'
class csle_agents.constants.constants.LOCAL_DFSP[source]

Bases: object

String constants related to the local DFSP algorithm

AVERAGE_BEST_RESPONSE_ATTACKER_RETURN = 'average_best_response_attacker_return'
AVERAGE_BEST_RESPONSE_DEFENDER_RETURN = 'average_best_response_defender_return'
BEST_RESPONSE_EVALUATION_ITERATIONS = 'best_response_evaluation_iterations'
EQUILIBRIUM_STRATEGIES_EVALUATION_ITERATIONS = 'equilibrium_strategies_evaluation_iterations'
N_2 = 'N_2'
RUNNING_AVERAGE_BEST_RESPONSE_ATTACKER_RETURN = 'running_average_best_response_attacker_return'
RUNNING_AVERAGE_BEST_RESPONSE_DEFENDER_RETURN = 'running_average_best_response_defender_return'
class csle_agents.constants.constants.LP_FOR_CMDPs[source]

Bases: object

String constants related to linear programming for CMDPs

ACTIONS = 'actions'
CONSTRAINT_COST_TENSORS = 'constraint_cost_tensors'
CONSTRAINT_COST_THRESHOLDS = 'constraint_cost_thresholds'
COST_TENSOR = 'cost_tensor'
STATES = 'states'
TRANSITION_TENSOR = 'transition_tensor'
class csle_agents.constants.constants.LP_FOR_NF_GAMES[source]

Bases: object

String constants related to linear programming for normal-form games

ACTION_SPACE_PLAYER_1 = 'action_space_player_1'
ACTION_SPACE_PLAYER_2 = 'action_space_player_2'
N = 'N'
PAYOFF_MATRIX = 'payoff_matrix'
class csle_agents.constants.constants.MCS[source]

Bases: object

String constants related to Multilevel Coordinate Search

EPSILON = 'epsilon'
GAMMA = 'gamma'
IINIT = 'iinit'
L = 'L'
LOCAL = 'local'
M = 'm'
NF = 'nf'
OBJECTIVE_TYPE = 'objective_type'
POLICY_TYPE = 'policy_type'
PRT = 'prt'
SMAX = 'smax'
STEP = 'step'
STEP1 = 'step1'
STOP = 'stop'
STOPPING_ACTIONS = 'stopping_actions'
STOP_DISTRIBUTION_DEFENDER = 'stop_distribution_defender'
THETAS = 'thetas'
THRESHOLDS = 'thresholds'
U = 'u'
V = 'v'
class csle_agents.constants.constants.NELDER_MEAD[source]

Bases: object

String constants related to Nelder-Mead

COOLING_FACTOR = 'cooling_factor'
DELTA = 'delta'
IMPROVE_BREAK = 'improve_break'
IMPROVE_THRESHOLD = 'improve_threshold'
INITIAL_TEMPERATURE = 'initial_temperature'
L = 'L'
N = 'N'
OBJECTIVE_TYPE = 'objective_type'
POLICY_TYPE = 'policy_type'
STEP = 'step'
STOP_DISTRIBUTION_ATTACKER = 'stop_distribution_attacker'
STOP_DISTRIBUTION_DEFENDER = 'stop_distribution_defender'
THETA1 = 'theta1'
THETAS = 'thetas'
THRESHOLDS = 'thresholds'
UCB = 'ucb'
UTILITY_FUNCTION = 'utility_function'
class csle_agents.constants.constants.PARTICLE_SWARM[source]

Bases: object

String constants related to simulated annealing

B_LOW = 'b_lo'
B_UP = 'b_up'
COGNITIVE_COEFFICIENT = 'Phi_p'
DELTA = 'delta'
INERTIA_WEIGHT = 'w'
L = 'L'
N = 'N'
OBJECTIVE_TYPE = 'objective_type'
POLICY_TYPE = 'policy_type'
S = 'S'
SOCIAL_COEFFICIENT = 'Phi_g'
STOP_DISTRIBUTION_ATTACKER = 'stop_distribution_attacker'
STOP_DISTRIBUTION_DEFENDER = 'stop_distribution_defender'
THETA1 = 'theta1'
THETAS = 'thetas'
THRESHOLDS = 'thresholds'
class csle_agents.constants.constants.PI[source]

Bases: object

String constants related to PI

INITIAL_POLICY = 'initial_policy'
N = 'N'
NUM_ACTIONS = 'num_actions'
NUM_STATES = 'num_states'
REWARD_TENSOR = 'reward_tensor'
TRANSITION_TENSOR = 'transition_tensor'
class csle_agents.constants.constants.POMCP[source]

Bases: object

String constants related to POMCP

A = 'A'
ACQUISITION_FUNCTION_TYPE = 'acquisition_function_type'
C = 'c'
C2 = 'c2'
DEFAULT_NODE_VALUE = 'default_node_value'
EVAL_ENV_CONFIG = 'eval_env_config'
EVAL_ENV_NAME = 'eval_env_name'
GAMMA = 'gamma'
INITIAL_PARTICLES = 'initial_particles'
LOG_STEP_FREQUENCY = 'log_step_frequency'
MAX_NEGATIVE_SAMPLES = 'max_negative_samples'
MAX_PARTICLES = 'max_particles'
MAX_PLANNING_DEPTH = 'max_planning_depth'
MAX_ROLLOUT_DEPTH = 'max_rollout_depth'
N = 'N'
NUM_EVALS_PER_PROCESS = 'num_evals_per_process'
NUM_PARALLEL_PROCESSES = 'num_parallel_processes'
O = 'O'
OBJECTIVE_TYPE = 'objective_type'
PARALLEL_ROLLOUT = 'parallel_rollout'
PLANNING_TIME = 'planning_time'
PRIOR_CONFIDENCE = 'prior_confidence'
PRIOR_WEIGHT = 'prior_weight'
PRUNE_ACTION_SPACE = 'prune_action_space'
PRUNE_SIZE = 'prune_size'
REINVIGORATED_PARTICLES_RATIO = 'reinvigorated_particles_ratio'
REINVIGORATION = 'reinvigoration'
ROLLOUT_POLICY = 'rollout_policy'
S = 'S'
USE_ROLLOUT_POLICY = 'use_rollout_policy'
VALUE_FUNCTION = 'value_function'
VERBOSE = 'verbose'
class csle_agents.constants.constants.PPG_CLEAN[source]

Bases: object

String constants related to PPG clean

ADV_NORM_FULLBATCH = 'adv_norm_fullbatch'
ANNEAL_LR = 'anneal_lr'
AUX_BATCH_ROLLOUTS = 'aux_batch_rollouts'
BATCH_SIZE = 'batch_size'
BETA_CLONE = 'beta_clone'
CLIP_COEF = 'clip_coef'
CLIP_VLOSS = 'clip_vloss'
ENT_COEF = 'ent_coef'
E_AUXILIARY = 'e_auxiliary'
E_POLICY = 'e_policy'
GAE_LAMBDA = 'gae_lambda'
GAMMA = 'gamma'
LEARNING_RATE = 'learning_rate'
MAX_GRAD_NORM = 'max_grad_norm'
MINIBATCH_SIZE = 'minibatch_size'
NUM_AUX_GRAD_ACCUM = 'num_aux_grad_accum'
NUM_AUX_ROLLOUTS = 'num_aux_rollouts'
NUM_ITERATIONS = 'num_iterations'
NUM_MINIBATCHES = 'num_minibatches'
NUM_PHASES = 'num_phases'
NUM_STEPS = 'num_steps'
N_ITERATION = 'n_iteration'
TARGET_KL = 'target_kl'
TOTAL_STEPS = 'total_steps'
VF_COEF = 'vf_coef'
V_VALUE = 'v_value'
class csle_agents.constants.constants.PPO[source]

Bases: object

String constants related to PPO

CLIP_RANGE = 'clip_range'
CLIP_RANGE_VF = 'clip_range_vf'
ENT_COEF = 'ent_coef'
GAE_LAMBDA = 'gae_lambda'
MAX_GRAD_NORM = 'max_grad_norm'
MLP_POLICY = 'MlpPolicy'
NUM_GRADIENT_STEPS = 'num_gradient_steps'
STEPS_BETWEEN_UPDATES = 'steps_between_updates'
TARGET_KL = 'target_kl'
VF_COEF = 'vf_coef'
class csle_agents.constants.constants.PPO_CLEAN[source]

Bases: object

String constants related to PPO clean

ANNEAL_LR = 'anneal_lr'
CLIP_RANGE = 'clip_range'
CLIP_RANGE_VF = 'clip_range_vf'
CLIP_VLOSS = 'clip_vloss'
CUDA = 'cuda'
ENT_COEF = 'ent_coef'
GAE_LAMBDA = 'gae_lambda'
MAX_GRAD_NORM = 'max_grad_norm'
MINIBATCH_SIZE = 'minibatch_size'
MLP_POLICY = 'MlpPolicy'
NORM_ADV = 'norm_adv'
NUM_ENVS = 'num_envs'
NUM_MINIBATCHES = 'num_minibatches'
NUM_STEPS = 'num_steps'
REWARD_SCALER = 'reward_scaler'
STEPS_BETWEEN_UPDATES = 'steps_between_updates'
TARGET_KL = 'target_kl'
UPDATE_EPOCHS = 'update_epochs'
VF_COEF = 'vf_coef'
class csle_agents.constants.constants.Q_LEARNING[source]

Bases: object

String constants related to Q-learning

A = 'A'
EPSILON = 'epsilon'
EPSILON_DECAY_RATE = 'epsilon_decay_rate'
INITIAL_STATE_VALUES = 'initial_state_values'
N = 'N'
S = 'S'

Bases: object

String constants related to random search

DELTA = 'delta'
L = 'L'
N = 'N'
OBJECTIVE_TYPE = 'objective_type'
POLICY_TYPE = 'policy_type'
STOP_DISTRIBUTION_ATTACKER = 'stop_distribution_attacker'
STOP_DISTRIBUTION_DEFENDER = 'stop_distribution_defender'
THETA1 = 'theta1'
THETAS = 'thetas'
THRESHOLDS = 'thresholds'
class csle_agents.constants.constants.REINFORCE[source]

Bases: object

String constants related to REINFORCE

CLIP_GRADIENT = 'clip_gradient'
GRADIENT_BATCH_SIZE = 'gradient_batch_size'
N = 'N'
class csle_agents.constants.constants.SARSA[source]

Bases: object

String constants related to Sarsa

A = 'A'
EPSILON = 'epsilon'
INITIAL_STATE_VALUES = 'initial_state_values'
N = 'N'
S = 'S'
class csle_agents.constants.constants.SHAPLEY_ITERATION[source]

Bases: object

String constants related to Shapley Iteration

ACTION_SPACE_PLAYER_1 = 'action_space_player_1'
ACTION_SPACE_PLAYER_2 = 'action_space_player_2'
DELTA = 'delta'
N = 'N'
REWARD_TENSOR = 'reward_tensor'
STATE_SPACE = 'state_space'
TRANSITION_TENSOR = 'transition_tensor'
class csle_agents.constants.constants.SIMULATED_ANNEALING[source]

Bases: object

String constants related to simulated annealing

COOLING_FACTOR = 'cooling_factor'
DELTA = 'delta'
INITIAL_TEMPERATURE = 'initial_temperature'
L = 'L'
N = 'N'
OBJECTIVE_TYPE = 'objective_type'
POLICY_TYPE = 'policy_type'
STOP_DISTRIBUTION_ATTACKER = 'stop_distribution_attacker'
STOP_DISTRIBUTION_DEFENDER = 'stop_distribution_defender'
THETA1 = 'theta1'
THETAS = 'thetas'
THRESHOLDS = 'thresholds'
class csle_agents.constants.constants.SONDIK_VI[source]

Bases: object

String constants related to Sondik’s VI

ACTION_SPACE = 'action_space'
INITIAL_BELIEF = 'initial_belief'
INITIAL_BELIEF_VALUES = 'initial_belief_values'
NUM_ALPHA_VECTORS = 'num_alpha_vectors'
OBSERVATION_SPACE = 'observation_space'
OBSERVATION_TENSOR = 'observation_tensor'
PLANNING_HORIZON = 'planning_horizon'
REWARD_TENSOR = 'reward_tensor'
STATE_SPACE = 'state_space'
TRANSITION_TENSOR = 'transition_tensor'
USE_PRUNING = 'use_pruning'
class csle_agents.constants.constants.T_FP[source]

Bases: object

String constants related to T-FP

ATTACKER_THRESHOLDS = 'attacker_thresholds'
AVERAGE_BEST_RESPONSE_ATTACKER_RETURN = 'average_best_response_attacker_return'
AVERAGE_BEST_RESPONSE_DEFENDER_RETURN = 'average_best_response_defender_return'
BEST_RESPONSE_EVALUATION_ITERATIONS = 'best_response_evaluation_iterations'
DEFENDER_THRESHOLDS = 'defender_thresholds'
EQUILIBRIUM_STRATEGIES_EVALUATION_ITERATIONS = 'equilibrium_strategies_evaluation_iterations'
N_2 = 'N_2'
RUNNING_AVERAGE_BEST_RESPONSE_ATTACKER_RETURN = 'running_average_best_response_attacker_return'
RUNNING_AVERAGE_BEST_RESPONSE_DEFENDER_RETURN = 'running_average_best_response_defender_return'
THETA1_ATTACKER = 'theta1_attacker'
THETA1_DEFENDER = 'theta1_defender'
class csle_agents.constants.constants.VI[source]

Bases: object

String constants related to VI

DELTA = 'delta'
NUM_ACTIONS = 'num_actions'
NUM_STATES = 'num_states'
REWARD_TENSOR = 'reward_tensor'
THETA = 'theta'
TRANSITION_TENSOR = 'transition_tensor'

Module contents