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
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							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
							 |