SENAI - SisInteligentes - Aula6 - IA - Buscas.ppt [Modo de ......Page 31 Problema do Caixeiro...

13
1 Inteligência Artificial Buscas Page 2 Onde podemos usar a I.A. Problemas que não possuem soluções algortimicas Problemas que possuem soluções algoritimicas, mas são impraticáveis (Complexidade, Tempo e Custo); Problemas cujas as soluções estão baseados na inteligência humana. Problemas cujo o nível de complexidade pode variar; A problematica e a lógica da resolução é conhecida e tratável numa sequência lógica; Problemas que a solução podem passar de uma posição para a outra, num determinado método de buscas método de buscas. Contextualizando... Page 3 O que são Métodos de Buscas? Métodos de busca são uma das mais poderosas abordagens para resolução de problemas em I.A; Trata-se de mecanismos de resolução de problemas universais que sistematicamente exploram alternativas e encontram uma seqüência para solução do problema proposto; Encontrada a seqüência (eficácia), há de se considerar que se trata de solução eficiente (custo do caminho - qualidade da solução). Outra questão relevante refere-se aos recursos necessários à solução, ou seja, tempo e memória necessários para chegar-se ao resultado. Tudo isso está diretamente relacionado à complexidade do algoritmo utilizado na busca. Page 4 Agente Orientado a Metas O projetista não determina um mapeamento entre as percepções e ações, mas determina que objetivo o agente deve alcançar É necessário que o próprio agente construa um plano de ações que atinjam seu objetivo; (como se o próprio agente construísse seu programa); Ou seja; Desenvolver programas, não com os passos da solução de um Desenvolver programas, não com os passos da solução de um problema, mas que produzam estes passos problema, mas que produzam estes passos

Transcript of SENAI - SisInteligentes - Aula6 - IA - Buscas.ppt [Modo de ......Page 31 Problema do Caixeiro...

Page 1: SENAI - SisInteligentes - Aula6 - IA - Buscas.ppt [Modo de ......Page 31 Problema do Caixeiro Viajante Um caixeiro viajante deve visitar 4 cidades. Qual é a rota mais curta? Goiânia

1

Inteligência ArtificialBuscas

Page � 2

� Onde podemos usar a I.A.

– Problemas que não possuem soluções algortimicas

– Problemas que possuem soluções algoritimicas, mas s ão impraticáveis (Complexidade, Tempo e Custo);

– Problemas cujas as soluções estão baseados na intel igência humana.

– Problemas cujo o nível de complexidade pode variar;

– A problematica e a lógica da resolução é conhecida e tratável numa sequência lógica;

– Problemas que a solução podem passar de uma posição para a outra,

num determinado método de buscasmétodo de buscas .

Contextualizando...

Page � 3

O que são Métodos de Buscas?

� Métodos de busca são uma das mais poderosas abordagens para resolução de problemas em I.A;

� Trata-se de mecanismos de resolução de problemas universais que sistematicamente exploram alternativas e encontram uma seqüência para solução do problema proposto;

� Encontrada a seqüência (eficácia), há de se considerar que se trata de solução eficiente (custo do caminho - qualidade da solução).

� Outra questão relevante refere-se aos recursos necessários à solução, ou seja, tempo e memória necessários para chegar-se ao resultado.

� Tudo isso está diretamente relacionado à complexida de do algoritmo utilizado na busca.

Page � 4

Agente Orientado a Metas

� O projetista não determina um mapeamento entre as percepções e ações, mas determina que objetivo o agente deve alcançar

� É necessário que o próprio agente construa um plano de ações que atinjam seu objetivo; (como se o próprio agente construísse seu programa);

� Ou seja;

Desenvolver programas, não com os passos da solução de um Desenvolver programas, não com os passos da solução de um problema, mas que produzam estes passosproblema, mas que produzam estes passos

Page 2: SENAI - SisInteligentes - Aula6 - IA - Buscas.ppt [Modo de ......Page 31 Problema do Caixeiro Viajante Um caixeiro viajante deve visitar 4 cidades. Qual é a rota mais curta? Goiânia

2

Um Problema ExemploUm Problema Exemplo

Page � 6

Exemplo: Xadrez

� Um problema de busca pode ser idealizado por meio da abordagem dos seguintes elementos:

1. Um ou mais estados iniciais . Exemplo: o lance atual no jogo de xadrez;2. Um ou mais estados finais (objetivo ). Exemplo: o xeque-mate;3. Um espaço de estados. Ou seja, todas as possíveis posições intermediárias entre o estado inicial e o estado final. Num jogo de xadrez, o estado inicial é o lance atual; o estado final é o objetivo (xeque-mate); estados intermediários são todos os lances possíveis entre o estado inicial e o xeque-mate, por qualquer seqüência de ações;4. Um conjunto de ações que permitem passar de um estado para outro. Exemplo: as regras do jogo.

Page � 7

Outro exemplo

� Temos dois jarros, um com capacidade para 4 litros de água e outro com capacidade para 3 litros .

� Utilizando somente operações de encher , esvaziar e derramar a água de um jarro no outro, o agente deve encontrar uma sequência de operações que deixa o jarro com capacidade para 3 litros com 2 litros de água.

� Quais os estados e as transições?

Page � 8

Page 3: SENAI - SisInteligentes - Aula6 - IA - Buscas.ppt [Modo de ......Page 31 Problema do Caixeiro Viajante Um caixeiro viajante deve visitar 4 cidades. Qual é a rota mais curta? Goiânia

3

Page � 9

Conceituando...

� Uma árvore de busca é definida como um conjunto de nósnós (ou nodos), freqüentemente representados na forma de diagramas.

� A árvore deve possuir um nó inicial nó inicial (onde a busca inicia-se) e um nó nó objetivoobjetivo (onde a busca termina), freqüentemente intercalados por nósnósintermediáriosintermediários

� Geralmente existem seqüências de nós paralelas à seqüência principal, cujo caminho precisa ser pesquisado ou descartado através de técnicas algorítmicas avançadas.

� O objetivo da busca é encontrar um caminho que ligue o nó inicial ao nó objetivo.

� Como entrada tem-se a descrição do nó inicial, do objetivo e de um procedimentoprocedimento que conduza aos nós sucessores; como saída, uma seqüência de nós iniciada no nó inicial e acabada no nó objetivo.

Page � 10

Conceituando...

� Resumindo:

� O mundo do agente tem um conjunto de estados possíveis (muitas vezes este conjunto é infinito)

� Existem transições entre os estados do mundo, formando um grafo.

� São utilizados algoritmos para encontrar um caminho neste grafo partindo do estado inicial (atual) até o estado objetivo utilizando para isso as regras de produção para o cenário.

Page � 11

Árvores de Busca

� Coloca-se o estado inicial como nodo raiz

� Cada operação sobre o estado raiz gera um novo nodo (chamado de sucessor)

� Repete-se este processo para os novos nodos até gerar o nodo que representa o estado meta

� Estratégia de busca : que nodo escolher para expandir

Page � 12

Outro Exemplo

� Exemplo do aspirador de pó

– Um robô aspirador de pó deve limpar uma casa com duas posições. As operações que ele sabe executar são:

• Sugar/Aspirar

• Ir para a posição da esquerda

• Ir para a posição da direita

– Como o aspirador pode montar um plano para limpar a casa se inicialmente ele está na posição direita e as duas posições têm sujeira?

– Quais os estados possíveis do mundo do aspirador e as transições?

Page 4: SENAI - SisInteligentes - Aula6 - IA - Buscas.ppt [Modo de ......Page 31 Problema do Caixeiro Viajante Um caixeiro viajante deve visitar 4 cidades. Qual é a rota mais curta? Goiânia

4

Page � 13

Outro Exemplo

Page � 14

Árvore de Estados do Exemplo do Aspirador

Page � 15

Por que estados?

� As informações do mundo real são absurdamente complexas, é praticamente impossível modelá-las todas;

� No exemplo do aspirador, o mundo dele tem várias outras informações: a cor do tapete, se é dia, de que material o aspirador é feito, quanto ele tem de energia, como é o nome do/a proprietário/a, ....

� A noção de estado é utilizada para abstrair esses detalhes e considerar somente o que é relevante para a solução do problema

� O mesmo se dá com as operações modeladas: são abstrações das operações reais (ir para a posição da direita implica em várias outras operações).

Page � 16

� Busca é mais uma forma de modelar um problema:

� Definir os estados

� Definir as transições

� Escolher um algoritmo de busca

Page 5: SENAI - SisInteligentes - Aula6 - IA - Buscas.ppt [Modo de ......Page 31 Problema do Caixeiro Viajante Um caixeiro viajante deve visitar 4 cidades. Qual é a rota mais curta? Goiânia

5

Page � 17

Nodos da Árvore

� Cada nodo tem:

– o estado que representa

– o nodo pai

– o operador que o gerou

– sua profundidade na árvore de busca

– o custo de ter sido gerado (dentado por g)

– opcionalmente, os nodos sucessores

Page � 18

Explicando o Problema dos Jarros de Água

3 lt4 lt

Objetivo: 2 litros no jarro 4 lt

Sem limite de Água

Page � 19

Espaço de Estados do Problema dos Jarros de Água

O espaço de estados pode ser representado por dois inteiros x e y:

x = litros no jarro de 4 litros

y = litros no jarro de 3 litros

Espaço de Estados = (x,y)

tal que x ∈∈∈∈ {0,1,2,3,4}, y ∈∈∈∈ {0,1,2,3}

Page � 20

Início dos Jarros de Água e Estados Meta

� O Estado Inicial ocorre quando ambos os jarros estão vazios:

(0,0)

� O Estado Meta é qualquer estado que possua 2 litros de água no jarro de 4 litros:

(2,n) para qualquer n

Page 6: SENAI - SisInteligentes - Aula6 - IA - Buscas.ppt [Modo de ......Page 31 Problema do Caixeiro Viajante Um caixeiro viajante deve visitar 4 cidades. Qual é a rota mais curta? Goiânia

6

Page � 21

Estados do Jarros de Água

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

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

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

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

(4,0)

(4,1)

(4,2)

(4,3)

Page � 22

Operações com Jarros de Água

� Colocar 3 lt. no jarro 3

� Colocar 4 lt. no jarro 4

� Esvaziar jarro 3

� Esvaziar jarro 4

� Coloca o conteúdo do jarro 3 no jarro 4

� Outros ???

(x,y) -> (x,3)(x,y) -> (4,y)(x,y) -> (x,0)(x,y) -> (0,y)(0,y) -> (y,0)

Page � 23

Restrições

� Não é possível colocar água em um jarro cheio.

� Restrições são associadas para que uma operação possa ser aplicada sobre um estado

(x,y), x < 4 -> (x,0)

(x,y), y < 3 -> (0,y)

(x,y), x + y <= 4 -> (y,0)

Page � 24

Regras de Produção

� Uma operação e as condições que devem ser satisfeitas (restrições) antes da operação poder ser aplicada é chamada de regra.

� Tipicamente é necessário mesclar regras gerais e regras específicas.

� Informação prévia sobre a solução tende a produzir regras específicas e aumentar a velocidade da busca.

Page 7: SENAI - SisInteligentes - Aula6 - IA - Buscas.ppt [Modo de ......Page 31 Problema do Caixeiro Viajante Um caixeiro viajante deve visitar 4 cidades. Qual é a rota mais curta? Goiânia

7

Page � 25

Domínio de Regras Específicas

�Para o problema dos Jarros de Água :(0,2) -> (2,0)

(x,2) -> (0,2)

�Utilizando estas regras soluções podem ser encontradas rapidamente!

Page � 26

Grafo dos Jarros de Água

(0,0)

(4,0)

(4,3) (1,3)(0,0)

(0,3)

(4,3) (3,0)(0,0)

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.Uma solução possível: (4, 0) (1, 3) (1, 0) (0, 1) (4, 1) (2, 3)

Page � 27 Page � 28

Resolução de Problema como um Espaço de Estados

� Uma possível estratégia para solução de problemas é listar todos os estados possíveis.

� A solução do problema consiste em percorrer o espaço de estados a partir do estado inicial até o estado meta.

� É necessário desenvolver um conjunto de operadores que modifique um estado para um outro estado.

Page 8: SENAI - SisInteligentes - Aula6 - IA - Buscas.ppt [Modo de ......Page 31 Problema do Caixeiro Viajante Um caixeiro viajante deve visitar 4 cidades. Qual é a rota mais curta? Goiânia

8

Page � 29

Definição do Problema como um Espaço de Estados (Cont.)

� Conjunto de Estados possíveis.

� Conjunto de operações possíveis que modifiquem um estado.

� Especificação de um estado inicial(s).

� Especificação de um estado meta(s).ExercíciosExercícios

Page � 31

Problema do Caixeiro Viajante

� Um caixeiro viajante deve visitar 4 cidades. Qual é a rota mais curta?

Goiânia Uberlândia Uberaba Belo Horizonte

Goiânia 0 594 524 619

Uberlândia 594 0 184 78

Uberaba 524 184 0 233

Belo Horizonte

619 78 233 0

Page � 32

Número de caminhos = (n-1)!• n=4 � p=6• n=5 � p=24• n=10 � p=362,880• n = 20 � p=2,44*1018

A

B C D

CC B BDD

CD D B CB

594

524619

184 184

184

78

78

78

233233

78 184

233

1011 905 786 835 1036 881

233

Problema do Caixeiro Viajante

Cresce rápido demais, o que impedeo uso de técnicas de força bruta

A = GoiâniaB = UberlândiaC = UberabaD = Belo Horizonte

Page 9: SENAI - SisInteligentes - Aula6 - IA - Buscas.ppt [Modo de ......Page 31 Problema do Caixeiro Viajante Um caixeiro viajante deve visitar 4 cidades. Qual é a rota mais curta? Goiânia

9

Page � 33

Exercício – Para entregar

� Um corintiano, um palmeirense, um flamenguista e um vascaíno estãoem uma margem de um rio que querem atravessar.

� O barco que existe só pode levar duas pessoas de cada vez e não podevoltar sozinho para a outra margem.

� O corintiano não pode ficar sozinho com o palmeirense em umamargem, assim como o flamenguista e o vascaíno, senão eles brigam.

� Crie uma representação computacional do problema, e construa umaárvore relativa ao processo de busca, tanto em profundidade quanto emlargura

Estratégias de BuscaEstratégias de Busca

Page � 35

� Percorrer o espaço de estados a partir de uma árvore de busca ;

� Expandir o estado atual aplicando a função sucessor, gerandonovos estados;

� Busca: seguir um caminho, deixando os outros para depois;

� A estratégia de busca determina qual caminho seguir.

Page � 36

Estratégias de busca

� Há duas estratégias de busca – Buscas Cegas:

1. Busca em profundidade: vai até o final do ramo atual na busca da solução, antes de tentar um caminho alternativo, ou seja, dá-se prioridade aos sucessores do último nó adicionado à árvore;2. Busca em largura : resolve todos os pontos de decisão no nível atual, antes de aprofundar-se no próximo nível da árvore, o que fará somente se não encontrar a solução no nível atual.

As estratégias acima possuem variações que procuram minimizar-lhes o custo.

Page 10: SENAI - SisInteligentes - Aula6 - IA - Buscas.ppt [Modo de ......Page 31 Problema do Caixeiro Viajante Um caixeiro viajante deve visitar 4 cidades. Qual é a rota mais curta? Goiânia

10

Page � 37

Busca em Profundidade

� Algoritmo

• Estabeleça alguma ordenação às regras;

• Enquanto existem regras aplicáveis

Aplique a próxima regra e gere um novo estado;

Faça uma busca em profundidade (BP) no novo estado.

• fim_enquanto

Page � 38

Características da Busca em Profundidade

� Não necessita armazenar o caminho

de uma grande lista de estados.

� Pode encontrar uma solução

muito rapidamente.

� “Poda” é possível

Exemplo: utilização de heurísticas

� Pode facilmente encontrar problemas com ciclos (loops).

d

cb

a

ge

h i kj

f

Page � 39

Estratégias de poda da árvore de busca - Exemplos

� Um nodo não gera um sucessor igual a seu pai

� Um nodo não gera um sucessor igual a um de seus ascendentes

� Um nodo não gera um sucessor que já exista na árvore de busca

Page � 40

Busca em Largura

� A estratégia de árvore para o problema dos jarros de água é um exemplo de busca em largura.

� Algoritmo geral para BL:

crie lista_nós e a inicialize com o estado inicial;

enquanto um estado meta não é encontrado ou lista_nós != {};

remova o primeiro elemento de lista_nós, primeiro_nó;

aplique todas as regras possíveis em primeiro_nó e adicione os estados resultantes em lista_nós;

fim_enquanto

Page 11: SENAI - SisInteligentes - Aula6 - IA - Buscas.ppt [Modo de ......Page 31 Problema do Caixeiro Viajante Um caixeiro viajante deve visitar 4 cidades. Qual é a rota mais curta? Goiânia

11

Page � 41

Características da Busca em Largura

� Se há uma solução, BL a encontrará.

� Encontrará a solução mínima (o caminho mais curto até a solução).

� Não terá problemas com ciclos.

� Requer espaço disponível para armazenar

lista_nós, que pode ser muito grande!!!

d

cb

a

ge

h i kj

f

Page � 42

Critérios para Avaliação de Estratégias de Busca

� Completo: o algoritmo encontra a solução se ela existir

� Ótimo: o algoritmo encontra a solução de menor custo

� Tempo: quanto tempo o algoritmo leva para encontrar a solução no pior caso

� Espaço: quanto de memória o algoritmo ocupa

Page � 43

43

Qualidade de uma solução

� Todos os métodos de busca devem ser comparados em termos das seguintes características:

– Completeza : Se existe uma solução, ela será encontrada?

– Otimalidade : A melhor solução será necessariamente encontrada?

– Complexidade de tempo: Quanto tempo demora para encontrar a solução?

– Complexidade de espaço : Quanta memória será usada?

Avaliação de AlgoritmoAvaliação de Algoritmo

Page 12: SENAI - SisInteligentes - Aula6 - IA - Buscas.ppt [Modo de ......Page 31 Problema do Caixeiro Viajante Um caixeiro viajante deve visitar 4 cidades. Qual é a rota mais curta? Goiânia

12

Page � 45

Miniprob.:quebra-cabeças 8 peças

� Estados: posição das 8 peças e do vazio

� Estado inicial : qqr estado

� Função sucessor : esq., dir., acima, abaixo

� Teste : verifica se o estado corrente é o objetivo

� Custo :cada passo=1; caminho=num. d passos

Page � 46

Algumas definições

Page � 47

47

Outro Exemplo

� Problemas dos Blocos.

� Começando com um esquema específico, tentar chegar a umaconfiguração final.

� Só vale mover um bloco para uma posição desocupada.

� Exemplo de função heurística a usar: soma das distâncias dosblocos até seu lugar correto (distância Manhattan).

Page � 48

48

Olha um exemplo:

Page 13: SENAI - SisInteligentes - Aula6 - IA - Buscas.ppt [Modo de ......Page 31 Problema do Caixeiro Viajante Um caixeiro viajante deve visitar 4 cidades. Qual é a rota mais curta? Goiânia

13

Page � 49

49

Tentem vocês...

� Configurações inicial e final:

� Tentem também usar os métodos em profundidade e largura.