SlideShare une entreprise Scribd logo
1  sur  53
18/08/15
Inteligência Artificial
Problemas e Algoritmos de Busca
18/08/15
O que é?
● Um problema de busca é uma tarefa que pode
ser resolvida através de uma sequência de
passos começando em um estado inicial e
tendo um objetivo (ou estado final)
18/08/15
O que é?
● Um algoritmo de busca é projetado para
encontrar um item com propriedades
especificadas em uma coleção de itens
18/08/15
Definição de um Problema de Busca
Um problema pode ser resolvido por um algoritmo de busca se ele tiver as seguintes características:
● Estado Inicial: uma descrição da situação inicial do agente (por exemplo, o vértice inicial em um grafo)
● Ações Possíveis: o conjunto de ações possíveis (por exemplo, movimentos do xadrez) disponíveis para
o agente em cada estado
● Modelo de Transição: descrição dos efeitos de cada ação em cada estado (no caso de um grafo, é uma
função que retorna os vizinhos de um dado vértice)
● Objetivo: uma forma de verificar se o agente atingiu seu estado objetivo (em um grafo, pode ser uma
função que recebe um estado e retorna verdadeiro ou falso)
● Custos: uma função que calcula o custo de um caminho (uma sequência de ações). Por exemplo, o
custo de um caminho entre 2 cidades pode ser a soma dos tempos de cada trecho entre elas.
18/08/15
Definição de um Problema de Busca
● Muitos problemas podem ser vistos como “alcançar um
estado final (meta) a partir de um ponto inicial”:
● Existe um espaço de estados que define o problema e
suas possíveis soluções de uma maneira formal;
● O espaço pode ser percorrido aplicando operadores para
mudar de um estado para o próximo.
18/08/15
Definição de um Problema de Busca
● um espaço de estados possíveis, incluindo um
estado inicial e um estado final (objetivo):
● dirigir de Foz do Iguaçu a Cascavel;
● jogo de 8-números.
18/08/15
Definição de um Problema de Busca
● Indo de casa para a aula:
● estado inicial: casa;
● objetivo: IFRS;
● operadores: dar um passo, virar (para quem mora bem perto).
● Carregando um caminhão de mudança:
● estado inicial: apartamento cheio de móveis e outros
objetos;
● objetivo: apartamento vazio, caixas e mobília dentro do caminhão;
● operadores: selecionar item, levar até o caminhão, carregar no
caminhão.
18/08/15
Mundo dos Blocos
Problema: encontrar um plano para rearranjar
os blocos.
18/08/15
Mundo dos Blocos
Condições:
● Um bloco pode ser movido apenas se seu topo
está vazio;
● Apenas um bloco pode ser movido de cada vez;
● Um bloco pode ser colocado sobre a mesa ou
sobre outro bloco.
18/08/15
Mundo dos Blocos
● Para encontrar um plano, devemos encontrar
uma sequência de movimentos que nos levem
ao objetivo.
18/08/15
Mundo dos Blocos
Como esse exemplo ilustra, existem dois tipos
de conceitos envolvidos nesse problema:
● Situações do problema;
● Movimentos ou ações permitidos, os quais
transformam as situações de problema em
outras situações.
18/08/15
Mundo dos Blocos
18/08/15
Mundo dos Blocos
18/08/15
18/08/15
Descrição Formal do Problema
● Definir o espaço de estados;
● Especificar:
● estado(s) inicial(ais) e
● estado(s) final(ais);
● Especificar:
● o conjunto de operadores
18/08/15
Descrição Formal do Problema
● Espaço de estados: conjunto de todos os estados
alcançáveis a partir do estado inicial por qualquer
sequência de ações;
● Definição do objetivo:
● Propriedade abstrata: condição de xeque-mate no Xadrez;
● Conjunto de estados finais do mundo: estar na cidade-destino.
● Solução: caminho (sequência de ações ou
operadores) que leva do estado inicial a um
estado final (objetivo)
18/08/15
Descrição Formal do Problema
Um grafo pode ser usado para representar um espaço de estados onde:
● Os nós correspondem a situações de um problema;
● As arestas correspondem a movimentos permitidos ou ações ou passos da solução;
● Um dado problema é solucionado encontrando-se um caminho no grafo.
● Um problema é definido por um espaço de estados (um grafo):
● Um estado (nó) inicial;
● Uma condição de término ou critério de parada; estados (nós) terminais são aqueles que
satisfazem a condição de término.
18/08/15
Solucionando o Problema
● Formulação do problema e do objetivo: quais são os
estados e as ações a considerar? qual é (e como
representar) o objetivo?
● Busca (solução do problema): processo que gera/analisa
sequências de ações para alcançar um objetivo solução =
caminho entre estado inicial e estado final;
● Execução: Executar (passo a passo) a solução completa
encontrada.
18/08/15
Busca Não Informada
18/08/15
Busca em Profundidade
18/08/15
Busca em Profundidade
18/08/15
Busca em Profundidade
DFS(G,v,f):
se v = f, retorne [f] //uma lista contendo apenas f
marque v //coloque um 'true' em uma lista global de visitados
Para cada vizinho de v faça
se vizinho não marcado então
p = DFS(G,vizinho,f) //p é um caminho / lista
se p contém f, retorne [v p] //v adicionado ao array p
retorne [] //caminho vazio
18/08/15
Busca em Profundidade
● Problema: pode ficar presa em grafos infinitos
e jamais achar o objetivo (algoritmo
incompleto)
● Solução: Busca em Profundidade Limitada
(LDFS)
● Defina uma profundidade máxima
● Faça a chamada recursiva apenas se não chegou no limite
18/08/15
Busca em Profundidade Limitada (LDFS)
LDFS(G,v,f,l):
se l = 0, retorne []
se v = f, retorne f
marque v
Para cada vizinho de v faça
se vizinho não marcado então
p = LDFS(G,vizinho,f,l-1)
se p contém f, retorne [v p]
retorne [] (caminho vazio)
18/08/15
Busca em Profundidade Limitada (LDFS)
● Problema: a busca pode encerrar antes de
chegar no objetivo (algoritmo incompleto)
● Solução: Busca com Aprofundamento Iterativo
(IDDFS)
● Chame a busca em profundidade limitada várias vezes com
limites cada vez maiores
● Não fica preso e sempre acha a solução (algoritmo
completo)
18/08/15
Busca com Aprofundamento Iterativo (IDDFS)
IDDFS(G,v,f)
caminho = [] //Lista vazia
l = 1
enquanto caminho não contém f
caminho = ldfs(G,v,f,l)
l = l + 1
18/08/15
Busca em Largura
18/08/15
Busca em Largura
18/08/15
Busca em Largura
18/08/15
Busca em Largura
18/08/15
Busca em Largura (BFS)
BuscaEmLargura(G,s,f)
marque s
insira s em F (F é uma fila)
origem = [] //Lista vazia
enquanto F não está vazia faça e não contém f
seja v o primeiro vértice de F
para cada vizinho de v faça
se vizinho não está marcado então
marque vizinho
insira vizinho em F
origem[vizinho] = v
fim se
fim para
retira v de F
fim enquanto
caminho = []
se fila contém f
caminho = [f] //Lista contendo f
v = f
enquanto v != s
v = origem[v]
caminho = [v caminho] //Adiciona v
fim enquanto
fim se
18/08/15
Busca em Largura (BFS)
● Nunca fica presa, sempre acha uma solução
(algoritmo completo)
● Sempre acha o caminho com a menor
quantidade de ações (não necessariamente o
melhor) (algoritmo não-ótimo)
● Se o grafo não tiver custos diferentes nas
arestas, o BFS encontra a melhor solução
18/08/15
Grafos com Pesos
● Os algoritmos DFS e BFS são apropriados apenas
para grafos sem pesos nas arestas
● Grafos podem conter pesos que indicam o custo de
percorrer uma aresta, como uma distância ou
dificuldade
● Para trabalhar com este tipo de grafo, precisaremos
de outros algoritmos (mas que são muito similares
ao BFS)
18/08/15
Busca de Custo Uniforme (UCS)
18/08/15
Busca de Custo Uniforme (UCS)
BuscaUniforme(G,s,f)
marque s com custo 0
insira s em F (F é uma fila de prioridade)
origem = []
enquanto F não está vazia e não contém f no início da fila faça
seja v o primeiro vértice de F
para cada vizinho de v faça
se custo até vizinho vindo por v < custo marcado no vizinho então
marque vizinho com custo vindo por v
insira vizinho em F
origem[vizinho] = v
fim se
fim para
retira v de F
fim enquanto
caminho = []
se fila contém f
caminho = [f]
v = f
enquanto v != s
v = origem[v]
caminho = [v caminho]
fim enquanto
fim se
18/08/15
Busca de Custo Uniforme
● Nunca fica presa (algoritmo completo)
● Sempre acha a melhor solução (algoritmo
ótimo)
● Fila de prioridades pronta em Java:
http://docs.oracle.com/javase/7/docs/api/java
/util/PriorityQueue.html
18/08/15
Busca Informada
18/08/15
Busca Informada
● Os algoritmos vistos até o momento são considerados de
busca não-informada
● Isto significa que eles só sabem onde está o objetivo (estado
final) quando chegam nele
● Enquanto isso não acontece, o melhor que pode ser feito é
vasculhar tudo em todas as direções
● É como estar em um labirinto sem ideia de onde fica a saída
18/08/15
Busca Informada
● Agora veremos algoritmos de busca informada
● Estes algoritmos são usados quando podemos
fornecer informação de proximidade ao objetivo
● Se sabemos onde está o estado final, podemos
direcionar a busca nesta direção
● É como estar em um labirinto onde podemos ver uma
torre no local da saída
18/08/15
Busca Informada
● Ou seja, por mais que o UCS seja ótimo, no sentido
de que ele sempre encontra o melhor caminho, ele
não é o mais eficiente possível
● Algoritmos de busca informada são muito mais
rápidos e eficientes, explorando menos nós no grafo
● Mas para podermos usar um destes algoritmos,
precisamos de uma forma de informar a
proximidade até o alvo em cada nó do grafo
18/08/15
Heurísticas
● Uma heurística é uma estimativa
● No contexto de algoritmos de busca informada, usaremos heurísticas
para estimar a distância que falta de um vértice até o objetivo
● Na busca não informada usávamos apenas o custo percorrido
● Se usarmos apenas a heurística, teremos a Busca Gulosa (ela sempre explora o vértice
aparentemente mais próximo do objetivo)
● Se somarmos o custo percorrido a uma estimativa de quanto falta até o objetivo, temos o
algoritmo A*
● Dizemos que esses algoritmos são de busca informada pois eles
conhecem a localização do objetivo e podem usar esta informação para
estimar quanto falta para chegar lá
18/08/15
Busca Informada
● Observe as diferentes formas de calcular o
custo até um vértice:
● UCS → Custo Percorrido
● Busca Gulosa → Custo Restante Estimado
● A* → Custo Percorrido + Custo Restante
Estimado
18/08/15
Busca Gulosa (Greedy Search)
● A única diferença da Busca Gulosa para a UCS é
que a ordem da fila não é dada pelo custo
percorrido até cada vértice, mas sim pela
estimativa da distância restante até o objetivo
18/08/15
Busca Gulosa (Greedy Search)
● A Busca Gulosa é completa desde que não se
visite vértices repetidos
● A Busca Gulosa não é ótima
● Em geral é mais rápida que a UCS (expande
menos vértices)
18/08/15
Busca Gulosa (Greedy Search)
Custo: 450
18/08/15
A* (A-Estrela / A-Star)
● O algoritmo A* também é idêntico à UCS e à
Busca Gulosa
● Porém a ordenação da fila de prioridades é
pela soma do custo percorrido com a
estimativa da distância restante
custo total = percorrido + estimado
18/08/15
A*
● O algoritmo A* é completo e ótimo
● Desde que a heurística usada seja admissível
● Uma heurística é dita admissível se ela não superestima o custo real
● Ou seja, podemos errar as estimativas para baixo, mas nunca para cima
– Se a estimativa for sempre 0, caímos no UCS
● Por isso, em problemas de mapas em geral, a distância em linha reta é uma
boa heurística: é impossível fazer um trajeto menor que a linha reta,
portanto a estimativa nunca fica acima do valor real
18/08/15
A*
Custo: 418
18/08/15
18/08/15
A*
18/08/15
Outras Heurísticas
● Os algoritmos de busca informada não são
limitados a grafos de mapas
● Assim como qualquer algoritmo de busca em
grafos, eles também são genéricos
● Mas precisamos definir heurísticas adequadas
para cada tipo de problema
18/08/15
A*
18/08/15
A*

Contenu connexe

Tendances

Logística e cadeia de suprimento
Logística e cadeia de suprimentoLogística e cadeia de suprimento
Logística e cadeia de suprimentoJader Windson
 
Física experimental - Aula 1.pptx
Física experimental - Aula 1.pptxFísica experimental - Aula 1.pptx
Física experimental - Aula 1.pptxssuser3d1cd51
 
Lista de Exercícios - Linguagem Formais e Autômatos
Lista de Exercícios - Linguagem Formais e AutômatosLista de Exercícios - Linguagem Formais e Autômatos
Lista de Exercícios - Linguagem Formais e AutômatosTárcio Sales
 
Lei Geral de Proteção aos Dados (LGPD)
Lei Geral de Proteção aos Dados (LGPD)Lei Geral de Proteção aos Dados (LGPD)
Lei Geral de Proteção aos Dados (LGPD)Soraia Lima
 
Introdução à Análise de Dados - Aula 02 - Tipos Básicos de Dados
Introdução à Análise de Dados - Aula 02 - Tipos Básicos de Dados Introdução à Análise de Dados - Aula 02 - Tipos Básicos de Dados
Introdução à Análise de Dados - Aula 02 - Tipos Básicos de Dados Alexandre Duarte
 
Banco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoBanco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoRangel Javier
 
Carregamento, Sequenciamento e Programação da produção
Carregamento, Sequenciamento e Programação da produçãoCarregamento, Sequenciamento e Programação da produção
Carregamento, Sequenciamento e Programação da produçãoMauro Enrique
 
Cadeia de suprimentos
Cadeia de suprimentosCadeia de suprimentos
Cadeia de suprimentosFelippi Perez
 
69 slides gestão logística no canteiro de obra out 2015
69 slides  gestão  logística  no  canteiro  de  obra  out 201569 slides  gestão  logística  no  canteiro  de  obra  out 2015
69 slides gestão logística no canteiro de obra out 2015delano chaves gurgel do amaral
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Vitor Hugo Melo Araújo
 
Análise de Componentes Principais
Análise de Componentes PrincipaisAnálise de Componentes Principais
Análise de Componentes PrincipaisCélia M. D. Sales
 
Cordel Sobre Os Preceitos Ecológicos do Padre Cícero
Cordel Sobre Os Preceitos Ecológicos do Padre CíceroCordel Sobre Os Preceitos Ecológicos do Padre Cícero
Cordel Sobre Os Preceitos Ecológicos do Padre Cícerohistória vida
 
1ª lista de exercícios de pesquisa operacional com gabarito
1ª lista de exercícios de pesquisa operacional   com gabarito1ª lista de exercícios de pesquisa operacional   com gabarito
1ª lista de exercícios de pesquisa operacional com gabaritoAntonio Rodrigues
 

Tendances (20)

Logística e cadeia de suprimento
Logística e cadeia de suprimentoLogística e cadeia de suprimento
Logística e cadeia de suprimento
 
Estatística Descritiva
Estatística DescritivaEstatística Descritiva
Estatística Descritiva
 
Aula 09 - introducao oo
Aula 09 - introducao ooAula 09 - introducao oo
Aula 09 - introducao oo
 
Critérios de validade
Critérios de validadeCritérios de validade
Critérios de validade
 
Física experimental - Aula 1.pptx
Física experimental - Aula 1.pptxFísica experimental - Aula 1.pptx
Física experimental - Aula 1.pptx
 
Lista de Exercícios - Linguagem Formais e Autômatos
Lista de Exercícios - Linguagem Formais e AutômatosLista de Exercícios - Linguagem Formais e Autômatos
Lista de Exercícios - Linguagem Formais e Autômatos
 
Lei Geral de Proteção aos Dados (LGPD)
Lei Geral de Proteção aos Dados (LGPD)Lei Geral de Proteção aos Dados (LGPD)
Lei Geral de Proteção aos Dados (LGPD)
 
Gestão Armazenagem Estruturas Físicas
Gestão Armazenagem Estruturas FísicasGestão Armazenagem Estruturas Físicas
Gestão Armazenagem Estruturas Físicas
 
O Problema de Transporte - Pesquisa Operacional
O Problema de Transporte - Pesquisa OperacionalO Problema de Transporte - Pesquisa Operacional
O Problema de Transporte - Pesquisa Operacional
 
Introdução à Análise de Dados - Aula 02 - Tipos Básicos de Dados
Introdução à Análise de Dados - Aula 02 - Tipos Básicos de Dados Introdução à Análise de Dados - Aula 02 - Tipos Básicos de Dados
Introdução à Análise de Dados - Aula 02 - Tipos Básicos de Dados
 
Banco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoBanco de Dados - MySQL Basico
Banco de Dados - MySQL Basico
 
Aula analise algoritmos
Aula analise algoritmosAula analise algoritmos
Aula analise algoritmos
 
Carregamento, Sequenciamento e Programação da produção
Carregamento, Sequenciamento e Programação da produçãoCarregamento, Sequenciamento e Programação da produção
Carregamento, Sequenciamento e Programação da produção
 
Cadeia de suprimentos
Cadeia de suprimentosCadeia de suprimentos
Cadeia de suprimentos
 
Árvores Rubro Negra
Árvores Rubro NegraÁrvores Rubro Negra
Árvores Rubro Negra
 
69 slides gestão logística no canteiro de obra out 2015
69 slides  gestão  logística  no  canteiro  de  obra  out 201569 slides  gestão  logística  no  canteiro  de  obra  out 2015
69 slides gestão logística no canteiro de obra out 2015
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER
 
Análise de Componentes Principais
Análise de Componentes PrincipaisAnálise de Componentes Principais
Análise de Componentes Principais
 
Cordel Sobre Os Preceitos Ecológicos do Padre Cícero
Cordel Sobre Os Preceitos Ecológicos do Padre CíceroCordel Sobre Os Preceitos Ecológicos do Padre Cícero
Cordel Sobre Os Preceitos Ecológicos do Padre Cícero
 
1ª lista de exercícios de pesquisa operacional com gabarito
1ª lista de exercícios de pesquisa operacional   com gabarito1ª lista de exercícios de pesquisa operacional   com gabarito
1ª lista de exercícios de pesquisa operacional com gabarito
 

Plus de Rafael Pinto

Inteligência Artificial - Aula15 - Algoritmos Genéticos
Inteligência Artificial - Aula15 - Algoritmos GenéticosInteligência Artificial - Aula15 - Algoritmos Genéticos
Inteligência Artificial - Aula15 - Algoritmos GenéticosRafael Pinto
 
Inteligência Artificial - Aula5 - PageRank
Inteligência Artificial - Aula5  - PageRankInteligência Artificial - Aula5  - PageRank
Inteligência Artificial - Aula5 - PageRankRafael Pinto
 
Inteligência Artificial - Aula1 intro
Inteligência Artificial - Aula1 introInteligência Artificial - Aula1 intro
Inteligência Artificial - Aula1 introRafael Pinto
 
Slow Feature Analysis
Slow Feature AnalysisSlow Feature Analysis
Slow Feature AnalysisRafael Pinto
 
Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)
Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)
Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)Rafael Pinto
 
Neuroevolução com o algoritmo NEAT e suas Extensões
Neuroevolução com o algoritmo NEAT e suas ExtensõesNeuroevolução com o algoritmo NEAT e suas Extensões
Neuroevolução com o algoritmo NEAT e suas ExtensõesRafael Pinto
 
Um Reconhecedor de Padrões Espaço-Temporais Inspirado no Neocórtex
Um Reconhecedor de Padrões Espaço-Temporais Inspirado no NeocórtexUm Reconhecedor de Padrões Espaço-Temporais Inspirado no Neocórtex
Um Reconhecedor de Padrões Espaço-Temporais Inspirado no NeocórtexRafael Pinto
 

Plus de Rafael Pinto (10)

Deep Learning
Deep LearningDeep Learning
Deep Learning
 
Inteligência Artificial - Aula15 - Algoritmos Genéticos
Inteligência Artificial - Aula15 - Algoritmos GenéticosInteligência Artificial - Aula15 - Algoritmos Genéticos
Inteligência Artificial - Aula15 - Algoritmos Genéticos
 
Inteligência Artificial - Aula5 - PageRank
Inteligência Artificial - Aula5  - PageRankInteligência Artificial - Aula5  - PageRank
Inteligência Artificial - Aula5 - PageRank
 
Inteligência Artificial - Aula1 intro
Inteligência Artificial - Aula1 introInteligência Artificial - Aula1 intro
Inteligência Artificial - Aula1 intro
 
Slow Feature Analysis
Slow Feature AnalysisSlow Feature Analysis
Slow Feature Analysis
 
Ratslam
RatslamRatslam
Ratslam
 
Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)
Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)
Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)
 
Neuroevolução com o algoritmo NEAT e suas Extensões
Neuroevolução com o algoritmo NEAT e suas ExtensõesNeuroevolução com o algoritmo NEAT e suas Extensões
Neuroevolução com o algoritmo NEAT e suas Extensões
 
LoopSOM
LoopSOMLoopSOM
LoopSOM
 
Um Reconhecedor de Padrões Espaço-Temporais Inspirado no Neocórtex
Um Reconhecedor de Padrões Espaço-Temporais Inspirado no NeocórtexUm Reconhecedor de Padrões Espaço-Temporais Inspirado no Neocórtex
Um Reconhecedor de Padrões Espaço-Temporais Inspirado no Neocórtex
 

Dernier

REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...Universidade Federal de Sergipe - UFS
 
Revisão ENEM ensino médio 2024 para o terceiro ano
Revisão ENEM ensino médio 2024 para o terceiro anoRevisão ENEM ensino médio 2024 para o terceiro ano
Revisão ENEM ensino médio 2024 para o terceiro anoAlessandraRaiolDasNe
 
O Modelo Atômico de Dalton - Carlos Vinicius
O Modelo Atômico de Dalton - Carlos ViniciusO Modelo Atômico de Dalton - Carlos Vinicius
O Modelo Atômico de Dalton - Carlos ViniciusVini Master
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
Geologia Marinha - Variação do Nível do Mar
Geologia Marinha - Variação do Nível do MarGeologia Marinha - Variação do Nível do Mar
Geologia Marinha - Variação do Nível do MarGabbyCarvalhoAlves
 
NORMAS PARA PRODUCAO E PUBLICACAO UNIROVUMA - CAPACITACAO DOCENTE II SEMESTRE...
NORMAS PARA PRODUCAO E PUBLICACAO UNIROVUMA - CAPACITACAO DOCENTE II SEMESTRE...NORMAS PARA PRODUCAO E PUBLICACAO UNIROVUMA - CAPACITACAO DOCENTE II SEMESTRE...
NORMAS PARA PRODUCAO E PUBLICACAO UNIROVUMA - CAPACITACAO DOCENTE II SEMESTRE...LuisCSIssufo
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...Universidade Federal de Sergipe - UFS
 
Sistema _ Endocrino_ hormonios_8_ano.ppt
Sistema _ Endocrino_ hormonios_8_ano.pptSistema _ Endocrino_ hormonios_8_ano.ppt
Sistema _ Endocrino_ hormonios_8_ano.pptMrciaVidigal
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
Teorias da Evolução e slides sobre darwnismo e evoulao
Teorias da Evolução e slides sobre darwnismo e evoulaoTeorias da Evolução e slides sobre darwnismo e evoulao
Teorias da Evolução e slides sobre darwnismo e evoulaoEduardoBarreto262551
 

Dernier (18)

REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
 
Revisão ENEM ensino médio 2024 para o terceiro ano
Revisão ENEM ensino médio 2024 para o terceiro anoRevisão ENEM ensino médio 2024 para o terceiro ano
Revisão ENEM ensino médio 2024 para o terceiro ano
 
O Modelo Atômico de Dalton - Carlos Vinicius
O Modelo Atômico de Dalton - Carlos ViniciusO Modelo Atômico de Dalton - Carlos Vinicius
O Modelo Atômico de Dalton - Carlos Vinicius
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
Geologia Marinha - Variação do Nível do Mar
Geologia Marinha - Variação do Nível do MarGeologia Marinha - Variação do Nível do Mar
Geologia Marinha - Variação do Nível do Mar
 
NORMAS PARA PRODUCAO E PUBLICACAO UNIROVUMA - CAPACITACAO DOCENTE II SEMESTRE...
NORMAS PARA PRODUCAO E PUBLICACAO UNIROVUMA - CAPACITACAO DOCENTE II SEMESTRE...NORMAS PARA PRODUCAO E PUBLICACAO UNIROVUMA - CAPACITACAO DOCENTE II SEMESTRE...
NORMAS PARA PRODUCAO E PUBLICACAO UNIROVUMA - CAPACITACAO DOCENTE II SEMESTRE...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
 
Sistema _ Endocrino_ hormonios_8_ano.ppt
Sistema _ Endocrino_ hormonios_8_ano.pptSistema _ Endocrino_ hormonios_8_ano.ppt
Sistema _ Endocrino_ hormonios_8_ano.ppt
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
Teorias da Evolução e slides sobre darwnismo e evoulao
Teorias da Evolução e slides sobre darwnismo e evoulaoTeorias da Evolução e slides sobre darwnismo e evoulao
Teorias da Evolução e slides sobre darwnismo e evoulao
 

IA Algoritmos Busca Problemas

  • 2. 18/08/15 O que é? ● Um problema de busca é uma tarefa que pode ser resolvida através de uma sequência de passos começando em um estado inicial e tendo um objetivo (ou estado final)
  • 3. 18/08/15 O que é? ● Um algoritmo de busca é projetado para encontrar um item com propriedades especificadas em uma coleção de itens
  • 4. 18/08/15 Definição de um Problema de Busca Um problema pode ser resolvido por um algoritmo de busca se ele tiver as seguintes características: ● Estado Inicial: uma descrição da situação inicial do agente (por exemplo, o vértice inicial em um grafo) ● Ações Possíveis: o conjunto de ações possíveis (por exemplo, movimentos do xadrez) disponíveis para o agente em cada estado ● Modelo de Transição: descrição dos efeitos de cada ação em cada estado (no caso de um grafo, é uma função que retorna os vizinhos de um dado vértice) ● Objetivo: uma forma de verificar se o agente atingiu seu estado objetivo (em um grafo, pode ser uma função que recebe um estado e retorna verdadeiro ou falso) ● Custos: uma função que calcula o custo de um caminho (uma sequência de ações). Por exemplo, o custo de um caminho entre 2 cidades pode ser a soma dos tempos de cada trecho entre elas.
  • 5. 18/08/15 Definição de um Problema de Busca ● Muitos problemas podem ser vistos como “alcançar um estado final (meta) a partir de um ponto inicial”: ● Existe um espaço de estados que define o problema e suas possíveis soluções de uma maneira formal; ● O espaço pode ser percorrido aplicando operadores para mudar de um estado para o próximo.
  • 6. 18/08/15 Definição de um Problema de Busca ● um espaço de estados possíveis, incluindo um estado inicial e um estado final (objetivo): ● dirigir de Foz do Iguaçu a Cascavel; ● jogo de 8-números.
  • 7. 18/08/15 Definição de um Problema de Busca ● Indo de casa para a aula: ● estado inicial: casa; ● objetivo: IFRS; ● operadores: dar um passo, virar (para quem mora bem perto). ● Carregando um caminhão de mudança: ● estado inicial: apartamento cheio de móveis e outros objetos; ● objetivo: apartamento vazio, caixas e mobília dentro do caminhão; ● operadores: selecionar item, levar até o caminhão, carregar no caminhão.
  • 8. 18/08/15 Mundo dos Blocos Problema: encontrar um plano para rearranjar os blocos.
  • 9. 18/08/15 Mundo dos Blocos Condições: ● Um bloco pode ser movido apenas se seu topo está vazio; ● Apenas um bloco pode ser movido de cada vez; ● Um bloco pode ser colocado sobre a mesa ou sobre outro bloco.
  • 10. 18/08/15 Mundo dos Blocos ● Para encontrar um plano, devemos encontrar uma sequência de movimentos que nos levem ao objetivo.
  • 11. 18/08/15 Mundo dos Blocos Como esse exemplo ilustra, existem dois tipos de conceitos envolvidos nesse problema: ● Situações do problema; ● Movimentos ou ações permitidos, os quais transformam as situações de problema em outras situações.
  • 15. 18/08/15 Descrição Formal do Problema ● Definir o espaço de estados; ● Especificar: ● estado(s) inicial(ais) e ● estado(s) final(ais); ● Especificar: ● o conjunto de operadores
  • 16. 18/08/15 Descrição Formal do Problema ● Espaço de estados: conjunto de todos os estados alcançáveis a partir do estado inicial por qualquer sequência de ações; ● Definição do objetivo: ● Propriedade abstrata: condição de xeque-mate no Xadrez; ● Conjunto de estados finais do mundo: estar na cidade-destino. ● Solução: caminho (sequência de ações ou operadores) que leva do estado inicial a um estado final (objetivo)
  • 17. 18/08/15 Descrição Formal do Problema Um grafo pode ser usado para representar um espaço de estados onde: ● Os nós correspondem a situações de um problema; ● As arestas correspondem a movimentos permitidos ou ações ou passos da solução; ● Um dado problema é solucionado encontrando-se um caminho no grafo. ● Um problema é definido por um espaço de estados (um grafo): ● Um estado (nó) inicial; ● Uma condição de término ou critério de parada; estados (nós) terminais são aqueles que satisfazem a condição de término.
  • 18. 18/08/15 Solucionando o Problema ● Formulação do problema e do objetivo: quais são os estados e as ações a considerar? qual é (e como representar) o objetivo? ● Busca (solução do problema): processo que gera/analisa sequências de ações para alcançar um objetivo solução = caminho entre estado inicial e estado final; ● Execução: Executar (passo a passo) a solução completa encontrada.
  • 22. 18/08/15 Busca em Profundidade DFS(G,v,f): se v = f, retorne [f] //uma lista contendo apenas f marque v //coloque um 'true' em uma lista global de visitados Para cada vizinho de v faça se vizinho não marcado então p = DFS(G,vizinho,f) //p é um caminho / lista se p contém f, retorne [v p] //v adicionado ao array p retorne [] //caminho vazio
  • 23. 18/08/15 Busca em Profundidade ● Problema: pode ficar presa em grafos infinitos e jamais achar o objetivo (algoritmo incompleto) ● Solução: Busca em Profundidade Limitada (LDFS) ● Defina uma profundidade máxima ● Faça a chamada recursiva apenas se não chegou no limite
  • 24. 18/08/15 Busca em Profundidade Limitada (LDFS) LDFS(G,v,f,l): se l = 0, retorne [] se v = f, retorne f marque v Para cada vizinho de v faça se vizinho não marcado então p = LDFS(G,vizinho,f,l-1) se p contém f, retorne [v p] retorne [] (caminho vazio)
  • 25. 18/08/15 Busca em Profundidade Limitada (LDFS) ● Problema: a busca pode encerrar antes de chegar no objetivo (algoritmo incompleto) ● Solução: Busca com Aprofundamento Iterativo (IDDFS) ● Chame a busca em profundidade limitada várias vezes com limites cada vez maiores ● Não fica preso e sempre acha a solução (algoritmo completo)
  • 26. 18/08/15 Busca com Aprofundamento Iterativo (IDDFS) IDDFS(G,v,f) caminho = [] //Lista vazia l = 1 enquanto caminho não contém f caminho = ldfs(G,v,f,l) l = l + 1
  • 31. 18/08/15 Busca em Largura (BFS) BuscaEmLargura(G,s,f) marque s insira s em F (F é uma fila) origem = [] //Lista vazia enquanto F não está vazia faça e não contém f seja v o primeiro vértice de F para cada vizinho de v faça se vizinho não está marcado então marque vizinho insira vizinho em F origem[vizinho] = v fim se fim para retira v de F fim enquanto caminho = [] se fila contém f caminho = [f] //Lista contendo f v = f enquanto v != s v = origem[v] caminho = [v caminho] //Adiciona v fim enquanto fim se
  • 32. 18/08/15 Busca em Largura (BFS) ● Nunca fica presa, sempre acha uma solução (algoritmo completo) ● Sempre acha o caminho com a menor quantidade de ações (não necessariamente o melhor) (algoritmo não-ótimo) ● Se o grafo não tiver custos diferentes nas arestas, o BFS encontra a melhor solução
  • 33. 18/08/15 Grafos com Pesos ● Os algoritmos DFS e BFS são apropriados apenas para grafos sem pesos nas arestas ● Grafos podem conter pesos que indicam o custo de percorrer uma aresta, como uma distância ou dificuldade ● Para trabalhar com este tipo de grafo, precisaremos de outros algoritmos (mas que são muito similares ao BFS)
  • 34. 18/08/15 Busca de Custo Uniforme (UCS)
  • 35. 18/08/15 Busca de Custo Uniforme (UCS) BuscaUniforme(G,s,f) marque s com custo 0 insira s em F (F é uma fila de prioridade) origem = [] enquanto F não está vazia e não contém f no início da fila faça seja v o primeiro vértice de F para cada vizinho de v faça se custo até vizinho vindo por v < custo marcado no vizinho então marque vizinho com custo vindo por v insira vizinho em F origem[vizinho] = v fim se fim para retira v de F fim enquanto caminho = [] se fila contém f caminho = [f] v = f enquanto v != s v = origem[v] caminho = [v caminho] fim enquanto fim se
  • 36. 18/08/15 Busca de Custo Uniforme ● Nunca fica presa (algoritmo completo) ● Sempre acha a melhor solução (algoritmo ótimo) ● Fila de prioridades pronta em Java: http://docs.oracle.com/javase/7/docs/api/java /util/PriorityQueue.html
  • 38. 18/08/15 Busca Informada ● Os algoritmos vistos até o momento são considerados de busca não-informada ● Isto significa que eles só sabem onde está o objetivo (estado final) quando chegam nele ● Enquanto isso não acontece, o melhor que pode ser feito é vasculhar tudo em todas as direções ● É como estar em um labirinto sem ideia de onde fica a saída
  • 39. 18/08/15 Busca Informada ● Agora veremos algoritmos de busca informada ● Estes algoritmos são usados quando podemos fornecer informação de proximidade ao objetivo ● Se sabemos onde está o estado final, podemos direcionar a busca nesta direção ● É como estar em um labirinto onde podemos ver uma torre no local da saída
  • 40. 18/08/15 Busca Informada ● Ou seja, por mais que o UCS seja ótimo, no sentido de que ele sempre encontra o melhor caminho, ele não é o mais eficiente possível ● Algoritmos de busca informada são muito mais rápidos e eficientes, explorando menos nós no grafo ● Mas para podermos usar um destes algoritmos, precisamos de uma forma de informar a proximidade até o alvo em cada nó do grafo
  • 41. 18/08/15 Heurísticas ● Uma heurística é uma estimativa ● No contexto de algoritmos de busca informada, usaremos heurísticas para estimar a distância que falta de um vértice até o objetivo ● Na busca não informada usávamos apenas o custo percorrido ● Se usarmos apenas a heurística, teremos a Busca Gulosa (ela sempre explora o vértice aparentemente mais próximo do objetivo) ● Se somarmos o custo percorrido a uma estimativa de quanto falta até o objetivo, temos o algoritmo A* ● Dizemos que esses algoritmos são de busca informada pois eles conhecem a localização do objetivo e podem usar esta informação para estimar quanto falta para chegar lá
  • 42. 18/08/15 Busca Informada ● Observe as diferentes formas de calcular o custo até um vértice: ● UCS → Custo Percorrido ● Busca Gulosa → Custo Restante Estimado ● A* → Custo Percorrido + Custo Restante Estimado
  • 43. 18/08/15 Busca Gulosa (Greedy Search) ● A única diferença da Busca Gulosa para a UCS é que a ordem da fila não é dada pelo custo percorrido até cada vértice, mas sim pela estimativa da distância restante até o objetivo
  • 44. 18/08/15 Busca Gulosa (Greedy Search) ● A Busca Gulosa é completa desde que não se visite vértices repetidos ● A Busca Gulosa não é ótima ● Em geral é mais rápida que a UCS (expande menos vértices)
  • 45. 18/08/15 Busca Gulosa (Greedy Search) Custo: 450
  • 46. 18/08/15 A* (A-Estrela / A-Star) ● O algoritmo A* também é idêntico à UCS e à Busca Gulosa ● Porém a ordenação da fila de prioridades é pela soma do custo percorrido com a estimativa da distância restante custo total = percorrido + estimado
  • 47. 18/08/15 A* ● O algoritmo A* é completo e ótimo ● Desde que a heurística usada seja admissível ● Uma heurística é dita admissível se ela não superestima o custo real ● Ou seja, podemos errar as estimativas para baixo, mas nunca para cima – Se a estimativa for sempre 0, caímos no UCS ● Por isso, em problemas de mapas em geral, a distância em linha reta é uma boa heurística: é impossível fazer um trajeto menor que a linha reta, portanto a estimativa nunca fica acima do valor real
  • 51. 18/08/15 Outras Heurísticas ● Os algoritmos de busca informada não são limitados a grafos de mapas ● Assim como qualquer algoritmo de busca em grafos, eles também são genéricos ● Mas precisamos definir heurísticas adequadas para cada tipo de problema