def __init__(self, rect, level, location_to_back_front_pairs): relaxed_reverse_transition = RelaxedBoulderReverseTransition(rect, level, location_to_back_front_pairs) relaxed_targets = set(loc for loc, c in level.items() if c == '^') self.boulder_location_to_lower_bound = AscDP.measure_all_states(relaxed_targets, relaxed_reverse_transition)