You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

33 lines
1.0 KiB

import stormpy.shields
from . import shields
from .shields import *
def create_action_lookup(model, scheduler):
ret = {}
for state_id in model.states:
choice = scheduler.get_choice(state_id)
action = choice.get_deterministic_choice()
state_valuation = model.state_valuations.get_string(state_id)
action_to_be_executed = model.choice_labeling.get_labels_of_choice(model.get_choice_index(state_id, action))
ret[state_valuation] = action_to_be_executed
return ret
def create_shield_action_lookup(model, shield):
ret = {}
for state_id in model.states:
choices = shield.construct().get_choice(state_id)
state_valuation = model.state_valuations.get_string(state_id)
l = []
for choice in choices.choice_map:
action = choice[1]
action_to_be_executed = model.choice_labeling.get_labels_of_choice(model.get_choice_index(state_id, action))
l.append(action_to_be_executed)
ret[state_valuation] = l
return ret