55
Inteligência Artificial Universidade da Madeira 1 Inteligência Artificial Procura Cega Agenda PARTE 1 Resolução de Problemas Representação de Problemas / Modelação Agente Solucionador de Problemas PARTE 2 Procura em Espaço de Estados: Geração e Teste Implementação Modelos de Procura Cega Em Largura Primeiro (Breath - First) Custo Uniforme (Uniform - Cost) Em Profundidade Primeiro (Depth–First) Profundidade Limitada (Depth – Limited) Aprofundamento Progressivo (Progressive Depth) Bidireccional

Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Embed Size (px)

Citation preview

Page 1: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

1

Inteligência Artificial

Procura Cega

Agenda

PARTE 1Resolução de ProblemasRepresentação de Problemas / ModelaçãoAgente Solucionador de Problemas

PARTE 2Procura em Espaço de Estados:

Geração e TesteImplementação

Modelos de Procura CegaEm Largura Primeiro (Breath - First)Custo Uniforme (Uniform - Cost)Em Profundidade Primeiro (Depth–First)Profundidade Limitada (Depth – Limited)Aprofundamento Progressivo (Progressive Depth)Bidireccional

Page 2: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

2

Resolução de Problemas

Veremos como um agente inteligente pode resolver problemas considerando as diferentes sequências de acções que pode realizar.

Quando um agente exibe este comportamento, orientado a atingir metas particulares diz-se que é um Agente solucionador de problemas.

Resolução de Problemas

Este tipo de agente deve ter:

Uma Representação adequada do seu entorno.Deve conhecer as Acções que pode efectuar.Deve poder Raciocinar sobre o efeito das suas acções no ambiente.O raciocínio neste caso fica reduzido a escolha das acções e ao seu efeito sobre o ambiente.

Page 3: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

3

O Problema da Representação

Num sentido geral, concerne à relação existente entre as distintas formas de formular um problema e a eficiência para achar uma solução ao mesmo.Embora um problema possa ser expressado de diversas formas, nem sempre é possível estabelecer uma equivalência formal entre elas.

O Problema da RepresentaçãoA representação de um problema tem uma grande influência no esforço que é requerido para resolve-lo. Um problema raramente resolve-se nos mesmos termos em que foi expressado ao início.Normalmente utilizam-se um conjunto de convenções para representar a informação. Isto chama-se modelar.

Page 4: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

4

O Problema da Representação

Quando representamos um problema estamos a criar um modelo do mesmo.

Mas, o que é um modelo?

O Problema da Representação

Um modelo consiste na interpretação de um dado domínio do problema segundo uma determinada estrutura de conceitos.Um esquema é a especificação de um modelo usando uma determinada linguagem, a qual pode ser formal ou informal.Um modelo é uma representação em pequena escala, numa perspectiva particular, de um problema.

Page 5: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

5

Os modelos ...

Ajudam a visualizar um problema, quer seja a sua situação no passado, presente ou no futuro;Permitem especificar a estrutura ou o comportamento de um problema;Permitem controlar e guiar o processo de resolução de um problema.

Abstracção

Abstracção: s. f., acção de abstrair; separação mental de uma das partes de um todo;

Abstracto: adj., que designa uma qualidade separada do objecto a que pertence;

Page 6: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

6

Um bom exemplo de modelação …

Quando o primeiro mapa do Underground de Londres foi publicado em 1908, seguia fielmente a geografia das linhas: todas as curvas e voltas das trilhas e a distância relativa entre as estações foram fielmente respeitadas.

Entretanto o propósito do mapa era mostrar aos passageiros a ordem das estações em cada linha, e as conexões entre linhas. A fidelidade do mapa dificultava obter essa informação.

de

1908

Page 7: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

7

Mapa de 1933

Em 1933, o mapa foi substituído por uma representação bem mais abstracta, que mostrava somente a conectividade entre as estações.Foram abstraídos

Detalhes da superfícieDistância entre as estaçõesOrientação das linhas

Mapa

de

1933

Page 8: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

8

Mapa de 1933O Diagrama deu ás pessoas um bom modelo conceptual; isto é, como podemos ver o sistema do Underground de Londres. É uma especificação que permite as pessoas entenderem uma implementação complexa.Além disso, embora sofreu mudanças e é revisto desde 1931, basicamente continua a ser o mesmo diagrama proposto pelo engenheiro desenhador HarryBeck.O êxito do diagrama é por causa de:

Uma apropriada escolha da abstracçãoUma elegante apresentação.

Mapa

Actual

Page 9: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

9

Mapa

Actual

Mapa

Actual

Page 10: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

10

Características de uma boa Representação

Clareza: Deve ser evidente a relação entre o modelo e o problema real.Exactidão: O modelo deve ser fiel á realidade nos aspectos relevantes para a resolução do problema.Completude: O modelo deve representar todos os aspectos relevantes para a resolução do problema.

Características de uma boa Representação

Eficiência: A representação deve poder ser utilizada em forma eficiente.Conciso: As características irrelevantes devem ser omitidas e os detalhes suprimidos.Utilidade: É importante avaliar se o modelo sugere um bom método para resolver o problema.

Page 11: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

11

Hipótese de Representação de Conhecimento (Brian Smith (1982))

Um sistema inteligente utiliza estruturas que:

Podem ser interpretadas como proposições que representam o conhecimento do sistema

Determinam o comportamento do sistema

Resolução de Problemas (Acções)

O agente deve escolher uma sequência de acções que conduzam-lhe a atingir uma meta desejada.A determinação de escolher entre várias metas possíveis normalmente inclui a ideia de custo.O processo de seleccionar a sequência de acções denomina-se Procura.

Page 12: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

12

O agente reactivoEscolhe suas acções com base apenas nas percepções actuais

Não tem estado interno Portanto, não pode pensar no futuro

Não sabe “para onde vai”.

O Agente solucionador de problemasProcura uma sequência de acções que leve a estados desejáveis (objectivos).

Agente solucionador de problemas

4 5 81 6

7 32

1 2 34 67 8

5?

Resolução de Problemas: definiçõesUm problema em IA é definido em termos de...

1) um espaço de estados possíveis, incluindo:um estado inicialum (ou mais) estado final = objectivo

Exemplo 1: dirigir do Funchal ao Porto Monizespaço de estados: todas as cidades da Ilha

Exemplo 2: jogo de 8-números início: fim:

2) um conjunto de acções (ou operadores) que permitem passar de um estado a outro

Ex1.: dirigir de uma cidade a outraEx2.: mover uma peça do jogo de 8-números

4 5 81 6

7 32

1 2 35 6

7 84

Page 13: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

13

Resolução de Problemas: definições

Definição do objectivo:Propriedade abstracta

Ex.: condição de xeque-mate no Xadrez

Conjunto de estados finais do mundoEx.: estar no Porto Moniz

Solução:Caminho (sequência de acções ou operadores) que leva do estado inicial a um estado final (objectivo).

Espaço de Estados:Conjunto de todos os estados alcançáveis a partir do estado inicial por qualquer sequência de acções.

Solucionando o problema: Representação, Procura e ExecuçãoRepresentação do problema e do objectivo:

Quais são os estados e as acções a considerar?Qual é (e como representar) o objectivo?

Procura (solução do problema):Processo que gera/analisa sequências de acções para atingir um objectivo.Solução = caminho entre estado inicial e estado final.Custo do caminho = qualidade da solução.

Execução:Executar a solução completa encontrada, (procura cega, procura informada, estratégias com adversários).

ouIntercalar execução com procura (planeamento).

Page 14: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

14

Regras de Produção

Representam conhecimento com pares de condição acçãoSe a condição (ou premissa ou antecedente) ocorre Então a acção (resultado, conclusão ou consequente) deveráocorrer.

Se o agente percebe luz do freio do carro da frente acesa, então deve travar o carro (regra de acção).Se o veículo tem 4 rodas e tem um motor então o veículo é um automóvel (novo conhecimento).

São chamadas de regras de produção porque, quando utilizadas com raciocínio progressivo, produzem novos factos a partir dos factos e regras da BC.

Esses novos factos passam a fazer parte da BC.

Exemplo: Problema das Jarras

Temos duas jarras vazias com capacidade de 4 e 3 litros cada uma. Como podemos obter exactamente 2 litros na primeira jarra? As jarras podem ser enchidas, esvaziadas ou pode-se passar o conteúdo de uma jarra para a outra.

Page 15: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

15

Exemplo: Problema das Jarras

O estado inicial é [0,0]

A condição de solução é [2,Z], já que não importa o conteúdo da segunda jarra.

Exemplo: Problema das JarrasAs regras de produção são:

R1. Encher jarra 1: [X,Y] [4,Y]R2. Encher jarra 2: [X,Y] [X,3]R3. Esvaziar jarra 1: [X,Y] [0,Y]R4. Esvaziar jarra 2: [X,Y] [X,0]R5. Passar o conteúdo de 1 a 2 até encher 2

[X,Y] / X+Y>=3 [W,3] / W = X+Y-3R6. Passar todo o conteúdo de 1 a 2

[X,Y] / X+Y<=3 [0,X+Y]R7. Passar o conteúdo de 2 a 1 até encher 1

[X,Y] / X+Y>=4 [4,Z] / Z = X+Y-4R8. Passar todo o conteúdo de 2 a 1

[X,Y] / X+Y<=4 [X+Y,0]

Page 16: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

16

Exemplo: Problema das JarrasR3. Esvaziar jarra 1: [X,Y] [0,Y]Podemos colocar a pré condição X>0 para evitar de usar a

regra desnecessariamente.

R3. Esvaziar jarra 1: [X,Y] / X > 0 [0,Y]

Exercício:Achar a solução do Problema das jarras nos próximos 10 minutos.

Sistemas de ProduçãoSão sistemas baseados em regras de produção.Consistem em 3 módulos principais:

A Base de Regras (BR): permanenteRegras de produção.

A Memória de Trabalho: temporáriaBase de factos derivados durante a “vida” do agente.Percepções do agente e factos gerados a partir da BR pelo mecanismo de inferência.

O Mecanismo (máquina) de Inferência Determina o método de raciocínio utilizado (progressivo ou regressivo).Utiliza estratégias de procura com compromisso (unificação).Resolve conflitos e executa acções.

Page 17: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

17

Arquitectura dos Sistemas de Produção

Conhecimento Permanente• factos• regras de produção

Meta-conhecimento• estratégias para resolução de

conflito

Base de RegrasConhecimento volátil• descrição da instância do problema actual• hipóteses actuais• objectivos actuais• resultados intermediários

Conjunto de conflitoconjunto de possíveis regras a serem disparadas

Memória de Trabalho

Mecanismo de

Inferência

Vantagens e Limitações dos Sistemas de Produção

VantagensAs regras são de fácil compreensão.Inferência e explicações são facilmente derivadas.Manutenção é relativamente simples, devido a modularidade.São mais eficientes que os sistemas de programação em lógica, embora menos expressivos.

DesvantagensConhecimento complexo requer muitas (milhares de) regras.Esse excesso de regras cria problemas para utilização e manutenção do sistema.Não são robustos (tratamento de incerteza).Não aprendem.

Page 18: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

18

Exemplos de formulação de problema

Jogo de 8 números:

estados = cada possível configuração do tabuleiro.estado inicial = qualquer um dos estados possíveis.Objectivo = ordenado, com branco na posição [3,3].custo do caminho = número de passos da solução.

Exercício: Pensar as regras de produção (5 minutos).

Importância da Formulação

Solução 1: R1. mover 1 para cimaR2. mover 1 para a direitaetc., 32 regras

Solução 2 (o que se move é o espaço vazio)R1. mover vazio para cimaR2. mover vazio para a direitaetc., somente 4 regras

Page 19: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

19

Árvore de procura para o “jogo dos 8 números”

4 5 81 6

7 32

5 84 1 67 32

4 5 87 1 6

32

4 5 86

7 321

up downright

1 2 34 67 8

5

down right

Importância da formulaçãoJogo das 8 Rainhas

dispor 8 rainhas no tabuleiro de forma que não se possam “atacar”.

Não pode haver mais de uma rainha em uma mesma linha, coluna ou diagonal.

Existem diferentes estados e operadores possíveis.Essa escolha pode ter consequências boas ou nefastas na complexidade da procura ou no tamanho do espaço de estados.

Page 20: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

20

Formulações para 8 RainhasFormulação A

estados: qualquer disposição com n (n £ 8) rainhas.operadores: adicionar uma rainha a qualquer quadrado.64^8 possibilidades: vai até o fim para testar se dá certo.

Formulação Bestados: disposição com n (n £ 8) rainhas sem ataque mútuo (teste gradual).operadores: adicionar uma rainha na coluna vazia mais àesquerda em que não possa ser atacada.melhor (2057 possibilidades), mas pode não haver acção possível.

Formulação Cestados: disposição com 8 rainhas, uma em cada coluna.operadores: mover uma rainha atacada para outra casa na mesma coluna.

Medida de Desempenho na Procura

Desempenho de um algoritmo de procura:1. O algoritmo encontrou alguma solução?2. É uma boa solução?

custo de caminho (qualidade da solução).3. É uma solução computacionalmente barata?

custo da procura (tempo e memória).

Custo totalcusto do caminho + custo de procura

Espaço de estados grande:compromisso (conflito) entre a melhor solução e a solução mais barata.

Page 21: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

21

Custo diferente => Solução diferente

Função de custo de caminho(1) número de cidades visitadas,(2) distância entre as cidades,(3) tempo de viagem, etc.

Solução mais barata:(1) Funchal, (via Paul da Serra), Porto Moniz(2) Funchal, São Vicente, Porto Moniz (3) Funchal, São Vicente (viaduto), Porto Moniz

Problemas clássicosTorre de HanoiMissionários e CanibaisJarro d’águaJogo dos 8 númerosMundo dos blocos Caixeiro viajanteLabirintoLobo, ovelha e verduraTravessia da ponte...

Page 22: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

22

Problemas clássicosXadrezBridgeGamãoGoMancalaDamas...

SEND+ MORE-------MONEY

Aplicações: Problemas ReaisCálculo de rotas

rotas em redes de computadores.sistemas de planeamento de viagens.planeamento de rotas de aviões.Caixeiro viajante.

Alocação (Scheduling)Salas de aula.Máquinas industriais (job shop).

Page 23: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

23

Aplicações: Problemas Reais

Navegação de robots:generalização do problema da navegação.Os robots movem-se em espaços contínuos, com um conjunto (infinito) de possíveis acções e estados

controlar os movimentos do robot no chão, dos seus braços e pernas requer espaço multi-dimensional.

Montagem de objectos complexos por robots:ordenar a montagem das diversas partes do objecto

etc...

FIM PARTE 1

Page 24: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

24

Agenda

PARTE 1Resolução de ProblemasRepresentação de Problemas / ModelaçãoAgente Solucionador de Problemas

PARTE 2Procura em Espaço de Estados:

Geração e TesteImplementação

Modelos de Procura CegaEm Largura Primeiro (Breath - First)Custo Uniforme (Uniform - Cost)Em Profundidade Primeiro (Depth–First)Profundidade Limitada (Depth – Limited)Aprofundamento Progressivo (Progressive Depth)Bidireccional

Procura em Espaço de Estados

Uma vez que o problema é bem formulado... o estado final deve ser “procurado”.Em outras palavras, deve-se usar um método de procura para saber a ordem correcta de aplicação dos operadores que levará do estado inicial ao final.Uma vez a procura terminada com sucesso, ésó executar a solução (= conjunto ordenado de operadores a aplicar).

Page 25: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

25

Procura em Espaço de Estados:Geração e Teste

Fronteira do espaço de estadosnós (estados) a serem expandidos no momento.

Algoritmo:

Obs.: o algoritmo começa com a fronteira contendo o estado inicial do problema.

1. Seleccionar o primeiro nó (estado) da fronteira do espaço de estados;- se a fronteira está vazia, o algoritmo termina com falha.

2. Testar se o nó é um estado final (solução):- se “sim, então retornar nó - a procura termina com sucesso.

3. Gerar um novo conjunto de estados pela aplicação dos operadores ao estado seleccionado;

4. Inserir os nós gerados na fronteira, de acordo com a estratégia de procura usada, e voltar para o passo (1).

Procura em Espaço de Estados: Implementação

Espaços de Estadospodem ser representados como uma árvore onde os estados são nós e as operações são arcos.

Os nós da árvore podem guardar mais informação do que apenas o estado:→ são uma estrutura de dados com 5 componentes:

1. o estado correspondente2. o seu nó pai3. o operador aplicado para gerar o nó (a partir do pai)4. a profundidade do nó5. o custo do nó (desde a raiz)

Page 26: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

26

Procura em Espaço de Estados: implementação

Algoritmo:Função-Insere: controla a ordem de inserção de nós na fronteira do espaço de estados.

função Procura-Genérica (problema, Função-Insere) retorna uma solução ou falha

fronteira ← Faz-Fila (Faz-Nó (Estado-Inicial [problema] ) )loop do

se fronteira está vazia então retorna falhanó ← Remove-Primeiro (fronteira)se Teste-Término [problema] aplicado a Estado [nó] tiver

sucessoentão retorna nófronteira ← Função-Insere (fronteira, Operadores [problema])

Métodos de ProcuraProcura exaustiva - cega

Não sabe qual o melhor nó da fronteira a ser expandido = menor custo de caminho desse nó até um nó final (objectivo).

Estratégias de Procura (ordem de expansão dos nós):

Direcção de Procura:Do estado inicial para o objectivoDo objectivo para o estado inicialProcura Bidireccional

Procura heurística – informada

Estima qual o melhor nó da fronteira a ser expandido com base em funções heurísticas => conhecimento.Estratégia de procura: (melhor escolha baseada na função heurística).Direcção de Procura: idem à procura cega.

Page 27: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

27

Critérios de Avaliação das Estratégias de Procura

Completude:A estratégia encontra sempre uma solução?

Custo do tempo:Quanto tempo gasta para encontrar uma solução?

Custo de memória:Quanta memória é necessária para realizar a procura?

Optimização/qualidade (optimality):A estratégia encontra a melhor solução quando existem diferentes soluções?

Procura Cega

Em Largura Primeiro (Breath - First)Custo Uniforme (Uniform - Cost)Em Profundidade Primeiro (Depth–First)Profundidade Limitada (Depth – Limited)Aprofundamento Progressivo (Progressive Depth)Bidireccional

Page 28: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

28

Procura Cega

Notaçãob = factor de ramificação; d = profundidade da solução; m = profundidade máxima da árvore de procura; l = limite de profundidade.

Procura em Largura(1)Procura em largura: o nó de menor profundidade, mais áesquerda é escolhido para gerar sucessores.O nó raiz é expandido primeiro

todos os nós gerados são explorados;todos os sucessores dos antecessores são explorados;e assim sucessivamente.

“Os nós de profundidade d são explorados antes dos nós de profundidade d+1”

function BREADTH-FIRST-SEARCH (problem) return solutionreturn GENERAL-SEARCH(problem, ENQUEUE-AT-END)

Page 29: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

29

Procura em Largura(2)

Se existe solução será encontrada.A solução encontrada primeiro será a de menor profundidade.Completa e óptima.Factor de ramificação (b)

deve-se considerar tempo e memória;solução com profundidade d.

1 + b2+ b3+ ... + bd

Procura em Largura(3)

Page 30: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

30

Procura em Largura(4)

Procura em Largura(5)

Page 31: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

31

Procura em Largura(6)

Procura em Largura(7)

Page 32: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

32

Procura em Largura(8)

Algoritmo Procura em Largura Primeiro

Função ProcuraLarguraPrimeiro (problema, insere_fila): solução ou falha

1. i_nós faz_fila(estado_inicial(problema))2. repete

2.1 se vazia_fila (i_nós) então2.1.1 devolve falha

fim_de_se2.2 nó retira_fila (i_nós)2.3 se teste_objectivo(nó) então

2.3.1 devolve nó senão2.3.2 insere_fila

(i_nós,espansão(nó,operadores(problema)))fim_de_se

fim_de_repetefim_de_função

Page 33: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

33

Procura Cega

Em Largura Primeiro (Breath - First)Custo Uniforme (Uniform - Cost)Em Profundidade Primeiro (Depth–First)Profundidade Limitada (Depth – Limited)Aprofundamento Progressivo (ProgressiveDepth)Bidireccional

Custo Uniforme(1)

A estratégia de procura uniforme é uma pequena modificação da estratégia de procura em largura.

Na procura em largura, primeiro expande-se o nó raiz, depois todos os nós gerados por esse, e assim sucessivamente até que se chegue ao estado meta, ou seja, todos os nós que estão numa profundidade d da árvore serão expandidos e visitados antes que os nós que estão numa profundidade d+1.

Page 34: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

34

Custo Uniforme(2)A estratégia de procura uniforme é basicamente a mesma

coisa. Invés de começar no primeiro nó expandido, que está na lista aguardando processamento, o nó que possui o menor custo (g(N)) será escolhido para ser expandido.

Se certas condições forem cumpridas, garante-se que a primeira solução encontrada será a mais barata.

Uma das condições é a seguinte: o custo do caminho nunca deve ir diminuindo conforme avançamos, noutras palavras, é importante que:

g (Sucessor)>= g (N)

em todos os nós N, g (N) é o custo conhecido de ir da raiz até o nódulo N.

Custo Uniforme(3)Abaixo apresentamos o pseudo código do mesmo.

Algoritmo Procura – Uniforme

1. Definir um conjunto L de nós iniciais2. Ordenar L em ordem crescente de custo3. Se L é vazio

Então a Procura não foi bem sucedidaSenão seja n o primeiro nó de L;

4. Se n é um nó objectivoEntão

Retornar caminho do nó inicial até N;Parar

Senão Remover n de L;Adicionar em L todos os nós filhos de n, rotulando cada nó com o seu caminho

até o nó inicial;Ordenar L em ordem crescente de custo;Voltar ao passo 3.

Page 35: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

35

Custo Uniforme(4)Análise da Complexidade

O custo de espaço e tempo, referente a estratégia de procura uniforme, pode ser visualizado no quadro abaixo:

11,111terabytes

3500 anos101414

111 terabytes35 anos101212

1 terabyte128 dias101010

11 gigabytes31 horas1088

111megabytes

18 minutos1066

1 megabytes11 segundos11,1114

11 kilobytes0.1 segundos1112

100 bytes1 milisegundo10

MemóriaTempoNósProfundidade

Quadro 1: Tempo, memória e nós gerados para se chegar ao estado meta

Custo Uniforme(5)Resumo

Princípio: expandir sempre o nó da fronteira com menor custo (dado pela função g (n)).Este método é equivalente à procura em largura primeiro quando g (n) = profundidade (n).Características:

É completoÉ óptimo

function UNIFORM-COST-SEARCH (problem) returns solutionreturn GENERAL-SEARCH (problem, COST-FN,ENQUEUE-AT-END)

Page 36: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

36

Custo Uniforme(6)

Algoritmo Procura Custo UniformeFunção ProcuraCustoUniforme (problema, insere_ordem_fila): solução ou falha

1. i_nós faz_fila(estado_inicial(problema))2. repete

2.1 se vazia_fila (i_nós) então2.1.1 devolve falha

fim_de_se2.2 nó retira_fila (i_nós)2.3 se teste_objectivo(nó) então

2.3.1 devolve nó senão2.3.2 insere_ordem_fila (i_nós,espansão(nó,operadores(problema)))

fim_de_sefim_de_repete

fim_de_função

Page 37: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

37

Procura Cega

Em Largura Primeiro (Breath - First)Custo Uniforme (Uniform - Cost)Em Profundidade Primeiro (Depth–First)Profundidade Limitada (Depth – Limited)Aprofundamento Progressivo (ProgressiveDepth)Bidireccional

Profundidade Primeiro(1)Ordem de expansão dos nós:

sempre expande o nó no nível mais profundo da árvore:

1. nó raiz2. primeiro nó de profundidade 13. primeiro nó de profundidade 2, etc.Quando um nó final não é solução, o algoritmo volta para expandir os nós que ainda estão na fronteira do espaço de estados.

Algoritmo:

função Procura-em-Profundidade (problema) retorna uma solução ou falha

Busca-Genérica (problema, Insere-no-Começo)

Page 38: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

38

Profundidade Primeiro(2)

• O nó de maior profundidade mais a esquerda éescolhido para gerar sucessores.

• Quando é expandido um nó de maior profundidade, a procura chega a um nó sem sucessor, logo o algoritmo expande o próximo nó com menor profundidade.

Profundidade Primeiro(2)

Page 39: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

39

Profundidade Primeiro(3)

Profundidade Primeiro(4)

Page 40: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

40

Profundidade Primeiro(5)

Profundidade Primeiro(6)

Page 41: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

41

Profundidade Primeiro(7)

Profundidade Primeiro(8)

Page 42: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

42

Profundidade Primeiro(9)

Profundidade Primeiro(10)

Page 43: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

43

Profundidade Primeiro(11)Esta estratégia não é completa nem é óptima.Custo de memória:

mantém na memória o caminho que está sendo expandido no momento, e os nós irmãos dos nós no caminho (para possibilitar o backtracking)⇒ necessita armazenar apenas b.m nós para um espaço de

estados com factor de expansão b e profundidade m, onde mpode ser maior que d (profundidade da 1a. solução).

Custo de tempo:O (b m), no pior caso.

Para problemas com várias soluções, esta estratégia pode ser bem mais rápida do que procura em largura.Esta estratégia deve ser evitada quando as árvores geradas são muito profundas ou geram caminhos infinitos.

Vantagem:

• Requer pouca memória- O nó objectivo pode vir a ser encontrado sem examinar a árvore por completo.

Desvantagem:• É importante que cada sequência possível possa terminar.

- Se não o algoritmo “desce” indefinidamente.

Profundidade Primeiro(12)

Page 44: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

44

Algoritmo Procura em Profundidade Primeiro

Função ProcuraProfundidadePrimeiro (problema, insere_pilha): solução ou falha

1. i_nós faz_pilha(estado_inicial(problema))2. repete

2.1 se vazia_pilha (i_nós) então2.1.1 devolve falha

fim_de_se2.2 nó retira_pilha (i_nós)2.3 se teste_objectivo(nó) então

2.3.1 devolve nó senão2.3.2 insere_pilha (i_nós,espansão(nó,operadores(problema)))

fim_de_sefim_de_repete

fim_de_função

Procura Cega

Em Largura Primeiro (Breath - First)Custo Uniforme (Uniform - Cost)Em Profundidade Primeiro (Depth–First)Profundidade Limitada (Depth – Limited)Aprofundamento Progressivo (ProgressiveDepth)Bidireccional

Page 45: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

45

• Acabamos de ver que um dos grandes problemas da Procura em Profundidade Primeiro prende-se com a incapacidade desta lidar com caminhos infinitos.

• O algoritmo de Procura em Profundidade Limitadaprocura evitar este problema fixando o nível máximo de procura.

Profundidade Limitada (1)

Profundidade Limitada (2)• Neste processo de procura gera-se um sucessor do nó em cada passo.

Por exemplo, no primeiro passo gera-se o sucessor do nóinicial.

• Assim decidimos que cada vez que temos um nósucessor, aplicamos a este um operador, de modo a obter um novo sucessor, e assim sucessivamente.

Page 46: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

46

• Em cada nó temos que deixar uma marca, que indica que os operadores adicionais podem utilizar e especificar a ordem em que devem ser aplicados.

• Uma vez alcançada a profundidade limite, a procura pára o processo de sucessores.

- Este limite permite-nos desprezar as partes do grafo, em que se supõe que não encontramos um nó objectivo, o suficientemente perto do nó inicial.

Profundidade Limitada (3)

Algoritmo Procura em Profundidade Limitada

Função ProcuraProfundidadeLimitada (problema, insere_pilha,nivel_máx): solução ou falha

1. i_nós faz_pilha(estado_inicial(problema))2. repete

2.1 se vazia_pilha (i_nós) então2.1.1 devolve falha

fim_de_se2.2 nó retira_pilha (i_nós)2.3 se teste_objectivo(nó) então

2.3.1 devolve nó senão2.3.2 insere_pilha (i_nós,espansão(nó,operadores_Nmx(problema)))

fim_de_sefim_de_repete

fim_de_função

Page 47: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

47

Procura Cega

Em Largura Primeiro (Breath - First)Custo Uniforme (Uniform - Cost)Em Profundidade Primeiro (Depth–First)Profundidade Limitada (Depth – Limited)Aprofundamento Progressivo (ProgressiveDepth)Bidireccional

• Como já vimos, se não conhecermos o valor limite máximo, estaremos condenados a uma estratégia de procura em profundidade primeiro e temos que lidar com o problema dos caminhos infinitos.

• A resposta a este problema passa pela alteração do principio da procura limitada fazendo variar esse limite entre zero e infinito.

Aprofundamento Progressivo (1)

Page 48: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

48

Aprofundamento Progressivo (2)

• Assim, o algoritmo consiste na chamada repetida do algoritmo de procura limitada para valores crescentes do limite máximo.

• Este algoritmo combina aspectos positivos da procura em largura e da procura em profundidade.

• Assim o problema dos caminhos infinitos desaparece.

Aprofundamento Progressivo (3)

Page 49: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

49

Aprofundamento Progressivo (4)

Aprofundamento Progressivo (5)

Page 50: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

50

Aprofundamento Progressivo (6)

• O algoritmo de procura por aprofundamento progressivo é uma excelente opção para problemas em que somos obrigados a recorrer a um método cego.

• O espaço de procura é grande, mas não sabemos qual éo nível máximo em que pode estar uma solução.

Aprofundamento Progressivo (7)

Page 51: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

51

Algoritmo Procura em Aprofundamento Progressivo

Função ProcuraAprofundamentoProgressivo (problema, insere_pilha): solução ou falha

1. para nivél 0 até infinito faz1.1 se procura ProcuraProfundidadeLimitada (problema, insere_pilha,nivél) então

1.1.1 devolve soluçãofim_de_se

fim_de_parafim_de_função

Procura Cega

Em Largura Primeiro (Breath - First)Custo Uniforme (Uniform - Cost)Em Profundidade Primeiro (Depth–First)Profundidade Limitada (Depth – Limited)Aprofundamento Progressivo (ProgressiveDepth)Bidireccional

Page 52: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

52

Busca Bidirecional (1)Busca em duas direcções:

para frente, a partir do nó inicial, e para trás, a partir do nó final (objectivo).

A procura pára quando os dois processos geram um mesmo estado intermediário. É possível utilizar estratégias diferentes em cada direcção da procura.

Busca Bidirecional (2)Custo de tempo:

Se o factor de expansão b nas duas direções, e a profundidade do último nó gerado é d: O(2bd/2) = O (bd/2)

Custo de memória: O (bd/2)Procura para trás gera antecessores do nó final

se os operadores são reversíveis:conjunto de antecessores do nó = conjunto de sucessores do nóporém, esses operadores podem gerar árvores infinitas!

caso contrário, a geração de antecessores fica muito difícildescrição desse conjunto é uma propriedade abstractaEx.: como determinar exatamente todos os estados que precedem um estado de xeque-mate?

Problemas também quando existem muitos estados finais (objectivos) no problema.

Page 53: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

53

Comparação das Diversas Estratégias de Busca

b = factor de ramificação; d = profundidade da solução; m = profundidade máxima da árvore de procura; l = limite de profundidade.

Critério Largura Custo Uniforme

Profun-didade

Aprofun-damento Iterativo

Tempo bd bd bm bd

Espaço bd bd bm bd

Otima? Sim Sim* Não Sim

Completa? Sim Sim Não Sim

ConclusãoOs Algoritmos de procura bidireccional são de especial interesse, porque têm o potencial para procurar pequenos espaços e reduzem significativamente o tempo de funcionamento por implementação paralela. Enquanto o último égeralmente verdade, o primeiro pode ser falso quando existem múltiplos caminhos de solução comparáveis.

Aplicado de forma incorrecta o método de procura bidireccional, pode originar os piores casos de procura, transformando-se em casos de procura unidireccionais onde os espaços de procura são distantes entre si.

Page 54: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

54

Fontes ConsultadasRussel, Norvig, Artificial Intelligence: A ModernApproach, Cap. 3.Costa, Simões, Inteligência Artificial. Fundamentos e Aplicações. Cap 3.2.Kvitca, Adolfo Resolución de problemas con inteligencia artificial. Editorial Kapeluz.Acetatos Prof. Guillermo Simari. UniversidadNacional del Sur, ArgentinaAcetatos Alunos IIA semestre 2005/2006Acetatos Prof. Geber Ramalho. CIN. Universidade Federal de Pernambuco, Brasil.

Leituras

LIVROSRussel, Norvig, Artificial Intelligence: A Modern Approach, Cap. 3.Costa, Simões, Inteligência Artificial. Fundamentos e Aplicações. Cap 3.2.

Page 55: Inteligência Artificial - cee.uma.ptcee.uma.pt/edu/iia/acetatos/iia-Procura cega-PeB.pdf · Inteligência Artificial Universidade da Madeira 3 O Problema da Representação zNum

Inteligência Artificial Universidade da Madeira

55

FIM