SlideShare uma empresa Scribd logo
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E
TECNOLOGIA DO SUL DE MINAS – CAMPUS
MUZAMBINHO
Curso Superior de Ciência da Computação

PEDRO HENRIQUE DE OLIVEIRA MACHADO
SAYMON CRISTIAN ALVES OLIVEIRA
REGINALDO FARIA DA SILVA

RESOLUÇÃO DE PROBLEMAS POR MEIO DE BUSCA COM
INFORMAÇÃO

Muzambinho
2013
2

Sumário
1

Resolução de Problemas por meio de busca ...................................................................... 3

2

Busca com Informação ....................................................................................................... 3

3

Heurística............................................................................................................................ 3

4

Busca A* ............................................................................................................................. 4

5

Busca Gulosa ..................................................................................................................... 6

6

Minimax .............................................................................................................................. 6

7

Anexo I ..............................................................................................................................10
7.1

Exemplo de aplicação de Heurística com A* segundo NICÁCIO 2012 ........................10

7.1.1
8

O problema do Metrô de Paris .............................................................................10

Bibliografia .........................................................................................................................13
3

1 Resolução de Problemas por meio de busca
É construir um espaço de estados para encontrar uma sequência de ações cuja
aplicação resolve um problema.(RIZZI, 2013)
Segundo LIMA, o processo de tentar encontrar uma sequencia de ações que
leva de um estado até um estado objetivo é chamado de busca.

2 Busca com Informação
A Busca com Informação utiliza a definição do problema bem como o
conhecimento específico do problema (informações do problema) para efetuar as
buscas, este método, não procura a melhor solução é sim uma boa ou apenas alguma
solução.
Portanto a Busca com Informação utiliza o conhecimento específico para as
tomadas de decisão, ou seja, a escolha do próximo nó a ser expandido, isso não
garante encontrar uma solução nem ao menos uma solução ótima mais na maioria das
vezes consegue acelerar o processo.
Ex: perder uma chave e se recordar da ultima vez que utilizou ela para começar a
procurar.

3 Heurística
Problemas intratáveis ou difíceis de se obter uma solução ótima são casos da
aplicação de algoritmos de heurística. Pode-se dizer que é um algoritmo que pode
produzir um bom resultado, ou até mesmo obter a solução ótima, mas pode
também não produzir solução alguma ou uma solução que está distante da solução
ótima, assim ele gerasoluções aproximadas dentro de um limite, afim de mostrar
qualidade nos resultados.
4

Trabalhamos com algoritmos de heurística quando se diz respeito ao consumo
de tempo e não ter uma grande quantidade de recursos para encontrar soluções de
boa qualidade.
Definimos alguns casos e exemplos de heurística para melhor entendimento:
●

Problema da subida da encosta ou Hill Climbing:é uma estratégia que foi
baseada na Busca em Profundidade, que liga a ideia de atingir o objetivo com
o menor custo ou menor número de regras. A ideia é, empregando uma
ordenação total ou parcial do conjunto de estados, é possível dizer se um estado
sucessor leva para mais perto ou para mais longe da solução. Assim o algoritmo
de busca pode preferir explorar em primeiro lugar os estados que levam para
mais perto da solução.

●

Há duas variações do método: a Subida de Encosta SIMPLES e a Subida de Encosta
PELA TRILHA MAIS ÍNGREME.

●

Subida de encosta simples: vai examinando os sucessores do estado atual e segue
para o primeiro estado que for maior que o atual.

●

Subida de encosta pela trilha mais íngreme: Examina todos os sucessores do estado
atual e escolhe entre estes sucessores qual é o que está mais próximo da solução.

● Caixeiro Viajante:
● Problema das cores do mapa:
Se assemelha com o “tentativa e erro”.

4 Busca A*
É a forma mais conhecida de busca pela melhor escolha, avalia os nós
combinando g(n), o custo para alcançar cada nó , e h(n), o custo para ir do nó até o
objetivo: f(n) = g(n) + h(n). (RUSSEL, 2004)
5

Sendo assim g(n) trata-se do caminho a ser percorrido do nó inicial até o nó n
sendo este o nó atual e h(n) refere-se ao caminho a ser percorrido do nó n até o nó
objetivo, desta forma f(n) caracteriza pela soma do caminho a ser percorrido para se
chegar ao nó n com o caminho a ser percorrido do nó n até chegar o objetivo da busca
onde é estimada a solução de custo maís baixo passando por n.
O algoritmo de Busca A* visa experimentar primeiro o nó com menor valor de
g(n) + h(n), esta estratégia poderá resultar em um algoritmo ótimo e completo, desde
que a função heurística h(n) satisfaça certas condições, a busca A* será ao mesmo
tempo completa e ótima.
Segundo RUSSEL(2004), A* será ótima se for usada com BUSCA-EM-ÁRVORE
e se h(n) for uma heurística admissível, isto é, desde que h(n) nunca superestime o
custo para alcançar o objetivo. Heurística admissíveis são otimistas por natureza , pois
imaginam que o custo da resolução do problema seja menor do que ele é na realidade.
Tendo em vista que g(n) nunca irá superestimar o custo verdadeiro de uma solução
passando por n.
Se h(n) for sempre uma subestimativa da distância de um nó a um nó
objetivo, então o algoritmo A* será ótimo: é garantido encontrar o
caminho mais curto até um estado objetivo. A* é descrito como sendo
otimamente eficiente, no sentido de que, para encontrar o caminho até o
nó objetivo, ele expandirá o mínimo de caminhos possível. Mais uma vez,
essa propriedade depende de h(n) ser sempre um subestimativa.
(COPPIN, 2012)

A* será completo apenas se:
● a árvore a ser percorrida tiver um fator finito de ramificação;
● não contiver um caminho de custo finito com um número de nós infinitos;
● se o grafo a ser percorrido for localmente finito, ou seja, deve possuir um fator
finito de ramificações;
● e todo arco entre dois nós do grafo tiver um custo diferente de zero.
6

5 Busca Gulosa
A busca gulosa pela melhor escolha tenta expandir o nó mais próximo à meta,
na suposição de que isso provavelmente levará a uma solução rápida segundo Russel,
2004, ou seja, o algoritmo se dirige ao nó cuja medida reta até o destino proposto seja
o menor entre todos os nós isso supostamente levaria o algoritmo a um caminho mais
próximo.
Busca gulosa é uma variação do algoritmo A*, na qual g(nó) é zerada, de
tal modo que apenas h(nó) é utilizada para avaliar caminhos apropriados.
Deste modo, o algoritmo sempre seleciona o caminho que tenha o menor
valor heurístico ou distância estimada (ou custo) até o objetivo.(COPPIN,
2012)

No entanto a distância reta entre um nó a outro pode não ser a distância exata a
ser percorrida o que faz com que a solução encontrada pelo algoritmo de Busca Gulosa
não seja uma solução ótima uma vez que a distância a ser percorrida possa ser maior
que a distância das retas.

6 Minimax
É um método usado na Teoria da Decisão, Teoria dos Jogos, Estatística e
Filosofia para minimizar a perda máxima possível.(CALADO, 2008/2009)
O minimax é um recurso para minimizar a perda máximapossível. Sendo
considerado como a maximização do ganho mínimo. Avaliando a árvore de jogos,
pode-se assumir que o computador esteja tentando maximizar alguma pontuação que o
oponente esteja tentando minimizar.
O Algoritmo Minimax é usado para identificar os bons movimentos. Tendo a
disponibilidade de uma adequada função estática de avaliação que seja capaz de
fornecer uma pontuação geral para uma dada posição. Assim ao aplicar o Minimax o
avaliador estático será utilizado apenas nas folhas e os valores das folhas serão
7

filtrados, subindo a árvore, para pegar o melhor caminho que o computador possa
atingir.
O algoritmo minimax calcula a decisão minimax a partir do estado
corrente. Ela utiliza uma computação recursiva simples dos valores
minimax de cada estado sucessor, implementando diretamente as
equações da definição. A recursão percorre todo o caminho descendente
até as folhas da árvore, e depois os valores minimax são propagados de
volta pela árvore, à medida que a recursão retorna.
O algoritmo minimax executa uma exploração completa em profundidade
da árvore de jogo. Se a profundidade máxima da árvore é m e existem b
movimentos válidos em cada ponto, a complexidade de tempo do
m

m

algoritmo minimax é O(b ). A complexidade de espaço é O(b )para um
m

algoritmo que gera todos os sucessores de um vez ou O(b )para um
algoritmo que gera um sucesso de cada vez.(RUSSEL, 2004)

O Algoritmo Minimax um procedimento recursivo direto, que usa por base dois
procedimentos auxiliares, específicos do jogo, o gerador de movimento e a avaliação
estática.
O procedimento minimax precisa de três parâmetros para ser iniciada.
- Posição do Tabuleiro.
- Atual profundidade da busca.
- Jogador que realizara a jogada.
Sendo assim uma função recursiva, a profundidade atual é a mais comumente
utilizada para o encerramento. É possível utilizar diversos modos: limitar o
procedimento através do número de nós gerado, através do tempo estipulado, ou até
que a busca ache um movimento que não seja ruim não precisa ser o melhor
movimento. Como em qualquer partida, existe o fator do tempo do relógio, que varia
muito conforme a ocasião. Assim foi feito o mecanismo de cotas de tempo para que o
tempo seja processado e administrado do melhor modo como se fosse um humano.
Podendo estipular o tempo do jogo e assim feito uma estimativa do tempo de cada
jogada. Durante a execução, quando a cota de tempo é ultrapassada, a estrutura é
retornada e o movimento com a melhor contagem até então é realizado.
8

O procedimento minimax traz como resultado a estrutura que contém o valor do
caminho escolhido e o caminho em si, com o primeiro elemento, que representa o
melhor movimento a partir da posição atual. Se estiver dentro da cota de tempo, uma
camada da arvore é gerada, chamando a função de geração de movimento e atribuindo
como nós sucessores a lista que for retornada. Casa não haja sucessores, então não
há mais movimento a fazer. Retorna a estrutura. Se a lista de sucessores não estiver
vazia, então cada elemento é examinado através da função de avaliação estática, que
retornara o valor de cada nó, sendo guardado o registro do melhor elemento.
Como o Procedimento Minimax, tem um caminho que é explorado até o onde o
tempo permitir, muito caminhos podem surgir sem necessidade. Através de algoritmos
de busca fazendo algumas alterações no algoritmo Minimax para que isso não ocorra.
Alguns dos algoritmos de busca:
● Cortes Alfa-Beta- Técnica de manutenção de dois valores limites
para os nós, modificando, dessa forma, a estratégia de ramificar e
limitar utilizada no Minimax
● Busca de Quiescência- Consiste em uma busca adicional, que
tenta solucionar o problema de respostas incertas que podem ser
dadas pela função de avaliação caso se pare de aprofundar em
uma árvore não estável.
● Busca de Consistência- Consiste em uma busca de quiescência
que generaliza a busca de captura, frequentemente usada em
programas de xadrez. Expande nós que não são consistentes.
● Busca Secundária- Aumentando a precisão do procedimento
Minimax através da conferência dupla em determinada parte da
árvore.
● Movimentos Livrescos- A utilização de movimentos livrescos nas
sequências iniciais e finais em alguns jogos, combinada com a
utilização do procedimento Minimax, fornece um exemplo de como
o conhecimento e a busca podem ser combinados num único
programa e produzir resultados mais eficazes do que quando
aplicados isoladamente.
9

● Busca Racional- Fundada na teoria da decisão, a ideia é analisar
matematicamente as decisões tomadas por um algoritmo de busca
para que sejam tomadas da melhor maneira possível.
10

7 Anexo I
7.1 Exemplo de aplicação de Heurística com A* segundo NICÁCIO 2012

7.1.1

O problema do Metrô de Paris
“Suponha que queremos construir um sistema para auxiliar um
usuário do metrô de Paris a saber o trajeto mais rápido entre a estação
onde ele se encontra e a estação de destino. O usuário tem um painel
com o mapa, podendo selecionar a sua estação de destino.

O

sistema então acende as luzes sobre o mapa mostrando o melhor trajeto
a seguir (em termos de quais estações ele vai atravessar., e quais as
conexões mais rápidas a fazer – se for o caso).
Considere que:
• A distância em linha reta entre duas estações quaisquer é
dada em uma tabela. Para facilitar a vida, considere apenas 4 linhas do
metrô.
• A Velocidade média de um trem é de 30km/h;
• Tempo gasto para trocar de linha dentro de mesma estação
(fazer baldeação) é de 4 minutos.”(NICÁCIO, 2012)
11

Fonte: http://www.acso.uneb.br/marcosimoes/Disciplinas/UNEB/TEI3/Arquivos/MetroParis.pdf
“No problema do metrô de Paris, adotamos como representação do Estado o seguinte conjunto
de informações:
• O número da estação de metrô
• A linha a qual esta estação pertente
• informação sobre baldeação – informações sobre as linhas de metrô que passam pela estação, quando
esta estação dá acesso a mais de uma linha de metrô.
12
A informação sobre baldeação é importante porque informa ao agente de busca quando é
possível trocar de linha de metrô, assim como também ajuda na formação da função heurística, visto que
a realização de baldeação de linha pode ser mais custoso em um determinado ponto do caminho, mas
nada impede que o caminho de menor custo seja justamente o caminho que utilize baldeações.
Alguns exemplos da representação de um estado seriam:
• E = (1, azul, null) – representando a estação UM que pertence à linha azul e não possui opção de
baldeação.
• E = (4, azul, azul-verde) – representando a estação QUATRO, que pertence à linha Azul e possui
baldeação com a linha verde.
• E = (4, verde, azul-verde) – representando a estação QUATRO, que pertence à linha Verde e possui
baldeação com a linha azul.
Observe que cada estação que possui opção de baldeação pode ser representada de duas
formas diferentes, dependendo do caminho percorrido pelo agente. Pela ótica do agente de busca, se
ele está percorrendo a linha azul em busca da estação 8 (linha verde ou amarela) e alcança a estação 4,
naturalmente ele entenderá que essa estação pertence à linha que ele vem percorrendo (linha azul).
Uma vez estando na estação 4-azul, o agente pode modificar seu trajeto para a estação 4-verde.
Toda vez que o agente realizar uma ação onde ele não muda de estação, mas muda de linha, dizemos
que o agente realizou uma ação de baldeação.
Ações do agente
Neste contexto, o agente pode realizar as seguintes ações:
• Ir(estacao)
• Baldear(Estação)

Resultado da busca
Utilizamos o algoritmo A* (A Estrela) para a busca do estado alvo. Para demonstração,
escolhemos a estação 1 como estado inicial e a estação 14 como estado final.
Como o algoritmo A* exige a utilização de funções heurísticas, precisávamos representar, em
alguma estrutura de dados, as informações fornecidas pela lista através da tabela de distâncias e do
mapa do metrô. No programa, portanto, todas essas informações necessárias estão à disposição em
uma classe chamada ModeloMetro.java, utilizando o padrão de projeto singleton.”(NICÁCIO, 2012))
13

8 Bibliografia
CALADO

CARLOS,

Luís,

et

al

.Algoritmo

MiniMax.

Disponível

em:<http://paginas.fe.up.pt/~eol/IA/IA0809/APONTAMENTOS/Alunos_MiniMax.pdf>
2008/2009. Acesso em: 04/09/2013.
COPPPIN, Ben; Inteligência Artificial. Editora: LTC - Livros Técnicos e Científicos
Editora LTDA 2012. 628p.
NICÁCIO, Jalves Mendonça; MIRANDA, SunnyKelma Oliveira; PINTO, Fernando
Antonio

Dantas

Gomes,

Disponível

em:

<http://jalvesnicacio.wordpress.com/2012/03/25/algoritmo-a-a-star-e-busca-emlargura/> Publicado em : 25 março 2012 . Acesso em: 17/09/2013
LIMA, Edirlei Soares de. Inteligência Artificial – Resolução de Problemas por Meio
de

Busca.

Disponível

em:

<http://edirlei.3dgb.com.br/aulas/ia_2012_2/IA_Aula_03_Busca_2012.pdf> Acesso em:
31/08/2013.
RIZZI, Claudia Brandelero, Inteligência Artificial – Busca com informação e
exploração. Disponível em: <http://www.inf.unioeste.br/~claudia/aula2203_heu1.pdf>
25/03/2013, Acesso em : 31/08/2013.
RUSSELL, Stuart ; NORVIG, Peter. Inteligência Artificial. 12ª Tirgagem.
Elsevier 2004. 1021 p.

Editora:

Mais conteúdo relacionado

PDF
Introdução à Programação
PPTX
Elaboração do projeto de pesquisa
PPT
Photoshop Básico: Aula 1
PPT
Apresentação Scratch
PDF
Exercitando modelagem em UML
PDF
Principios do design
PDF
Fundamentos básicos do Design gráfico
PDF
ORIENTAÇÃO DE TCC
Introdução à Programação
Elaboração do projeto de pesquisa
Photoshop Básico: Aula 1
Apresentação Scratch
Exercitando modelagem em UML
Principios do design
Fundamentos básicos do Design gráfico
ORIENTAÇÃO DE TCC

Mais procurados (20)

PPTX
Conteúdos de ensino
PPT
Aula 2.1 - Projeto de Fábrica e Layout
PPTX
Planilhas eletrônicas
PPT
Apresentação TCC
PDF
Apostila Pesquisa operacional
PDF
Livro pdf - Estatística Aplicada (inferência) - Prof. MSc. Uanderson Rébula
PDF
Conceitos Básicos de Estatística II
PPTX
Fundamentos da Linguagem Visual
PPT
Excel Básico
PDF
Lean Manufacturing 5
PPT
Aula 13 Natureza Do Planejamento E Controle
PPSX
Aula 06 design gráfico na publicidade simetria e assimetria
PPTX
1. Aula Teoria das Cores
PPT
Aula 07 Medidas de Tendencia Central de Dados Não Agrupados
PPTX
Introdução ao Google Forms
PPT
Slides para Apresentação acadêmica
PDF
Aula 02 - Princípios da Gestalt
PDF
Plano de aula - POO - IFS
PDF
Introdução à Simulação
PPT
Apresentação TCC
Conteúdos de ensino
Aula 2.1 - Projeto de Fábrica e Layout
Planilhas eletrônicas
Apresentação TCC
Apostila Pesquisa operacional
Livro pdf - Estatística Aplicada (inferência) - Prof. MSc. Uanderson Rébula
Conceitos Básicos de Estatística II
Fundamentos da Linguagem Visual
Excel Básico
Lean Manufacturing 5
Aula 13 Natureza Do Planejamento E Controle
Aula 06 design gráfico na publicidade simetria e assimetria
1. Aula Teoria das Cores
Aula 07 Medidas de Tendencia Central de Dados Não Agrupados
Introdução ao Google Forms
Slides para Apresentação acadêmica
Aula 02 - Princípios da Gestalt
Plano de aula - POO - IFS
Introdução à Simulação
Apresentação TCC
Anúncio

Semelhante a Inteligência Artificial - Busca com informação (20)

PDF
Ia un01 busca_qualquer_caminho
PPT
IA Problemas & Heuristicas
ODP
Inteligência Artificial - Aula2 - Busca em Grafos
PDF
Resolução de problemas por meio de busca
PDF
Aula2_Busca.pdf
PPTX
Trabalho de inteligência artificial
PDF
Introducao a metaheuristicas: aula sobre metaheuristicas
PPT
Algoritmos _de_Busca_conceitos_e_aplicações.ppt
PDF
Aulas 11-guloso Algoritmos
PPT
IA-Aula4.ppt
PDF
busca ou pesquisas em inteligencia artificial
PDF
59 algoritmosgeneticos(1)
PDF
Busca tabu
PPT
busca3-funcoes-heuristicas.ppt
PDF
QAP: Metodos construtivos, 2-opt, Busca tabu
PDF
(ACH2044) Inteligência Artificial - Aula 03
PDF
Paa algoritmos gulosos
PPTX
Caminhos Mínimos - Algoritmo de Dijkstra
PDF
Aula 02 - Agentes e problemas de busca
Ia un01 busca_qualquer_caminho
IA Problemas & Heuristicas
Inteligência Artificial - Aula2 - Busca em Grafos
Resolução de problemas por meio de busca
Aula2_Busca.pdf
Trabalho de inteligência artificial
Introducao a metaheuristicas: aula sobre metaheuristicas
Algoritmos _de_Busca_conceitos_e_aplicações.ppt
Aulas 11-guloso Algoritmos
IA-Aula4.ppt
busca ou pesquisas em inteligencia artificial
59 algoritmosgeneticos(1)
Busca tabu
busca3-funcoes-heuristicas.ppt
QAP: Metodos construtivos, 2-opt, Busca tabu
(ACH2044) Inteligência Artificial - Aula 03
Paa algoritmos gulosos
Caminhos Mínimos - Algoritmo de Dijkstra
Aula 02 - Agentes e problemas de busca
Anúncio

Mais de Saymon Cristian Alves Oliveira (8)

PPTX
Terceirização de TI
PDF
Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
PDF
Team Software Process (TSP)
PDF
Criptografias - WEP vs WPA
PDF
PDF
Softwares de autoria
PDF
Calculo de volume de um silo utilizando integral
Terceirização de TI
Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
Team Software Process (TSP)
Criptografias - WEP vs WPA
Softwares de autoria
Calculo de volume de um silo utilizando integral

Último (16)

PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Processos na gestão de transportes, TM100 Col18
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PPTX
Arquitetura de computadores - Memórias Secundárias
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
COBITxITIL-Entenda as diferença em uso governança TI
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Custos e liquidação no SAP Transportation Management, TM130 Col18
Processos na gestão de transportes, TM100 Col18
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Arquitetura de computadores - Memórias Secundárias
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...

Inteligência Artificial - Busca com informação

  • 1. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO SUL DE MINAS – CAMPUS MUZAMBINHO Curso Superior de Ciência da Computação PEDRO HENRIQUE DE OLIVEIRA MACHADO SAYMON CRISTIAN ALVES OLIVEIRA REGINALDO FARIA DA SILVA RESOLUÇÃO DE PROBLEMAS POR MEIO DE BUSCA COM INFORMAÇÃO Muzambinho 2013
  • 2. 2 Sumário 1 Resolução de Problemas por meio de busca ...................................................................... 3 2 Busca com Informação ....................................................................................................... 3 3 Heurística............................................................................................................................ 3 4 Busca A* ............................................................................................................................. 4 5 Busca Gulosa ..................................................................................................................... 6 6 Minimax .............................................................................................................................. 6 7 Anexo I ..............................................................................................................................10 7.1 Exemplo de aplicação de Heurística com A* segundo NICÁCIO 2012 ........................10 7.1.1 8 O problema do Metrô de Paris .............................................................................10 Bibliografia .........................................................................................................................13
  • 3. 3 1 Resolução de Problemas por meio de busca É construir um espaço de estados para encontrar uma sequência de ações cuja aplicação resolve um problema.(RIZZI, 2013) Segundo LIMA, o processo de tentar encontrar uma sequencia de ações que leva de um estado até um estado objetivo é chamado de busca. 2 Busca com Informação A Busca com Informação utiliza a definição do problema bem como o conhecimento específico do problema (informações do problema) para efetuar as buscas, este método, não procura a melhor solução é sim uma boa ou apenas alguma solução. Portanto a Busca com Informação utiliza o conhecimento específico para as tomadas de decisão, ou seja, a escolha do próximo nó a ser expandido, isso não garante encontrar uma solução nem ao menos uma solução ótima mais na maioria das vezes consegue acelerar o processo. Ex: perder uma chave e se recordar da ultima vez que utilizou ela para começar a procurar. 3 Heurística Problemas intratáveis ou difíceis de se obter uma solução ótima são casos da aplicação de algoritmos de heurística. Pode-se dizer que é um algoritmo que pode produzir um bom resultado, ou até mesmo obter a solução ótima, mas pode também não produzir solução alguma ou uma solução que está distante da solução ótima, assim ele gerasoluções aproximadas dentro de um limite, afim de mostrar qualidade nos resultados.
  • 4. 4 Trabalhamos com algoritmos de heurística quando se diz respeito ao consumo de tempo e não ter uma grande quantidade de recursos para encontrar soluções de boa qualidade. Definimos alguns casos e exemplos de heurística para melhor entendimento: ● Problema da subida da encosta ou Hill Climbing:é uma estratégia que foi baseada na Busca em Profundidade, que liga a ideia de atingir o objetivo com o menor custo ou menor número de regras. A ideia é, empregando uma ordenação total ou parcial do conjunto de estados, é possível dizer se um estado sucessor leva para mais perto ou para mais longe da solução. Assim o algoritmo de busca pode preferir explorar em primeiro lugar os estados que levam para mais perto da solução. ● Há duas variações do método: a Subida de Encosta SIMPLES e a Subida de Encosta PELA TRILHA MAIS ÍNGREME. ● Subida de encosta simples: vai examinando os sucessores do estado atual e segue para o primeiro estado que for maior que o atual. ● Subida de encosta pela trilha mais íngreme: Examina todos os sucessores do estado atual e escolhe entre estes sucessores qual é o que está mais próximo da solução. ● Caixeiro Viajante: ● Problema das cores do mapa: Se assemelha com o “tentativa e erro”. 4 Busca A* É a forma mais conhecida de busca pela melhor escolha, avalia os nós combinando g(n), o custo para alcançar cada nó , e h(n), o custo para ir do nó até o objetivo: f(n) = g(n) + h(n). (RUSSEL, 2004)
  • 5. 5 Sendo assim g(n) trata-se do caminho a ser percorrido do nó inicial até o nó n sendo este o nó atual e h(n) refere-se ao caminho a ser percorrido do nó n até o nó objetivo, desta forma f(n) caracteriza pela soma do caminho a ser percorrido para se chegar ao nó n com o caminho a ser percorrido do nó n até chegar o objetivo da busca onde é estimada a solução de custo maís baixo passando por n. O algoritmo de Busca A* visa experimentar primeiro o nó com menor valor de g(n) + h(n), esta estratégia poderá resultar em um algoritmo ótimo e completo, desde que a função heurística h(n) satisfaça certas condições, a busca A* será ao mesmo tempo completa e ótima. Segundo RUSSEL(2004), A* será ótima se for usada com BUSCA-EM-ÁRVORE e se h(n) for uma heurística admissível, isto é, desde que h(n) nunca superestime o custo para alcançar o objetivo. Heurística admissíveis são otimistas por natureza , pois imaginam que o custo da resolução do problema seja menor do que ele é na realidade. Tendo em vista que g(n) nunca irá superestimar o custo verdadeiro de uma solução passando por n. Se h(n) for sempre uma subestimativa da distância de um nó a um nó objetivo, então o algoritmo A* será ótimo: é garantido encontrar o caminho mais curto até um estado objetivo. A* é descrito como sendo otimamente eficiente, no sentido de que, para encontrar o caminho até o nó objetivo, ele expandirá o mínimo de caminhos possível. Mais uma vez, essa propriedade depende de h(n) ser sempre um subestimativa. (COPPIN, 2012) A* será completo apenas se: ● a árvore a ser percorrida tiver um fator finito de ramificação; ● não contiver um caminho de custo finito com um número de nós infinitos; ● se o grafo a ser percorrido for localmente finito, ou seja, deve possuir um fator finito de ramificações; ● e todo arco entre dois nós do grafo tiver um custo diferente de zero.
  • 6. 6 5 Busca Gulosa A busca gulosa pela melhor escolha tenta expandir o nó mais próximo à meta, na suposição de que isso provavelmente levará a uma solução rápida segundo Russel, 2004, ou seja, o algoritmo se dirige ao nó cuja medida reta até o destino proposto seja o menor entre todos os nós isso supostamente levaria o algoritmo a um caminho mais próximo. Busca gulosa é uma variação do algoritmo A*, na qual g(nó) é zerada, de tal modo que apenas h(nó) é utilizada para avaliar caminhos apropriados. Deste modo, o algoritmo sempre seleciona o caminho que tenha o menor valor heurístico ou distância estimada (ou custo) até o objetivo.(COPPIN, 2012) No entanto a distância reta entre um nó a outro pode não ser a distância exata a ser percorrida o que faz com que a solução encontrada pelo algoritmo de Busca Gulosa não seja uma solução ótima uma vez que a distância a ser percorrida possa ser maior que a distância das retas. 6 Minimax É um método usado na Teoria da Decisão, Teoria dos Jogos, Estatística e Filosofia para minimizar a perda máxima possível.(CALADO, 2008/2009) O minimax é um recurso para minimizar a perda máximapossível. Sendo considerado como a maximização do ganho mínimo. Avaliando a árvore de jogos, pode-se assumir que o computador esteja tentando maximizar alguma pontuação que o oponente esteja tentando minimizar. O Algoritmo Minimax é usado para identificar os bons movimentos. Tendo a disponibilidade de uma adequada função estática de avaliação que seja capaz de fornecer uma pontuação geral para uma dada posição. Assim ao aplicar o Minimax o avaliador estático será utilizado apenas nas folhas e os valores das folhas serão
  • 7. 7 filtrados, subindo a árvore, para pegar o melhor caminho que o computador possa atingir. O algoritmo minimax calcula a decisão minimax a partir do estado corrente. Ela utiliza uma computação recursiva simples dos valores minimax de cada estado sucessor, implementando diretamente as equações da definição. A recursão percorre todo o caminho descendente até as folhas da árvore, e depois os valores minimax são propagados de volta pela árvore, à medida que a recursão retorna. O algoritmo minimax executa uma exploração completa em profundidade da árvore de jogo. Se a profundidade máxima da árvore é m e existem b movimentos válidos em cada ponto, a complexidade de tempo do m m algoritmo minimax é O(b ). A complexidade de espaço é O(b )para um m algoritmo que gera todos os sucessores de um vez ou O(b )para um algoritmo que gera um sucesso de cada vez.(RUSSEL, 2004) O Algoritmo Minimax um procedimento recursivo direto, que usa por base dois procedimentos auxiliares, específicos do jogo, o gerador de movimento e a avaliação estática. O procedimento minimax precisa de três parâmetros para ser iniciada. - Posição do Tabuleiro. - Atual profundidade da busca. - Jogador que realizara a jogada. Sendo assim uma função recursiva, a profundidade atual é a mais comumente utilizada para o encerramento. É possível utilizar diversos modos: limitar o procedimento através do número de nós gerado, através do tempo estipulado, ou até que a busca ache um movimento que não seja ruim não precisa ser o melhor movimento. Como em qualquer partida, existe o fator do tempo do relógio, que varia muito conforme a ocasião. Assim foi feito o mecanismo de cotas de tempo para que o tempo seja processado e administrado do melhor modo como se fosse um humano. Podendo estipular o tempo do jogo e assim feito uma estimativa do tempo de cada jogada. Durante a execução, quando a cota de tempo é ultrapassada, a estrutura é retornada e o movimento com a melhor contagem até então é realizado.
  • 8. 8 O procedimento minimax traz como resultado a estrutura que contém o valor do caminho escolhido e o caminho em si, com o primeiro elemento, que representa o melhor movimento a partir da posição atual. Se estiver dentro da cota de tempo, uma camada da arvore é gerada, chamando a função de geração de movimento e atribuindo como nós sucessores a lista que for retornada. Casa não haja sucessores, então não há mais movimento a fazer. Retorna a estrutura. Se a lista de sucessores não estiver vazia, então cada elemento é examinado através da função de avaliação estática, que retornara o valor de cada nó, sendo guardado o registro do melhor elemento. Como o Procedimento Minimax, tem um caminho que é explorado até o onde o tempo permitir, muito caminhos podem surgir sem necessidade. Através de algoritmos de busca fazendo algumas alterações no algoritmo Minimax para que isso não ocorra. Alguns dos algoritmos de busca: ● Cortes Alfa-Beta- Técnica de manutenção de dois valores limites para os nós, modificando, dessa forma, a estratégia de ramificar e limitar utilizada no Minimax ● Busca de Quiescência- Consiste em uma busca adicional, que tenta solucionar o problema de respostas incertas que podem ser dadas pela função de avaliação caso se pare de aprofundar em uma árvore não estável. ● Busca de Consistência- Consiste em uma busca de quiescência que generaliza a busca de captura, frequentemente usada em programas de xadrez. Expande nós que não são consistentes. ● Busca Secundária- Aumentando a precisão do procedimento Minimax através da conferência dupla em determinada parte da árvore. ● Movimentos Livrescos- A utilização de movimentos livrescos nas sequências iniciais e finais em alguns jogos, combinada com a utilização do procedimento Minimax, fornece um exemplo de como o conhecimento e a busca podem ser combinados num único programa e produzir resultados mais eficazes do que quando aplicados isoladamente.
  • 9. 9 ● Busca Racional- Fundada na teoria da decisão, a ideia é analisar matematicamente as decisões tomadas por um algoritmo de busca para que sejam tomadas da melhor maneira possível.
  • 10. 10 7 Anexo I 7.1 Exemplo de aplicação de Heurística com A* segundo NICÁCIO 2012 7.1.1 O problema do Metrô de Paris “Suponha que queremos construir um sistema para auxiliar um usuário do metrô de Paris a saber o trajeto mais rápido entre a estação onde ele se encontra e a estação de destino. O usuário tem um painel com o mapa, podendo selecionar a sua estação de destino. O sistema então acende as luzes sobre o mapa mostrando o melhor trajeto a seguir (em termos de quais estações ele vai atravessar., e quais as conexões mais rápidas a fazer – se for o caso). Considere que: • A distância em linha reta entre duas estações quaisquer é dada em uma tabela. Para facilitar a vida, considere apenas 4 linhas do metrô. • A Velocidade média de um trem é de 30km/h; • Tempo gasto para trocar de linha dentro de mesma estação (fazer baldeação) é de 4 minutos.”(NICÁCIO, 2012)
  • 11. 11 Fonte: http://www.acso.uneb.br/marcosimoes/Disciplinas/UNEB/TEI3/Arquivos/MetroParis.pdf “No problema do metrô de Paris, adotamos como representação do Estado o seguinte conjunto de informações: • O número da estação de metrô • A linha a qual esta estação pertente • informação sobre baldeação – informações sobre as linhas de metrô que passam pela estação, quando esta estação dá acesso a mais de uma linha de metrô.
  • 12. 12 A informação sobre baldeação é importante porque informa ao agente de busca quando é possível trocar de linha de metrô, assim como também ajuda na formação da função heurística, visto que a realização de baldeação de linha pode ser mais custoso em um determinado ponto do caminho, mas nada impede que o caminho de menor custo seja justamente o caminho que utilize baldeações. Alguns exemplos da representação de um estado seriam: • E = (1, azul, null) – representando a estação UM que pertence à linha azul e não possui opção de baldeação. • E = (4, azul, azul-verde) – representando a estação QUATRO, que pertence à linha Azul e possui baldeação com a linha verde. • E = (4, verde, azul-verde) – representando a estação QUATRO, que pertence à linha Verde e possui baldeação com a linha azul. Observe que cada estação que possui opção de baldeação pode ser representada de duas formas diferentes, dependendo do caminho percorrido pelo agente. Pela ótica do agente de busca, se ele está percorrendo a linha azul em busca da estação 8 (linha verde ou amarela) e alcança a estação 4, naturalmente ele entenderá que essa estação pertence à linha que ele vem percorrendo (linha azul). Uma vez estando na estação 4-azul, o agente pode modificar seu trajeto para a estação 4-verde. Toda vez que o agente realizar uma ação onde ele não muda de estação, mas muda de linha, dizemos que o agente realizou uma ação de baldeação. Ações do agente Neste contexto, o agente pode realizar as seguintes ações: • Ir(estacao) • Baldear(Estação) Resultado da busca Utilizamos o algoritmo A* (A Estrela) para a busca do estado alvo. Para demonstração, escolhemos a estação 1 como estado inicial e a estação 14 como estado final. Como o algoritmo A* exige a utilização de funções heurísticas, precisávamos representar, em alguma estrutura de dados, as informações fornecidas pela lista através da tabela de distâncias e do mapa do metrô. No programa, portanto, todas essas informações necessárias estão à disposição em uma classe chamada ModeloMetro.java, utilizando o padrão de projeto singleton.”(NICÁCIO, 2012))
  • 13. 13 8 Bibliografia CALADO CARLOS, Luís, et al .Algoritmo MiniMax. Disponível em:<http://paginas.fe.up.pt/~eol/IA/IA0809/APONTAMENTOS/Alunos_MiniMax.pdf> 2008/2009. Acesso em: 04/09/2013. COPPPIN, Ben; Inteligência Artificial. Editora: LTC - Livros Técnicos e Científicos Editora LTDA 2012. 628p. NICÁCIO, Jalves Mendonça; MIRANDA, SunnyKelma Oliveira; PINTO, Fernando Antonio Dantas Gomes, Disponível em: <http://jalvesnicacio.wordpress.com/2012/03/25/algoritmo-a-a-star-e-busca-emlargura/> Publicado em : 25 março 2012 . Acesso em: 17/09/2013 LIMA, Edirlei Soares de. Inteligência Artificial – Resolução de Problemas por Meio de Busca. Disponível em: <http://edirlei.3dgb.com.br/aulas/ia_2012_2/IA_Aula_03_Busca_2012.pdf> Acesso em: 31/08/2013. RIZZI, Claudia Brandelero, Inteligência Artificial – Busca com informação e exploração. Disponível em: <http://www.inf.unioeste.br/~claudia/aula2203_heu1.pdf> 25/03/2013, Acesso em : 31/08/2013. RUSSELL, Stuart ; NORVIG, Peter. Inteligência Artificial. 12ª Tirgagem. Elsevier 2004. 1021 p. Editora: