Sei sulla pagina 1di 8

INSTITUTO FEDERAL DE EDUCAO, CINCIA E TECNOLOGIA DO SUL DE

MINAS GERAIS - CAMPUS MUZAMBINHO


Bacharelado em Cincia da Computao
_________________________________________________________________












RESOLUO DE PROBLEMAS POR MEIO DE BUSCA CEGA








Alunos: Francisco Balbino Neto
rick










______________________________________________________________________
Muzambinho 2014

1. Introduo
Algoritmos de busca so uma das mais poderosas abordagens para a resoluo de
problemas em Inteligncia Artificial. Trata-se de mecanismos de resoluo de problemas
universais que sistematicamente exploram alternativas e encontram uma sequncia para a
soluo do problema proposto. Encontrada a sequncia, h de se considerar se se trata de
uma soluo eficiente ou no. Outra questo relevante refere-se aos recursos necessrios
soluo, ou seja, tempo e memria necessrios para chegar-se ao resultado.
Antes de formular um problema e utilizar mtodos de busca para solucion-lo
importante formular o objetivo a ser alcanado. Os objetivos auxiliam a organizar o
comportamento do programa atravs da limitao dos objetivos que se pretende alcanar.
Dessa forma, a formulao do objetivo o primeiro passo na resoluo de problemas. Um
objetivo um conjunto de estados do mundo exatamente os estados em que o objetivo
satisfeito. Aes podem ser vistas como aquelas que causam transies entre estados do
mundo.
Ao formular o problema deve-se definir o objetivo, ou seja, definindo o estado final que
satisfaz o agente; detalhar seu estado inicial; a funo que leva aos prximos estados; o teste
de objetivo, que determina se o estado final foi alcanado; e o custo. Essa formulao define o
espao de estados possveis, atravs do estado inicial juntamente com todos os estados
alcanveis atravs da funo, formando um grafo com ns representando cada estado, e
arcos entre ns representando aes. Mas esta formulao deve ser bem feita, pois o espao
de estados definido a partir da formulao impacta na eficincia de busca da soluo.

Logo um problema pode ser definido formalmente pelos seguinntes componentes:
Um espao de estados possveis, incluindo:
o um estado inicial, que descreve a situao inicial do problema;
o um (ou mais) estado final (objetivo);
Uma descrio das aes (ou operadores) so aquelas que esto disponveis para
sua execuo e/ou que permitem passar de um estado a outro.
Teste de objetivo que determina se o estado o estado objetivo.
Custo de caminho que atribui um custo numrico a cada caminho que reflita sua
prpria medida de desempenho.

O problema de busca pode ser representado graficamente atravs de uma rvore de busca.
Uma rvore de busca definida como um conjunto de ns, geralmente representados na forma
de diagramas. A rvore deve possuir um n inicial (onde a busca inicia-se) e um n objetivo
(onde a busca termina) que so, frequentemente, conectados por ns intermedirios. O
objetivo da busca encontrar um caminho que ligue o n inicial ao n final. Como entrada tem-
se a descrio do n inicial, do objetivo e de um procedimento que conduza os ns aos seus
sucessores. Como sada, uma sequncia de ns que comeam no n inicial e terminam no n
objetivo.

2. Busca Cega
A busca de uma soluo feita atravs da procura de um caminho no espao de
estados que leva do estado inicial para o estado final. Na busca cega ou exaustiva, realizada
uma pesquisa sistemtica do espao de estados, porm no utilizam nenhum conhecimento
para guiar a busca. Os principais mtodos de busca cega so: Busca em Largura, Busca em
Profundidade, Busca em Profundidade Limitada e Busca de Aprofundamento Iterativo.
A ao de percorrer o espao de estados feita de acordo com uma estratgia de
controle que seleciona um estado e um operador que ser aplicado ao estado para gerar os
estados subsequentes. A aplicao dos operadores nos estados iniciais e intermedirios feita
at que se chegue a um estado objetivo. Este processo, medida que vai sendo executado, vai
gerando a rvore de busca. Quando se encontra o estado final o processo interrompido com
sucesso. Dependendo do problema, a soluo pode ser o prprio estado final ou o caminho
entre o estado inicial e o estado final.

3. Medidas de Desempenho na Busca
Um dos obstculos mais difceis de superar quando so aplicadas tcnicas de
Inteligncia Artificial aos problemas do mundo real a magnitude e complexidade da maioria
das situaes. Nos primeiros anos da pesquisa em Inteligncia Artificial, desenvolver bons
mtodos de busca era o principal objetivo. Os pesquisadores acreditam que a busca a base
da resoluo de problemas, que um ingrediente crucial da inteligncia.
O desempenho de um algoritmo de busca depende de alguns fatores:
Completeza: A estratgia sempre encontra uma soluo quando existe alguma;
Otimizao: A estratgia sempre encontra a melhor soluo quando existem diferentes
solues;
Complexidade de tempo: Quanto tempo gasta para encontrar uma soluo;
Complexidade de espao: Quanta memria necessria para realizar a busca.

4. Estratgia dos Mtodos de Busca Cega
As estratgias dos mtodos de busca apenas geram sucessores e verificam se o estado
objetivo foi atingido. As estratgias de busca sem informao se distinguem pela ordem em que
os ns so expandidos. H vrias estratgias de busca, so elas as mais conhecidas:

1. Busca em extenso ou em nvel
Todos os ns de um nvel de profundidade da rvore so examinados e
expandidos antes dos ns do nvel seguinte. Esta busca est associada estrutura de
dados de uma fila do tipo first-in-first-out (FIFO), em que o primeiro elemento a entrar
na fila o primeiro a sair dela, garantindo que os ns de
profundidade mais baixa (mais prximo da raiz) sejam examinados primeiro e todos os
sucessores recm-gerados sejam colocados no final da fila.
Os ns examinados devero ser armazenados em outro vetor na memria, pois
pode ser necessrio consulta-los para conhecer o caminho da raiz ao estado-objetivo.
Logo, todos os ns da rvore devero ser armazenados em memria.
A soluo tima no necessariamente o n objetivo mais raso. A busca em
extenso ser tima se a relao do custo de caminho for decrescente em relao
profundidade do n, ou se, por exemplo, todas as aes possuir o mesmo custo.
Sendo assim, a busca inicia pelo n raiz e verifica se o estado-objetivo, se no for ela
expande os ns da raiz, armazena na fila e verifica se cada um deles e assim
sucessivamente conforme a imagem abaixo.


Figura 1 - Busca em extenso


2. Busca de custo uniforme
Expande o n em ordem crescente de custo, ou seja, os ns de menor custo so
expandidos primeiro, logo, se na rvore todos os passos tiverem o mesmo custo esta
estratgia ser idntica a busca em extenso. Nesta estratgia no importa o nmero
de passos que o caminho tem, mas o seu custo total. Por isso, a busca de custo
uniforme pode explorar rvores enormes com passos de baixo custo, mas
sem utilidade, antes de explorar rvores curtas de passos grandes, porm objetivos.
O algoritmo para busca de custo uniforme bem semelhante busca em
extenso, modificando apenas a ordem dos ns na fila, no caso, os ns so ordenados
em ordem crescente de
custo, conforme linha de destacada no algoritmo abaixo.

3. Busca em profundidade
Sempre expande o n mais profundo na rvore de busca. A busca feita at
que um n no tenha mais resultado para a funo sucessor, ou seja, at que o n no
tenha mais sucessores, ento, a busca retorna ao n mais raso que no est totalmente
explorado. Para implementar esta estratgia pode utilizar a estrutura de dados de Fila
do tipo last-in-first-out (LIFO), nela o ltimo item a entrar a primeiro a sair.
Geralmente, esta busca implementada com funes recursivas. Este tipo de
funo faz referncia a ela prpria em seu cdigo. Em cada n a funo chamada, se
o retorno for nulo a busca retorna a um n mais raso.
Uma grande caracterstica desta estratgia a necessidade de pouca memria,
pois ela s armazena um nico caminho, da raiz at um n de folha, juntamente com os
ns ainda no expandidos, medida que forem totalmente expandidos podem ser
removidos da memria.
A desvantagem desta busca que ela pode escolher um caminho longo ou
infinito, quando a soluo estaria em um caminho que levaria a meta bem mais prxima
da raiz. Se a busca explorar uma subrvore infinita que no tem a soluo, a busca
nunca termina, logo, nunca chegar ao estado objetivo se estiver numa sub rvore de
outra extremidade, por esta questo esta estratgia no completa.

Figura 2 - Busca em profundidade

4. Busca em profundidade limitada
Esta estratgia semelhante busca em profundidade, porm para resolver o
problema da profundidade ilimitada estabelece-se um limite L, resolvendo assim o
problema de caminhos infinitos, mas pode causar incompleteza do problema. A
pesquisa admite que os ns de profundidade L no possuem sucessores. De toda
forma, um mtodo eficaz se conhecemos um bom limite antes de resolvermos o
problema.

5. Busca de aprofundamento iterativo em profundidade
A busca por aprofundamento iterativo uma estratgia geral, usada com frequncia em
combinao com a busca em profundidade, que encontra o melhor limite de
profundidade. Ela faz isso aumentando gradualmente o limite primeiro 0, depois 1,
depois 2, e assim por diante at encontrar o objetivo. Esta estratgia tima e
completa, apresentando bons resultados quando o espao de estados grande e a
profundidade desconhecida.

6. Busca bidirecional
Nesta estratgia duas buscas so executadas simultaneamente, uma partindo
do estado inicial e outra partindo do estado objetivo. O ponto de parada quando as
duas buscas se encontram, este ponto chamado de estado intermedirio.
A cada interao, os papis de estado inicial e objetivo se invertem, at que seja
encontrado um caminho ligando os dois estados inicialmente fornecidos.
Umas das dificuldades desta pesquisa que o estado objetivo deve ser conhecido para
iniciar a busca, bem como os predecessores do n precisam ser computveis, no caso
da busca inversa (realizada a partir do objetivo).

5. Problemas Clssicos da Busca Cega

Potrebbero piacerti anche