Você está na página 1de 12

MTODOS DE RESOLUO DE PROBLEMAS EM IA

Sumrio
busca em espao de estados reduo de problemas

Busca em espao de estados


Exemplo: jogo dos 8

2 8 1 6 7

3 4 5

prof. Luis Otavio Alvares

prof. Luis Otavio Alvares

Jogo dos 8

Estados e Operadores
Estado: uma configurao particular das peas Operador: transforma um estado em outro A configurao inicial e o objetivo do jogo so os estados inicial e final.

prof. Luis Otavio Alvares

prof. Luis Otavio Alvares

Jogo dos 8: operadores


mover a pea 1 para cima, baixo, direita, esquerda mover a pea 2 para cima, baixo, direita, esquerda mover a pea 3 para cima, baixo, direita, esquerda .... mover a pea 8 para cima, baixo, direita, esquerda total de 32 operadores

Jogo dos 8: operadores


branco para cima branco para baixo branco para a direita branco para a esquerda total de 4 operadores

prof. Luis Otavio Alvares

prof. Luis Otavio Alvares

Jogo dos 8: operadores

Representao do problema
A representao de um problema deve conter: forma de representar os estados descrio dos estados inicial e objetivo descrio dos operadores

prof. Luis Otavio Alvares

prof. Luis Otavio Alvares

Exemplo de representao: listas


Estado inicial: [2,8,3,1,6,4,7,0,5] Estado objetivo: [1,2,3,8,0,4,7,6,5] exemplos de operadores
[a,b,c,d,e,f,g,h,0] --> [a,b,c,d,e,f,g,0,h] [a,b,c,d,e,f,g,h,0] --> [a,b,c,d,e,0,g,h,f] total de 24 casos possveis p/ esquerda p/ cima

Exemplo de representao: matrizes


2 8 3 1 0 4 7 6 5 Estado Inicial a b 0 c d e f g h 1 2 3 8 0 4 7 6 5 Estado Objetivo a 0 b c d e f g h

Exemplo de operador:
esquerda

prof. Luis Otavio Alvares

prof. Luis Otavio Alvares

Grafo de estados
n: representa um estado arco: representa um operador

Grafo de estados: exemplo

prof. Luis Otavio Alvares

prof. Luis Otavio Alvares

Exerccio
Temos 2 recipientes, um de 5 litros que est inicialmente cheio de gua e outro de 2 litros que est vazio. O problema obter exatamente 1 litro de gua no recipiente de 2 litros, sendo que apenas duas aes so possveis: passar a gua de um recipiente para o outro e jogar a gua de um recipiente fora. Somente os 5 litros iniciais esto disponveis. Representar o grafo de estados do problema
prof. Luis Otavio Alvares

Soluo do exerccio
(5,0) (0,0) (3,2)

(0,2)

(3,0)

(0,0)

(2,0)

(0,0)

(1,2)

(0,0)

(0,2)

(1,0)

(0,0) (2,0) (0,0) (0,1)


prof. Luis Otavio Alvares

Mtodos de busca em grafos de estado


Percorre-se o grafo at encontrar o estado objetivo Tipos de busca:
busca cega (sistemtica) busca heurstica

Busca em largura ou amplitude


Para cada estado so aplicados todos os operadores possveis - busca por nvel

Ordem: operadores 1, 2, 3, 4, 5, 6, 7, 8, 9
prof. Luis Otavio Alvares prof. Luis Otavio Alvares

Exemplo
profund. 1 3 5 7 9 11 13 ns 10 1110 111.110 107 109 1011 1013 tempo 0,001s 0,11s 11s 19min 31horas 129 dias 35 anos memria 10Kb 1megabyte 106 MB 10GB 1 terabyte 101 terabytes 10 petabytes

Busca em Profundidade
Examina-se os ns sempre em direo s folhas, afastando-se da raiz.

os nmero pressupem um fator de ramificao =10, 10.000 ns/segundo e 1000 bytes/n

Ordem: operadores 1, 3, 7, 8, 4, 9, 2, 5, 6
prof. Luis Otavio Alvares prof. Luis Otavio Alvares

Busca em profundidade: consideraes


Vantagem: exige muito menos memria
10 bilhes de vezes menos no caso do exemplo anterior, para profundidade 13

Outras formas sistemticas


Busca em profundidade limitada Busca bidirecional

Desvantagem:
no garante soluo tima

prof. Luis Otavio Alvares

prof. Luis Otavio Alvares

Busca heurstica
o processo de busca dirigido atravs de informaes que auxiliam a seleo dos operadores funo de avaliao

Funo de avaliao: exemplo do jogo dos 8


Exemplo 1: soma das diferenas entre os nmeros das peas Exemplo 2: nmero de peas que est fora de seu lugar Exemplo 3: soma das distncias entre cada pea e sua posio objetivo
prof. Luis Otavio Alvares

prof. Luis Otavio Alvares

Busca heurstica - exemplo


exemplo: jogo dos 8
Estado inicial: [2,8,3,1,0,4,7,6,5] Estado objetivo: [1,2,3,8,0,4,7,6,5] Soma das diferenas: 1+6+0+7+0+0+0+0+0 = 14

Busca heurstica - exemplo


Estado inicial: [2,8,3,1,0,4,7,6,5] Estado objetivo: [1,2,3,8,0,4,7,6,5] sucessores possveis soma das diferenas a) [2,0,3,1,8,4,7,6,5] 1+2+0+7+8+0+0+0+0=18 b) [2,8,3,0,1,4,7,6,5] 1+6+0+8+1+0+0+0+0=16 c) [2,8,3,1,4,0,7,6,5] 1+6+0+7+4+4+0+0+0=22 d) [2,8,3,1,6,4,7,0,5] 1+6+0+7+6+0+0+6+0=26 Seria escolhida a jogada b)
prof. Luis Otavio Alvares

escolhido o operador que gerar a menor diferena depois de aplicado O objetivo alcanado quando a soma das diferenas for igual a zero.
prof. Luis Otavio Alvares

Busca pela melhor escolha


busca heurstica em cada etapa escolhemos o n mais promissor gerado at o momento utiliza uma funo de avaliao que retorna o custo de se chegar a uma soluo (quanto menor melhor) o mtodo A* derivado deste, combinando o custo de chegar ao n atual com o custo estimado at o objetivo
prof. Luis Otavio Alvares

Exemplo
Passo 1:
(3) B A C (5) D (2)

prof. Luis Otavio Alvares

Exemplo (cont.)
Passo 1:
(3) B A

Exemplo (cont.)
A

Passo 2:
(3) B C (5) D D (2) E (4) A F (5)

C (5)

Passo 2:
(3) B C (5) D

Passo 3:
B C (5) D F (5)

E (4)

G
prof. Luis Otavio Alvares

(3)

H (6)

E (4)

F (5)

prof. Luis Otavio Alvares

Algoritmo geral de busca em grafos


1- Crie uma rvore de busca consistindo s do nodo inicial, n0. Coloque n0 numa lista chamada ABERTOS 2- Crie uma lista chamada FECHADOS, inicialmente vazia. 3- Se ABERTOS est vazio, termine com falha. 4- Selecione o primeiro nodo de ABERTOS. Remova-o de ABERTOS e coloque-o em FECHADOS. Chame o nodo de n. 5- Se n um nodo objetivo, termine com sucesso, com a soluo sendo o caminho inverso, de n a n0. 6- Expanda o nodo n, gerando um conjunto M de sucessores. Coloque-os em ABERTOS. 7- Reordene a lista ABERTOS. 8- Volte para o passo 3.
prof. Luis Otavio Alvares

Exemplo
g=distncia percorrida h=custo estimado para soluo minimizar g+h
1+4 1+4 1+5 1+5 0+3

2+4

2+5

2+3

2+5

3+2

prof. Luis Otavio Alvares

4+0

Uma aplicao real: layout de VLSI


O projeto de chips muito complexo Um VLSI tpico tem milhes de portas A posio e as conexes de cada porta so cruciais Duas tarefas difceis: layout das clulas e a rota para as conexes

Outras aplicaes
Encontrar melhores rotas Trajetrias de robs Seqncia de montagem de peas

prof. Luis Otavio Alvares

prof. Luis Otavio Alvares

Reduo de problema
Resoluo por reduo do problema
O mtodo de resoluo por reduo de problemas raciocina a partir do problema a ser resolvido, dividindo-o em subproblemas e estes em sub-subproblemas at que o problema original seja reduzido a um conjunto de problemas primitivos de soluo imediata.

prof. Luis Otavio Alvares

prof. Luis Otavio Alvares

Exemplo: torres de Hani


Um nmero n qualquer de argolas de tamanhos diferentes so colocadas em trs pinos. O objetivo transferir todas as argolas do primeiro para o ltimo pino, respeitando as restries:
o nico movimento possvel movimentar uma nica argola de um pino para outro apenas a argola de cima pode ser movimentada uma argola de maior tamanho no pode ser colocada sobre uma argola menor

Exemplo: torres de Hani

prof. Luis Otavio Alvares

prof. Luis Otavio Alvares

Exemplo: torres de Hani


pode ser resolvido por busca em espao de estados considera-se cada configurao de pinos e argolas como um estado mas a soluo s ser aplicvel a um nmero fixo de argolas

Torres de Hani
Atravs de reduo de problemas, tm-se uma soluo vlida para qualquer nmero de argolas, com 3 subproblemas:
1- mover n-1 argolas do pino onde esto para o pino no-objetivo 2- mover uma argola do pino inicial para o pino objetivo 3- mover n-1 argolas do pino onde esto para o pino objetivo
prof. Luis Otavio Alvares

prof. Luis Otavio Alvares

Torres de Hani Torres de Hani


Subp.1: passar A e B p/ pino 2 subp.2: passar C p/ pino 3 Subp.3: passar A e B p/ pino 3 Subp.1: passar A e B p/ pino 2
subp.1: passar A p/ pino 3 subp.2: passar B p/ pino 2 subp.3: passar A p/ pino 2

subp.2: passar C p/ pino 3 Subp.3: passar A e B p/ pino 3


subp.1: passar A p/ pino 1 subp.2: passar B p/ pino 3 subp.3: passar A p/ pino 3

prof. Luis Otavio Alvares

prof. Luis Otavio Alvares

Representao para soluo por reduo de problemas


descrio do problema inicial operadores de transformao - reduzem um
problema a outro(s) mais simples

Exemplo de representao
(i j k) para descrever um estado do jogo, onde
i representa o pino da argola C (a maior) j representa o pino da argola B (a intermediria) k representa o pino da argola A (a menor) O estado (3 3 1), por exemplo, representa a argola C no pino 3, B no pino 3 (acima de C) e A no pino 1.

descrio dos problemas primitivos - de


soluo imediata

prof. Luis Otavio Alvares

prof. Luis Otavio Alvares

Exemplo de representao
descrio do problema: os trs subproblemas:
1. (111) (122) 2. (122) (322) 3. (322) (333)

Grafos E/OU
Podemos representar a reduo de problemas atravs de rvores onde cada n representa um subproblema.
possuir carro

(111) (333)

ganhar carro

adquirir carro

problemas primitivos: movimentao de uma argola livre


obter dinheiro
prof. Luis Otavio Alvares prof. Luis Otavio Alvares

comprar carro

Grafos E/OU

Exerccio
Um tabuleiro com cinco casas est organizado conforme abaixo. O objetivo inverter as posies das fichas E e D, isto , as duas fichas E devem ocupar as casas inicialmente ocupadas pelas D e vice-versa.

As peas E s andam para a esquerda e as D s para a direita As operaes possveis so: mover uma pea para uma casa vazia adjacente saltar uma pea adjacente, se houver uma casa vazia aps a pea adjacente

Represente a soluo do problema atravs de um grafo de estados

prof. Luis Otavio Alvares

prof. Luis Otavio Alvares

Exerccio
Uma pessoa, um lobo, um carneiro e um cesto de alface esto beira de um rio. Dispondo de um barco onde pode carregar apenas um dos outros trs, a pessoa deve transportar tudo para a outra margem. Determine uma srie de travessias que respeitem a seguinte condio: em nenhum momento devem ser deixados juntos o lobo e o cordeiro, ou o cordeiro e o cesto de alface, sem a pessoa. Represente a soluo do problema atravs de um grafo de estados

prof. Luis Otavio Alvares

Você também pode gostar