SlideShare uma empresa Scribd logo
1 de 13
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

Mais procurados

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
 
Inteligência Artificial - Aula2 - Busca em Grafos
Inteligência Artificial - Aula2 - Busca em GrafosInteligência Artificial - Aula2 - Busca em Grafos
Inteligência Artificial - Aula2 - Busca em GrafosRafael Pinto
 
Ficha de Anamnese Corporal - Flér Dermocosméticos
Ficha de Anamnese Corporal - Flér DermocosméticosFicha de Anamnese Corporal - Flér Dermocosméticos
Ficha de Anamnese Corporal - Flér DermocosméticosAmericanFisio
 
Labirintos 2D - Abordagem de grafos
Labirintos 2D - Abordagem de grafosLabirintos 2D - Abordagem de grafos
Labirintos 2D - Abordagem de grafosBruno Oliveira
 
Cálculos trabalhistas passo a passo
Cálculos trabalhistas passo a passoCálculos trabalhistas passo a passo
Cálculos trabalhistas passo a passoIara Triers
 
Orcamento de Tesouraria
Orcamento de TesourariaOrcamento de Tesouraria
Orcamento de TesourariaFaudo Mussa
 
PETI - Planejamento Estratégico de Tecnologia da Informação
PETI - Planejamento Estratégico de Tecnologia da InformaçãoPETI - Planejamento Estratégico de Tecnologia da Informação
PETI - Planejamento Estratégico de Tecnologia da InformaçãoWagner Silva
 
Como fazer o holerite (folha de pagamento
Como fazer o holerite (folha de pagamentoComo fazer o holerite (folha de pagamento
Como fazer o holerite (folha de pagamentoMaria Rosangela Nunes
 
Contabilidade e Fiscalidade-M13.pptx
Contabilidade e Fiscalidade-M13.pptxContabilidade e Fiscalidade-M13.pptx
Contabilidade e Fiscalidade-M13.pptxssuser129a121
 
Processo de cicatrizacao
Processo de cicatrizacaoProcesso de cicatrizacao
Processo de cicatrizacaoHugo Pedrosa
 
Empresa fictícia para trabalho de Administração
Empresa fictícia para trabalho de AdministraçãoEmpresa fictícia para trabalho de Administração
Empresa fictícia para trabalho de AdministraçãoPâmella Cavallini
 

Mais procurados (20)

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
 
Resolução de problemas por meio de busca
Resolução de problemas por meio de buscaResolução de problemas por meio de busca
Resolução de problemas por meio de busca
 
Manual de portugol
Manual de portugolManual de portugol
Manual de portugol
 
Modelos de Processo de Software
Modelos de Processo de SoftwareModelos de Processo de Software
Modelos de Processo de Software
 
Inteligência Artificial - Aula2 - Busca em Grafos
Inteligência Artificial - Aula2 - Busca em GrafosInteligência Artificial - Aula2 - Busca em Grafos
Inteligência Artificial - Aula2 - Busca em Grafos
 
Células do sangue
Células do sangueCélulas do sangue
Células do sangue
 
Ficha de Anamnese Corporal - Flér Dermocosméticos
Ficha de Anamnese Corporal - Flér DermocosméticosFicha de Anamnese Corporal - Flér Dermocosméticos
Ficha de Anamnese Corporal - Flér Dermocosméticos
 
Labirintos 2D - Abordagem de grafos
Labirintos 2D - Abordagem de grafosLabirintos 2D - Abordagem de grafos
Labirintos 2D - Abordagem de grafos
 
Cálculos trabalhistas passo a passo
Cálculos trabalhistas passo a passoCálculos trabalhistas passo a passo
Cálculos trabalhistas passo a passo
 
ácidos nucleicos
ácidos nucleicosácidos nucleicos
ácidos nucleicos
 
Orcamento de Tesouraria
Orcamento de TesourariaOrcamento de Tesouraria
Orcamento de Tesouraria
 
Aula 4 - Introducão a algoritmos
Aula 4 - Introducão a algoritmosAula 4 - Introducão a algoritmos
Aula 4 - Introducão a algoritmos
 
PETI - Planejamento Estratégico de Tecnologia da Informação
PETI - Planejamento Estratégico de Tecnologia da InformaçãoPETI - Planejamento Estratégico de Tecnologia da Informação
PETI - Planejamento Estratégico de Tecnologia da Informação
 
Estrutura do gene
Estrutura do geneEstrutura do gene
Estrutura do gene
 
Como fazer o holerite (folha de pagamento
Como fazer o holerite (folha de pagamentoComo fazer o holerite (folha de pagamento
Como fazer o holerite (folha de pagamento
 
CARTA DE APRESENTACAO
CARTA DE APRESENTACAOCARTA DE APRESENTACAO
CARTA DE APRESENTACAO
 
Contabilidade e Fiscalidade-M13.pptx
Contabilidade e Fiscalidade-M13.pptxContabilidade e Fiscalidade-M13.pptx
Contabilidade e Fiscalidade-M13.pptx
 
Processo de cicatrizacao
Processo de cicatrizacaoProcesso de cicatrizacao
Processo de cicatrizacao
 
MXM-Faturamento
MXM-FaturamentoMXM-Faturamento
MXM-Faturamento
 
Empresa fictícia para trabalho de Administração
Empresa fictícia para trabalho de AdministraçãoEmpresa fictícia para trabalho de Administração
Empresa fictícia para trabalho de Administração
 

Semelhante a Busca com Informação e Heurística

IA Problemas & Heuristicas
IA Problemas & HeuristicasIA Problemas & Heuristicas
IA Problemas & Heuristicasrafael.joi
 
59 algoritmosgeneticos(1)
59 algoritmosgeneticos(1)59 algoritmosgeneticos(1)
59 algoritmosgeneticos(1)arapido
 
QAP: Metodos construtivos, 2-opt, Busca tabu
QAP: Metodos construtivos, 2-opt, Busca tabuQAP: Metodos construtivos, 2-opt, Busca tabu
QAP: Metodos construtivos, 2-opt, Busca tabuDaniel Gribel
 
[José Ahirton Lopes] Support Vector Machines
[José Ahirton Lopes] Support Vector Machines[José Ahirton Lopes] Support Vector Machines
[José Ahirton Lopes] Support Vector MachinesAhirton Lopes
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoRegis Magalhães
 
ApostilaAlgoritmo
ApostilaAlgoritmoApostilaAlgoritmo
ApostilaAlgoritmoprogidio
 
CAP11 - PARTE 2 - Tendencia
CAP11 - PARTE 2 - TendenciaCAP11 - PARTE 2 - Tendencia
CAP11 - PARTE 2 - TendenciaRegis Andrade
 
Resolvido Prova Tecnico da Marinha 2013
Resolvido Prova Tecnico da Marinha 2013 Resolvido Prova Tecnico da Marinha 2013
Resolvido Prova Tecnico da Marinha 2013 Déborah Luzia
 
Algoritmo de escalonamento Fuzzy Round Robin
Algoritmo de escalonamento Fuzzy Round RobinAlgoritmo de escalonamento Fuzzy Round Robin
Algoritmo de escalonamento Fuzzy Round RobinMarcos Castro
 
Algoritmos _de_Busca_conceitos_e_aplicações.ppt
Algoritmos _de_Busca_conceitos_e_aplicações.pptAlgoritmos _de_Busca_conceitos_e_aplicações.ppt
Algoritmos _de_Busca_conceitos_e_aplicações.pptfabiospak1
 
Programação Dinâmica
Programação DinâmicaProgramação Dinâmica
Programação DinâmicaOrlando Junior
 
Scaling bayesian network parameter learning with Hadoop
Scaling bayesian network parameter learning with HadoopScaling bayesian network parameter learning with Hadoop
Scaling bayesian network parameter learning with HadoopJoão Gabriel Lima
 
Uma abordagem BigData para Encontrar Sub-conjuntos de itens frequentes median...
Uma abordagem BigData para Encontrar Sub-conjuntos de itens frequentes median...Uma abordagem BigData para Encontrar Sub-conjuntos de itens frequentes median...
Uma abordagem BigData para Encontrar Sub-conjuntos de itens frequentes median...UFAM - Universidade Federal do Amazonas
 

Semelhante a Busca com Informação e Heurística (20)

IA Problemas & Heuristicas
IA Problemas & HeuristicasIA Problemas & Heuristicas
IA Problemas & Heuristicas
 
59 algoritmosgeneticos(1)
59 algoritmosgeneticos(1)59 algoritmosgeneticos(1)
59 algoritmosgeneticos(1)
 
QAP: Metodos construtivos, 2-opt, Busca tabu
QAP: Metodos construtivos, 2-opt, Busca tabuQAP: Metodos construtivos, 2-opt, Busca tabu
QAP: Metodos construtivos, 2-opt, Busca tabu
 
[José Ahirton Lopes] Support Vector Machines
[José Ahirton Lopes] Support Vector Machines[José Ahirton Lopes] Support Vector Machines
[José Ahirton Lopes] Support Vector Machines
 
Math
MathMath
Math
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 Algoritmo
 
ApostilaAlgoritmo
ApostilaAlgoritmoApostilaAlgoritmo
ApostilaAlgoritmo
 
CAP11 - PARTE 2 - Tendencia
CAP11 - PARTE 2 - TendenciaCAP11 - PARTE 2 - Tendencia
CAP11 - PARTE 2 - Tendencia
 
Resolvido Prova Tecnico da Marinha 2013
Resolvido Prova Tecnico da Marinha 2013 Resolvido Prova Tecnico da Marinha 2013
Resolvido Prova Tecnico da Marinha 2013
 
Analise Algoritmos
Analise AlgoritmosAnalise Algoritmos
Analise Algoritmos
 
Algoritmo de escalonamento Fuzzy Round Robin
Algoritmo de escalonamento Fuzzy Round RobinAlgoritmo de escalonamento Fuzzy Round Robin
Algoritmo de escalonamento Fuzzy Round Robin
 
GIS DAY 2011 @ulusofona
GIS DAY 2011 @ulusofonaGIS DAY 2011 @ulusofona
GIS DAY 2011 @ulusofona
 
Algoritmos _de_Busca_conceitos_e_aplicações.ppt
Algoritmos _de_Busca_conceitos_e_aplicações.pptAlgoritmos _de_Busca_conceitos_e_aplicações.ppt
Algoritmos _de_Busca_conceitos_e_aplicações.ppt
 
Introdução
IntroduçãoIntrodução
Introdução
 
Paa algoritmos gulosos
Paa  algoritmos gulososPaa  algoritmos gulosos
Paa algoritmos gulosos
 
Programação Dinâmica
Programação DinâmicaProgramação Dinâmica
Programação Dinâmica
 
Scaling bayesian network parameter learning with Hadoop
Scaling bayesian network parameter learning with HadoopScaling bayesian network parameter learning with Hadoop
Scaling bayesian network parameter learning with Hadoop
 
Uma abordagem BigData para Encontrar Sub-conjuntos de itens frequentes median...
Uma abordagem BigData para Encontrar Sub-conjuntos de itens frequentes median...Uma abordagem BigData para Encontrar Sub-conjuntos de itens frequentes median...
Uma abordagem BigData para Encontrar Sub-conjuntos de itens frequentes median...
 
Iteração de política
Iteração de políticaIteração de política
Iteração de política
 

Mais de Saymon Cristian Alves Oliveira (8)

Terceirização de TI
Terceirização de TITerceirização de TI
Terceirização de TI
 
Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSetApostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
 
Team Software Process (TSP)
Team Software Process (TSP)Team Software Process (TSP)
Team Software Process (TSP)
 
Criptografias - WEP vs WPA
Criptografias - WEP vs WPACriptografias - WEP vs WPA
Criptografias - WEP vs WPA
 
Backtracking
BacktrackingBacktracking
Backtracking
 
Mais sobre ead
Mais sobre ead Mais sobre ead
Mais sobre ead
 
Softwares de autoria
Softwares de autoriaSoftwares de autoria
Softwares de autoria
 
Calculo de volume de um silo utilizando integral
Calculo de volume de um silo utilizando integralCalculo de volume de um silo utilizando integral
Calculo de volume de um silo utilizando integral
 

Busca com Informação e Heurística

  • 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: