Skip to content

Alterando os algoritmos de busca

Nas aulas anteriores implementamos algumas versões do problema do aspirador de pó. Para a atividade de hoje vamos considerar a implementação mais simples, que é a que considera um aspirador de pó em um ambiente com 2 quartos.

Completando o método env

Nesta implementação você vai adicionar o seguinte comportamento no médoto env():

def env(self):
    return json.dumps(self.__dict__)

Na hora de chamar o método search altere o código de:

    algorithm = BuscaLargura()
    result = algorithm.search(state)

para:

    algorithm = BuscaLargura()
    result = algorithm.search(state, trace=True)

adicionando o parâmetro trace=True. Tente entender o que acontece: (i) qual o resultado encontrado, (ii) qual o conteúdo do log impresso.

Alterando o algoritmo de busca

Depois disto, altere o código de:

    algorithm = BuscaLargura()
    result = algorithm.search(state, trace=True)

para:

    algorithm = BuscaProfundidade()
    result = algorithm.search(state, trace=True, m=10)

Tente entender o que acontece: (i) qual o resultado encontrado, (ii) qual o conteúdo do log impresso. Por que os resultados são diferentes?