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
 |