Um Breve Estudo Sobre Buscas No Contexto de IA: 1. Introduc Ao
Um Breve Estudo Sobre Buscas No Contexto de IA: 1. Introduc Ao
Um Breve Estudo Sobre Buscas No Contexto de IA: 1. Introduc Ao
1. Introduca o
Este artigo foi realizado como atividade complementar do Grau A da disciplina de in-
teligencia artificial, tendo como objetivo, exercitar o conhecimento de sobre como os
problemas sao formulados e resolvidos em IA, utilizando estrategias de busca informadas
e nao informadas.
2. Conceitos gerais
Em IA e possvel construir um conjunto de estados para encontrar uma sequencia de
aco es cuja aplicaca o resolve um problema. O processo de tentar encontrar uma sequencia
de aco es que leve de um estado ate um estado objetivo e chamado de busca. Conforme
dito, um problema pode ser composto em cinco itens, conforme a figura abaixo:
A formulaca o de objetivo nada mais e do que a definica o do conjunto de estados
que satisfazem o objetivo. A formulaca o do problema e a decisao de quais estados devem
ser considerados, neste passo, tambem podem ser abstradas informaco es que nao sao
consideradas pertinentes a` resoluca o do problema. Ja na etapa de busca, temos o exame
de varias sequencias de aco es possveis e as estrategias de controle possveis.
2.1. Busca
Ao longo desta subseca o, abordaremos os principais topicos sobre o tema de busca, tais
como: buscas cegas, bucas informadas, estruturas de controle, etc..
Metodos de busca consistem:
Geraca o dinamica de uma a rvore, representando os estados alcanca veis a partir de
um estado;
A seleca o do estado a ser expandido e determinado pela estrategia de controle;
O processo para quando o estado designado por um no folha corresponde ao ob-
jetivo.
Podemos definir as estruturas de controle necessarios nos seguintes pontos:
No: Consiste em um estado, no pai, operador utilizado para produzir o no, sua
profundidade e o custo total ate este no;
Fila: Contem todos os nos produzidos que aguardam para ser expandidos. Estes
nos constituem a fronteira da busca;
A avaliaca o da estrategia de controle consiste em:
Completeza: Garantia de encontrar uma soluca o, se existir;
Otimalidade: Estrategia de busca encontra uma soluca o o tima;
Figura 1. Caption
Uma soluca o para um problema e uma sequencia de aco es que conduzam do es-
tado inicial para o estado objetivo;
Uma soluca o o tima e uma soluca o com o menor custo de caminho.
Metodos de busca cega fazem uma pesquisa sistematica do espaco de estados, porem, nao
utilizam nenhum conhecimento para guiar esta busca. Os tres principais metodos cegos
sao a busca em profundidade, busca em largura e a busca com custo uniforme. A
aca o de percorrer o espaco de estados e feita de acordo com a estrategia de controle que
seleciona um estado e um operador que sera aplicado ao estado para gerar os estados
subsequentes. A aplicaca o dos operadores nos estados iniciais e intermediarios e feita
ate que se encontre um estado objetivo. A medida que o processo e executado, e gerada a
a rvore de busca. Quando se chega ao estado final, o processo e interrompido com sucesso.
Dependendo do problema, a soluca o pode ser o proprio estado final ou o caminho entre o
estado inicial e o estado final.
2.1.2. Busca informada
3. Situaca o analisada
Para execuca o deste trabalho, utilizei como base uma implementaca o em Python, que
foca na resoluca o do problema que consiste na movimentaca o de um personagem dentro
de um labirinto com obstaculos. Os seguintes estados sao possveis no arquivo CSV que
compoe a matriz deste labirinto:
0 - Representa a sada do labirinto;
1 - Representa um caminho livre para deslocamento;
2 - Representa um obstaculo;
3 - Representa o estado inicial(posica o) do personagem.
O personagem pode se deslocar ao longo do labirinto, podendo realizar movimentos para
cima e para baixo e para os lados, assim como movimentos diagonais. Um exemplo de
matriz possvel seria:
7 5
0 1 1 1 1
2 2 2 2 1
2 2 2 1 1
1 2 1 2 1
2 2 2 2 1
1 2 2 1 1
2 2 1 3 1
Aonde o elemento 7 seria o numero de linhas e o numero 5 representaria o numero
de colunas. Optei por este problema por ser algo previamente abordado em sala de aula e
por possuir das mais diversas implementaco es e exemplos pela internet,facilitando assim
o meu entendimento sobre o conteudo. Para a resoluca o do problema, foram aplicadas as
buscas A* e BFS, uma informada e outra nao informada.
4. Tecnicas utilizadas
Conforme informado anteriormente, foram utilizadas duas abordagens para a resoluca o do
problema, uma envolvendo uma busca informada (que utiliza uma determinada heurstica)
e outra que testa os estados exaustivamente, ate o encontro ou nao da soluca o. Falando
especificamente da busca A*, e aplicada uma funca o heurstica baseada na distancia per-
corrida pelo personagem, acrescentando a distancia euclidiana gentre a localizaca o do
nosso personagem e o seu destino. A distancia fque ja foi percorrida e de facil calculo,
pois e apenas um acrescimo a cada movimentaca o. Ja a distancia ate o ponto final, e
uma estimativa do tamanho em linha reta entre os dois pontos, ja que esta se trata de uma
estimativa otimista (o menor caminho entre dois pontos e sempre uma reta). Sendo as-
sim, o calculo desta heuristica e : h = f(estado) + g(estado, meta). O calculo da distancia
euclidiana entre um Ponto1 e um Ponto2 e dado por:
p
g(P onto1, P onto2) = (x1 x2)2 + (y1 y2)2 (1)
Ja a estrategia de busca do BFS visa realizar a expansao de cada estado que esta
em sua fila, por exemplo, se agora estou na posica o (6,3), e possvel que meus proximos
passos sejam [(6, 3), (5, 3), (4, 4), (3, 4), (2, 4), (1, 4),etc..], a ideia sempre sera verificar
o estado que a mais tempo esta na lista, e descarta-lo apos a verificaca o em cada etapa
do BFS. Apos um estado ser expandido, os proximos serao adicionados a` fila e ficam
linkadosao estado que os gerou, permitindo que ao final da busca o caminho do estado
de inicio ate o estado final possa ser reconstrudo.
7. References
Bibliographic references must be unambiguous and uniform. We recommend giving the
author names references in brackets, e.g. [Knuth 1984], [Boulic and Renault 1991], and
[Smith and Jones 1999].
The references must be listed using 12 point font size, with 6 points of space
before each reference. The first line of each reference should not be indented, while the
subsequent should be indented by 0.5 cm.
Referencias
Boulic, R. and Renault, O. (1991). 3d hierarchies for animation. In Magnenat-Thalmann,
N. and Thalmann, D., editors, New Trends in Animation and Visualization. John Wiley
& Sons ltd.
Knuth, D. E. (1984). The TEX Book. Addison-Wesley, 15th edition.
Smith, A. and Jones, B. (1999). On the complexity of computing. In Smith-Jones, A. B.,
editor, Advances in Computer Science, pages 555566. Publishing Press.