Tópicos em Sistemas Inteligentes

18
PUCC 1 Tópicos em Sistemas Inteligentes

description

Tópicos em Sistemas Inteligentes. Agenda - Aula 04. Buscas Largura Profundidade Mista. Espaço de Busca. Muitos problemas de interesse prático possuem ESPAÇO de BUSCA tão grande que não podem ser representados por um grafo explícito. - PowerPoint PPT Presentation

Transcript of Tópicos em Sistemas Inteligentes

Page 1: Tópicos em Sistemas Inteligentes

PUCC 1

Tópicos em Sistemas Inteligentes

Page 2: Tópicos em Sistemas Inteligentes

PUCC 2

Agenda - Aula 04

• Buscas

•Largura

•Profundidade

•Mista

Page 3: Tópicos em Sistemas Inteligentes

PUCC 3

Espaço de Busca

• Muitos problemas de interesse prático possuem ESPAÇO de BUSCA tão grande que não podem ser representados por um grafo explícito.

• Elaborações nos procedimentos de busca básicos vistos anteriormente, onde procura-se representar todo o espaço de busca num grafo, tornam-se necessários.

Page 4: Tópicos em Sistemas Inteligentes

PUCC 4

Elaborações

• Três pontos básicos são importantes:– necessitamos ser especialmente cuidadosos em

COMO formulamos esses problemas para a busca

– devemos ter métodos para representar buscas em grandes grafos de maneira IMPLÍCITA.

– Devemos utilizar métodos eficientes para a busca nesses grafos enormes.

Page 5: Tópicos em Sistemas Inteligentes

PUCC 5

Modelamento = Arte

• No problema do empilhamento de blocos não é difícil conceber uma estrutura de dados para representar os diferentes estados do problema e as ações capazes de alterá-los.

• Em problemas REAIS, isso é difícil. Requer uma profunda análise do problema– Simetrias– Ignorar detalhes irrelevantes– Encontrar abstrações apropriadas

Page 6: Tópicos em Sistemas Inteligentes

PUCC 6

Quebra-Cabeças

• Jogo de ordenar números. Vamos pensar no de 8 números e um espaço em branco.

• Qual um forma interessante de representar esse problema?

• Quantos movimentos são possíveis?

• Quantos estados existem?

Page 7: Tópicos em Sistemas Inteligentes

PUCC 7

Representações

• A parte do grafo de Estado que é “encontrável” a partir do estado inicial é representado implicitamente por uma descrição do estado inicial e pela descrição dos efeitos das ações que podem ser tomadas em cada estado.

• É possível transformar, a princípio, uma representação implícita de um grafo em uma representação explícita.

Page 8: Tópicos em Sistemas Inteligentes

PUCC 8

Representações

• Para isso, geramos todos os descendentes do nó inicial (aplicando todos os operadores nesse nó) depois aplicamos o mesmo tipo de procedimento para cada um deles.

• Como fica o caso do quebra cabeças dos números?

Page 9: Tópicos em Sistemas Inteligentes

PUCC 9

Representações

• Mais formalmente, três componentes básicos para a representação implícita:– Uma descrição através da qual rotulamos o nó

inicial. Essa descrição é uma estrutura de dados que modela o estado inicial do ambiente.

– Funções de transição de estado. Transforma a descrição do estado atual na descrição do estado resultante após a ação (OPERADORES)

– A definição de um objetivo

Page 10: Tópicos em Sistemas Inteligentes

PUCC 10

Buscas

• Existem dois grandes grupos de busca:– não temos nenhuma razão para preferir uma parte

do grafo de Estado em relação a outra para a busca do objetivo (buscas sem informações)

– temos informações específicas que auxiliam a busca (Heurísticas).

Page 11: Tópicos em Sistemas Inteligentes

PUCC 11

Buscas sem Informações

• Essas buscas aplicam OPERADORES sem o uso de qualquer conhecimento específico especial do domínio do problema.

• Esse procedimento gera um grafo de Estado explícito aplicando-se todos os operadores possíveis ao nó inicial, depois aplicando todos os OPERADORES possíveis a todos os sucessores diretos e assim por diante.

Page 12: Tópicos em Sistemas Inteligentes

PUCC 12

Função Sucessora

• Quando aplicada a um nó produz o conjunto total dos nós que podem ser produzidos ao se aplicar todos os operadores possíveis aquele nó.

• Cada aplicação dessa função é denominada Expansão de um nó.

Page 13: Tópicos em Sistemas Inteligentes

PUCC 13

Busca em Largura

• Aplique a função sucessora ao nó inicial • Repita o procedimento para cada nó

descendente.• Propriedades

– quando o nó alvo é encontrado, encontra-se também o caminho de comprimento mínimo até o objetivo

– requer o armazenamento e a geração de uma árvore cujo tamanho é exponencial de acordo com o fator de ramificação da árvore.

Page 14: Tópicos em Sistemas Inteligentes

PUCC 14

Busca em Profundidade

• Gera os sucessores de um nó um de cada vez. Em cada nó existe uma decisão de que operador deve ser aplicado primeiro, qual o próximo e assim por diante.

• Uma indicação é deixada em cada nó para indicar que operadores adicionais devem ser aplicados ao nó quando retornamos a ele caso seja necessário.

• Backtracking• Limitador de Profundidade

Page 15: Tópicos em Sistemas Inteligentes

PUCC 15

Busca em Profundidade

• A busca em profundidade nos abriga a salvar apenas aquela parte da árvore que está sendo explorada mais as indicações dos nós que ainda não foram expandidos totalmente.

• Os requerimentos de memória são portanto lineares com relação ao limitador de profundidade.

• Quando encontra o alvo?

Page 16: Tópicos em Sistemas Inteligentes

PUCC 16

Busca “Mista”

• A técnica chamada Aprofundamento Iterativo, (Iterative Deepening) aproveita a linearidade da memória requerida pela busca em profundidade e garante que o nó alvo de menor profundidade é encontrado (como na busca em amplitude).

• Nessa técnica, buscas em profundidades sucessivas são realizadas e, em cada uma, o limitante de profundidade é incrementado de 1, até que o nó alvo seja encontrado.

Page 17: Tópicos em Sistemas Inteligentes

PUCC 17

Aprofundamento Iterativo

Page 18: Tópicos em Sistemas Inteligentes

PUCC 18

Aprofundamento Iterativo

• Calcule o número de nós expandidos para o pior caso em uma busca em árvore com fator de ramificação b e cujo nó alvo mais raso está no nível d e é o último nó a ser gerado nessa profundidade.

• Para surpresa, o número de nós expandidos por esse método não é muito maior que o número utilizado pela busca em amplitude.

• Qual é a diferença em relação à busca em amplitude?