Buscar

02 - busca

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 57 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 57 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 57 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Inteligência Artificial
Busca
Yuri Malheiros 

(yuri@dce.ufpb.br)
Introdução
• Dadas muitas opções, qual a escolha correta para solução de um 
problema? 
• Qual a melhor rota para chegar numa cidade?
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
Introdução
• Como ir de João Pessoa até Cajazeiras?
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
Introdução
• Solução: 
• Uma sequência de ações para sair de um estado inicial para um 
objetivo
Definição de um problema
• Estado inicial: o agente está na cidade de João Pessoa 
• Ações(s) -> {a1, a2, a3, ...}: dado o estado atual (s), quais cidades o 
agente pode ir em seguida 
• Resultado(s, a) -> s’: dado que o agente está em (s) e é escolhida a 
ação (a), então o estado do agente será estar (s’) 
• TesteDeObjetivo(s) -> True | False: testa se o estado (s) é o objetivo 
• Custo(s, a, s’) -> n: o custo para ir de (s) até (s’) usando a ação (a)
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo estado intermediário ações fronteira
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo estado intermediário ações fronteira
Explorado
Não 

Explorado
Tree Search
• Vamos definir uma função para resolver o problema de busca num 
espaço de estados 
• Transformaremos os estados numa árvore
def tree_search(self): 
 frontier = [self.initial] 
!
 while True: 
 if len(frontier) == 0: return False 
 new_state = self.remove_choice(frontier) 
 if new_state in self.goals: return new_state 
!
 for action in new_state.actions: 
 frontier.append(action) 
def tree_search(self): 
 frontier = [self.initial] 
!
 while True: 
 if len(frontier) == 0: return False 
 new_state = self.remove_choice(frontier) 
 if new_state in self.goals: return new_state 
!
 for action in new_state.actions: 
 frontier.append(action) 
Tree Search
• Qual a ação devemos escolher? 
• Existem diferentes algoritmos que fazem escolhas diferentes
Busca em largura
• Qual a ação devemos escolher? 
• Primeiro o caminho mais curto que estiver na fronteira
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo nó expandido açõescaminho escolhido
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo nó expandido açõescaminho escolhido
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo nó expandido açõescaminho escolhido
Busca em largura
• É redundante expandir o nó de João Pessoa novamente 
• Mas numa busca em árvore isso não é exatamente uma volta ao 
mesmo nó
João 
Pessoa
Campina 

Grande
Santa 

Rita Itabaiana
ItabaianaJoão 
Pessoa Coxixola SoledadeAreia
João 
Pessoa
Campina 

Grande
Santa 

Rita Itabaiana
ItabaianaJoão 
Pessoa Coxixola SoledadeAreia
Busca em largura
• Implementação…
Busca em largura
• Guardando os nós já explorados é possível evitar expansões 
desnecessárias
João 
Pessoa
Campina 

Grande
Santa 

Rita Itabaiana
ItabaianaJoão 
Pessoa Coxixola SoledadeAreia
João 
Pessoa
Campina 

Grande
Santa 

Rita Itabaiana
Coxixola SoledadeAreia
Graph Search
• Vamos modificar a função Tree Search 
• Caminhos repetidos devem ser evitados
def graph_search(self): 
 explored = set() 
 frontier = [initial] 
!
 while True: 
 if len(frontier) == 0: return False 
 new_state = self.remove_choice(frontier) 
!
 explored.add(new_state) 
 if new_state in self.goals: return new_state 
!
 for action in new_state.actions: 
 if not action.state in explored: 
 frontier.append(action) 
Busca em largura
• Vamos fazer o passo a passo do algoritmo de busca em largura 
usando o graph search
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo explorado fronteira
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo explorado fronteira
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo explorado fronteira
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo explorado fronteira
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo explorado fronteira
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo explorado fronteira
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo explorado fronteira
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo explorado fronteira
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo explorado fronteira
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areiaitabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo explorado fronteira
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo explorado fronteira
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo explorado fronteira
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo explorado fronteira
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo explorado fronteira
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo explorado fronteira
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo explorado fronteira
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo explorado fronteira
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo explorado fronteira
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo explorado fronteira
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo explorado fronteira
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo explorado fronteira
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo explorado fronteira
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo explorado fronteira
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo explorado fronteira
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo explorado fronteira
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
estado inicial objetivo explorado fronteira
Busca em largura
• A busca em largura encontrará o caminho com o menor número de 
passos 
• Mas não necessariamente o caminho de menor custo
monteiro
coxixola
soledade
campina 

grande
picuí
guarabira
areia
itabaiana
joão

pessoa
santa rita
mamanguape
patos
itaporanga
sousa
cajazeiras
catolé 

do rocha
pombal
o caminho verde é

mais curto que o azul
Busca em largura
• Próxima aula veremos como fazer isso

Outros materiais