Exemple #1
0
def gps(initial_states, goal_states, operators, beam_width=10):
    prefix = 'Executing '
    for operator in operators:
        operator['add'].append(prefix + operator['action'])

    def get_successors(states):
        return successors(states, operators)

    def goal_reached(states):
        for goal in goal_states:
            if goal not in states:
                return False
        return True
    
    def cost(states):
        sum = len([s for s in states if s.startswith(prefix)])
        sum += len([g for g in goal_states if g not in states])
        return sum
            
    final = beam_search(initial_states, goal_reached,
                        get_successors, cost, beam_width)
    return [state for state in final if state.startswith(prefix)]
Exemple #2
0
def gps(initial_states, goal_states, operators, beam_width=10):
    prefix = 'Executing '
    for operator in operators:
        operator['add'].append(prefix + operator['action'])

    def get_successors(states):
        return successors(states, operators)

    def goal_reached(states):
        for goal in goal_states:
            if goal not in states:
                return False
        return True

    def cost(states):
        sum = len([s for s in states if s.startswith(prefix)])
        sum += len([g for g in goal_states if g not in states])
        return sum

    final = beam_search(initial_states, goal_reached, get_successors, cost,
                        beam_width)
    return [state for state in final if state.startswith(prefix)]
Exemple #3
0
 def alg(start, done, next):
     return search.beam_search(start, done, next, cost, 3)