Você está na página 1de 44

Universidade Estadual do Oeste do Paran Curso de Bacharelado em Cincia da Computao

Inteligncia Artificial

Resoluo de problemas por meio de algoritmos de busca Aula 2 18/03


Claudia Brandelero Rizzi
Cascavel - PR

Roteiro
Reviso: Soluo de Problemas de IA e espao de estados Reviso: Busca cega Algoritmos de busca
Busca em amplitude/largura Busca em profundidade Busca em profundidade limitada Busca em profundidade de custo uniforme Busca de aprofundamento iterativo Busca bidirecional

Dicas para evitar estados repetidos

Soluo de Problemas com IA


Um problema em IA definido em termos de... 1) um espao de estados possveis, incluindo:
um estado inicial um (ou mais) estado final = objetivo exemplo 1: ir de Cascavel a Curitiba de automvel
espao de estados: todas as cidades da regio

exemplo 2: jogo de 8-nmeros


incio: 4 5 8 1 6 7 2 3 fim: 1 2 3 45 6 7 8

Soluo de Problemas:
2) um conjunto de aes (ou operadores) que permitem passar de um estado a outro
ex1. como fazer para se deslocar de uma cidade a outra ex2. como fazer para mover uma pea do jogo de 8-nmeros (puzzle)

Soluo de Problemas
Definio do objetivo:
Exemplo 1: estou em Curitiba? Exemplo 2: alcancei a configurao determinada no jogo?

Soluo:
caminho (seqncia de aes ou operadores) que leva do estado inicial a um estado final (objetivo).

Espao de Estados:
conjunto de todos os estados alcanveis a partir do estado inicial por qualquer seqncia de aes.

Solucionar problemas em IA
formulao e busca
Formulao do problema e do objetivo:
quais so os estados e as aes a considerar? o que possvel abstrair? qual (e como representar) o objetivo?

Busca (soluo do problema):


processo que gera/analisa seqncias de aes para alcanar um objetivo soluo = caminho entre estado inicial e estado final. custo do caminho = custo para encontrar a soluo.

Exemplo 1
Jogo de 8 nmeros:

1 2 3 45 6 7 8

estados = cada possvel configurao do tabuleiro estado inicial = qualquer um dos estados possveis teste de trmino = ordenado, com branco na posio [3,3] operadores = mover branco (esquerda, direita, para cima e para baixo) custo do caminho = nmero de passos para chegar soluo

rvore de busca para o jogo dos 8 nmeros


4 5 8 1 6 7 2 3
right

up

down

5 8 4 1 6 7 2 3
down right

4 5 8 1 6 7 2 3

4 5 8 7 1 6 2 3

1 2 4 5 7 8

3 6

Exemplo 2
Ida de Cascavel para Curitiba:
estados = cada possvel cidade do mapa do Paran estado inicial = Cascavel teste de trmino = estar em Curitiba operadores = mover-se de uma cidade para outra custo do caminho = nmero de cidades visitadas, distncia percorrida, tempo de viagem, grau de divertimento, outros.

Exemplo 2

Custo diferente => Soluo diferente


Funo de custo de caminho
(1) nmero de cidades visitadas, (2) distncia entre as cidades, (3) tempo de viagem, (4) quantidade de combustvel, (5) Possveis paradas...

Medida de Desempenho na Busca


Desempenho de um algoritmo de busca:
1. O algoritmo encontrou alguma soluo? 2. uma boa soluo?
custo de caminho (qualidade da soluo)

3. uma soluo computacionalmente vivel?


custo da busca (tempo e memria)

Custo total
custo do caminho + custo de busca

Espao de estados grande:


compromisso (conflito) entre a melhor soluo e a soluo mais barata

Sntese
Portanto, um problema pode ser definido em IA formalmente por quatro componentes: 1) Estado inicial: o estado inicial dado. 2) Aes possveis: uma descrio das aes que esto disponveis; 3) O teste de objetivo: este teste determina se um dado estado um estado objetivo. 4) Uma funo de custo de caminho: esta funo atribui um custo numrico a cada caminho.

Sntese
H dois tipos bsicos de busca: 1) Busca sem informao ou busca cega 2) Busca com informao ou busca heurstica

Estratgias de busca sem informao / busca cega


Busca cega o conjunto de estratgias de busca que no tm nenhuma informao sobre estados, alm daquelas fornecidas na definio do problema; Tudo o que elas podem fazer gerar sucessores e distinguir um estado objetivo de um estado no-objetivo;

Estratgias de busca sem informao / busca cega


As estratgias que sabem se um estado no-objetivo mais promissor que outro so chamadas estratgias de busca com informao ou busca heurstica.

Algoritmos de busca cega


Algoritmos de busca cega
Busca em amplitude/largura Busca em profundidade Busca em profundidade limitada Busca em profundidade de custo uniforme Busca de aprofundamento iterativo Busca bidirecional

Busca em amplitude/largura
Busca em amplitude, largura ou extenso uma estratgia simples em que o n raiz expandido primeiro, em seguida todos os sucessores do n raiz, depois os sucessores desses ns so expandidos e assim por diante. Todos os ns em um nvel so expandidos antes que os ns do nvel seguinte o sejam.

Jarras de gua - amplitude


0 (0,0)

(4,0)

(0,3)

(4,3) 8

(0,0) 5

(1,3) 10

(4,3) 7

(0,0) 6

(3,0) 9

Busca em Amplitude
Esta estratgia s d bons resultados quando a profundidade da rvore de busca pequena. Requisitos de tempo e memria (ilustrao R/N)
Profundidade Ns Tempo Memria

2 4 6 8 10 12 14

1100 0,11 segundos 1 megabyte 111.100 11 segundos 106 megabytes 107 19 minutos 10 gigabytes 109 31 horas 1 terabyte 1011 129 dias 101 terabytes 1013 35 anos 10 pentabytes 1015 3523 anos 1 exabyte

Busca em amplitude
Observaes: Os requisitos de memria so um problema maior para a busca em amplitude do que o tempo de execuo; Requisitos de tempo ainda constituem um fator importante (prof.12 = 35 anos); Ela tima quando os custos de todos os passos so iguais, porque sempre expande o n mais raso no-expandido.

Busca de custo uniforme


Busca de custo uniforme uma extenso da busca em amplitude, e tima para qualquer funo de custo de passo. Em vez de expandir o n mais raso, ela expande o n n com o caminho de custo mais baixo (se todos os custos forem iguais ela idntica busca em amplitude). No se importa com o nmero de passos; se importa apenas com a soluo (tima).

Busca de Custo Uniforme

Busca de Custo Uniforme

Busca de Custo Uniforme

Busca de Custo Uniforme

Jarras de gua - profundidade


0 (0,0)

(4,0)

(0,3)

(4,3) 8

(0,0) 5

(1,3) 10

(4,3) 7

(0,0) 6

(3,0) 9

Busca em profundidade
Passos: Construa uma rvore com o estado inicial na raiz; Gere um sucessor a partir da raiz; Em cada n folha, gere outro sucessor; Continue este processo at que uma das regras produza um estado-meta ou ausncia de sucessores. Se no houver sucessores, retorne ao estado anterior e crie novo sucessor

Busca em profundidade
Para problemas com vrias solues, esta estratgia pode ser bem mais rpida do que busca em amplitude. Esta estratgia deve ser evitada quando as rvores geradas so muito profundas ou geram caminhos infinitos.

Busca em profundidade com retrocesso


Busca em profundidade com retrocesso uma extenso da busca em profundidade, e utiliza menos memria. Apenas um sucessor gerado de cada vez, em lugar de todos os sucessores; Cada n parcialmente expandido memoriza o sucessor que deve gerar em seguida.

Busca em profundidade limitada- 2 variao


Na busca em profundidade limitada, d-se um limite, l, para a profundidade da busca. Os ns nesta profundidade so tratados como se no tivessem sucessores. Limites de profundidade podem se basear no conhecimento que se tem sobre o problema. Ex.: define-se l=19, para o menor caminho entre duas cidades, mas sabe-se que qualquer cidade pode ser alcanada por outra em no mximo 9 passos. Ento l=9.

Busca em profundidade limitada

Busca de aprofundamento iterativo 3 variao


Combina as vantagens de busca em largura com busca em profundidade. D bons resultados quando o espao de estados grande e de profundidade desconhecida. A cada interao o algoritmo realiza uma busca completa em profundidade sob o limite do aprofundamento corrente. Em sntese: usa a busca em profundidade limitada com limites crescentes at encontrar um objetivo.

Busca de aprofundamento iterativo

Busca de aprofundamento iterativo

Busca Bidirecional
Busca em duas direes:
para frente, a partir do n inicial, e para trs, a partir do n final (objetivo)

A busca implementada fazendo-se uma ou ambas as buscas verificarem cada n antes de ele ser expandido, para ver se o n est na borda da outra rvore de busca; nesse caso, encontrada uma soluo, ou seja, a busca pra quando os dois processos geram um mesmo estado intermedirio;

Busca Bidirecional
possvel utilizar estratgias diferentes em cada direo da busca.

Busca Bidirecional
Por exemplo, se um problema tem profundidade de soluo d=6, e se cada sentido executa a busca em extenso em um n de cada vez, no pior caso, as duas buscas se encontraro quando cada uma delas tiver expandido todos os ns da profundidade 3, exceto um.

Como evitar estados repetidos


Um dos problemas da busca em estados a possibilidade de desperdiar tempo expandindo estados que j foram encontrados e expandidos. Para alguns problemas essa possibilidade nunca ocorre; para outros, freqente, como, aqueles problemas em que existem aes reversveis (localizao de rotas, quebracabea de blocos deslizantes).

Como evitar estados repetidos


A formulao eficiente do problema contribui em grande escala para evitar estados repetidos. Outra dica podar estados repetidos visando reduzir a rvore a um tamanho finito, gerando apenas a parte da rvore que inclui o grafo de espao de estados.

Como evitar estados repetidos


Portanto, os estados repetidos podem fazer um problema solvel se tornar insolvel, se o algoritmo no os detectar. Outra dica importante manter mais ns na memria Algoritmos que esquecem sua histria esto condenados a repeti-la.

Exerccio 1
Defina com suas prprias palavras os termos a seguir:
Estado Espao de estados rvore de busca N de busca Objetivo Ao Funo sucessor Fator de ramificao

Exerccio 2
Ler e estudar o captulo 3 do Russell e Norvig. Sobre a primeira especificao do trabalho...
Individual ou em duplas H um tema de interesse (busca)? Sugesto: caminhos entre cidades - mapa do Paran

Referncias
RUSSEL, S.; NORVIG, P.; 1995. Inteligncia Artificial. 3. ed. Rio de Janeiro: Campus, 2003. RABUSKE, R. Inteligncia Artificial. Florianpolis: Editora da UFSC, 1995. GUDWIN, R. Representao e soluo de problemas. So Paulo: Unicamp, sd. (lminas) Mapa do IBGE Lminas e materiais disponibilizados na internet.

Você também pode gostar